首页 运维干货开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介

开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介

大家好!

又到了分享的时间,今天给大家分享一款,开源,免费跨平台的devops批量运维工具。让我们先听听,作者是怎么吹的:

简介

作者道:

开源+免费+跨平台安装+100%兼容shell,

跨平台:主控机可以安装在win,linux上。可以管理win,linux被控机。

类似于Puppet,Ansible,pipeline。号称比ansible好10倍,具有批量远程执行脚本,定时运行脚本的,devops运维工具。运维手中的瑞士军刀!

devops批量运维工具《卡死你3000》。

我道:“先等等,名字咋这么怪呢?”

为神马叫《卡死你3000》?

作者答:名字而已,瞎编!

v1.0版开发代号=《卡死你3000》,源于要你命3000。《卡死你3000》最大的好处之一,就是100%兼容你编写的旧的bash,csh,zsh脚本。还有win上的bat,vbs脚本等。

项目内还封装了,姥姥语音,表情包斗图乐等。再加上旧bat,bash脚本,致力于3000个脚本工具。。。

v2.0版开发代号(已经发布)=《穿云箭》

寓意:一支穿云箭,千万被控机,从斧头帮;)赶来相见。

我道:“哦,我明白了。原来3000是指,可以四处调用各种脚本,工具多的意思。”

注意:软件正式名字叫《kaiiit家的饭店》

那它是怎么工作的?

作者道:

“它控制win被控机基于winrm协议。它控制linux被控机,基于ssh协议。”

【主控机】控制【被控机】基于【开源 + 免费的】powershell语言。

那它怎么比ansible好10倍呢?

作者答:

  • 1 《卡死你3000》控制win被控机无敌。无需安装agent。

  • 2 脚本远程传递变量参数时,可以直传 对象 ,此功能世界上唯一!比其他批量运维工具强一代!

$从被控机返回的_对象结果_而不是字符串 = krun.ps1 { 被控机命令1 } -allparameter $主控机本地对象1,$主控机本地对象2

上述【主控机脚本a.ps1】,把主控机上的.net对象,或powershell对象【主控机本地对象1】,【主控机本地对象2】
传递到被控机,由【被控机命令1】接收参数,
执行结果对象,从被控机返回到主控机变量【$从被控机返回的对象结果而不是字符串】中。

大家都是面向对象编程语言的老司机,还需要我解释 远程对象 比字符串的好处吗?

  • 3 卡死你3000调用并100%兼容你的旧脚本,linux命令。

你旧的shell脚本,不管是.py,还是.sh,放在主控机,然后在主控机脚本内写上kct 主控机路径 被控机路径,即可复制到被控机。
比如你在卡死你3000脚本中写:

bash -f /xxx/你的bash脚本

python -c /你的项目/b.py

还不明白?卡死你3000,100%兼容你已有的linux脚本,而ansible你要学它n多模块。

yaml有如下缺点:

1 关键字不兼容。Ansible,阿里云的运维工具云助手,腾讯云的蓝鲸,都用yaml,但它们之间的关键字不兼容。

2 Yaml还有文本缩进问题,或空格问题。

3 脚本套脚本像喝水般容易,管道容易。Yaml套yaml难,yaml套脚本难。

4 bash中有for,cshell中有foreach,powershell中有for,foreach。For是shell脚本人最常用的功能。

自打ansible来了之后,它用yaml关键字定义和jinjia2代替了for。可以说for的腿被被打折了。

5 管道传值如“a脚本语言编写的脚本1 |
b脚本语言编写的脚本1”,这在基于yaml的语言中,难以实现。在基于脚本的卡死你3000中,天生支持。

6 还有必不可少的复制文件功能,使用起来也很简单。还支持跨平台win,linux文件互传。

7 主控机支持win。win,linux被控机操作一致。用win主控机时可以用声音,背景图片报警。

简单而言,脚本学用简单,用途广。《卡死你3000》和ansible,都用powershell控制win,有一半是相同的。
它们最大的区别是,卡死你3000基于脚本。而Ansible基于yaml。用ansible,蓝鲸等,就必须学习它的关键字,用它的模块。

作为批量运维工具,它还支持定时任务,循环周期最短10秒钟,主要用于监控应用,磁盘,内存等。

我还为卡死你3000定时任务主控机,开发了主控机双机高可用功能。高可用功能等。。

我道:“嗯,挺能吹的,那么”

它和shell相比,有哪些好处呢?

作者道:

自动批量运维却离不了脚本。但这么多年为啥没有shell的自动批量运维项目?

为啥让ansible成气候了?只因单纯的shell功能有限,不足以支撑整个自动批量运维项目。

让我尝试分析出几个原因:

  • 1 ansible项目为啥linux下调用py,powershell,而不调用shell?有一点可能是shell变量是非面向对象脚本。Py,powershell是面向对象脚本,powershell有日期,布尔,精度数值,队列等变量类型。

支持管道传递强类型对象!请看:

‘abc’| foreach-object {\$_.toupper()}

远程传递强类型对象!请看:

\$从远程返回的日期型对象 = krun -powershell代码块 { get-date }

  • 2 powershell,卡死你3000,中有多线程调用脚本功能。多线程带来了快速,轻量,大批量的好处,也带来了不如多进程稳定的坏处。线程的讲解以后再说。

  • 3 win上powershell强,win没有自带sshd,也是一个问题。

  • 4 shell基于ssh传递多行脚本代码块不行,传递脚本文件麻烦。多层传递没有。卡死你3000只需要在主控机上指定脚本文件名,多行脚本块,则自动复制到每台被控机执行。从a机传递代码块到b机,b机再到c机,很容易。用于穿透堡垒机。

  • 5 更严谨,开发效率高!支持在win上经vscode+ssh模块远程开发,远程调试,单步,断点,执行鼠标选中代码。

你道:

主页在哪?求你来点干货吧?

开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介插图

注意: 上述lsbkj命令,已经改为lsnode

https://gitee.com/chuanjiao10/kasini3000

https://gitee.com/chuanjiao10/kasini3000_agent_linux #linux一键安装powershell

主控机支持:

win10,win2012r2,win2016,win2019,centos7,centos8,ubuntu1404(但不建议使用),ubuntu1604,ubuntu1804,ubuntu2004,debian8(但不建议使用),debian9,debian10,alpine
linux3.8—-3.11,不支持centos6。

被控机支持:

win7,win2008r2,win10,win2012,win2016,win2019,centos7,centos8,ubuntu1404,ubuntu1604,ubuntu1804,ubuntu2004,debian8,debian9,debian10。alpine
linux3.8—-3.11,树莓派linux,树莓派win,不支持centos6。

excel版 命令手册:

https://gitee.com/chuanjiao10/kasini3000/tree/master/docs

脚本例子:

https://gitee.com/chuanjiao10/kasini3000/wikis/卡死你3000脚本例子

常见问题:

https://gitee.com/chuanjiao10/kasini3000/wikis/卡死你3000脚本编写要求和常见问题

卡死你3000主控机安装:

https://gitee.com/chuanjiao10/kasini3000/wikis/安装win版卡死你3000主控机

https://gitee.com/chuanjiao10/kasini3000/wikis/安装linux版卡死你3000主控机

卡死你3000官方技术支持群。qq群:700816263

使用:

1
按照https://gitee.com/chuanjiao10/kasini3000/tree/master/docs/examples/nodelist.csv

编写被控机ip、端口、账户、密码、并保存在c:\ProgramData\kasini3000\nodelist.csv

这里以win主控机为例:

2 运行pwsh。运行c:\ProgramData\kasini3000\k-console.ps1

k-console.ps1有2个快捷方式。kc=用稳定版pwsh。kcp=用psv7版pwsh,建议用kcp

3 cdip 192.168.1.2 #选中被控机

4 kct #复制文件,从主控机到被控机

5 kcf #复制文件,从被控机到主控机

6 gtnode #进入被控机命令行

7 .\krun.ps1 -脚本文件名 d:\xx.ps1
# 在远程的,cdip选中的,被控机上】运行【主控机上的d盘的脚本】。

8 .\krun.ps1 -powershell代码块 {ls /tmp}
# 在【远程的选中被控机上】运行【代码块】。

9 .\k-commit.ps1 -脚本文件名 d:\xx.ps1 #在后台运行脚本。

10 .\k-commit.ps1 -powershell代码块 {ls /tmp} #在后台运行ps代码块。

11 kl,kt。#输出后台运行的代码结果。

12
安装psv6后,用.\k-commit-rs.ps1。它是线程级别的,它作用和.\k-commit.ps1相同。

13 支持进程级别,线程级别,的定时任务。

后记

很久以前,在一个虚拟位面上,有一个【冯-诺依曼计算机国】,国内有一个大家庭叫做【脚本命令行】。家庭中的bash,csh,zsh,bat,vbs,powershll兄弟们分工明确,互相合作,兄弟们用【管道】传递消息。

突然间,家里来了三头大怪兽,它们是【阿里云助手=盒马大圣】、【腾讯云蓝鲸=鲸角大王】、【ansible=歪果仁矮力大仙】

它们不分工,难合作,不用【管道】,矮力大仙还通过python放出【幺蛾子jinjia2】,jinjia2怪一上来就把for,foreach的腿打断了,555,多么善良好用的for啊!!!在此危机时刻,小弟《卡死你》拿出3000种武器,有鞋式吹风机,有光照才发光手电筒,姥姥语音,表情包斗图乐,一一尝试。。。

单纯的shell强么?单纯的ssh行么?单纯的yaml不麻烦么?用途广么?这就是卡死你3000存在的意义。
卡死你3000多 进程队列,多线程队列。限于篇幅,我们下回分解。

开源,免费,跨平台的devops批量运维工具,《卡死你3000》简介插图1

你最想了解的是它的哪些方面呢?

帖子完毕,谢谢观看。

本文链接:https://www.yunweipai.com/38957.html

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部