開源,免費,跨平台的(de)devops批量運維工具,《卡死你3000》簡介
發布時間:2023-05-19 閱讀: 分享

大家好!

又到了分享的(de)時間,今天給大家分享一(yī)款,開源,免費跨平台的(de)devops批量運維工具。讓我們先聽聽,作者是怎麽吹的(de):

簡介

作者道(dào):

開源+免費+跨平台安裝+100%兼容shell,

跨平台:主控機可(kě)以安裝在win,linux上。可(kě)以管理(lǐ)win,linux被控機。

類似于Puppet,Ansible,pipeline。号稱比ansible好10倍,具有批量遠程執行腳本,定時運行腳本的(de),devops運維工具。運維手中的(de)瑞士軍刀!

devops批量運維工具《卡死你3000》。

我道(dào):“先等等,名字咋這麽怪呢(ne)?”

為(wèi)神馬叫《卡死你3000》?

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

v1.0版開發代号=《卡死你3000》,源于要你命3000。《卡死你3000》最大的(de)好處之一(yī),就是100%兼容你編寫的(de)舊(jiù)的(de)bash,csh,zsh腳本。還有win上的(de)bat,vbs腳本等。

項目內(nèi)還封裝了,姥姥語音,表情包鬥圖樂(yuè)等。再加上舊(jiù)bat,bash腳本,緻力于3000個腳本工具。。。

v2.0版開發代号(已經發布)=《穿雲箭》

寓意:一(yī)支穿雲箭,千萬被控機,從斧頭幫;)趕來相見。

我道(dào):“哦,我明白了。原來3000是指,可(kě)以四處調用各種腳本,工具多的(de)意思。”

注意:軟件正式名字叫《kaiiit家的(de)飯店》

那它是怎麽工作的(de)?

作者道(dào):

“它控制win被控機基于winrm協議。它控制linux被控機,基于ssh協議。”

【主控機】控制【被控機】基于【開源 + 免費的(de)】powershell語言。

那它怎麽比ansible好10倍呢(ne)?

作者答:

  • 1 《卡死你3000》控制win被控機無敵。無需安裝agent。

  • 2 腳本遠程傳遞變量參數時,可(kě)以直傳 「對象」 ,此功能世界上唯一(yī)!比其他批量運維工具強一(yī)代!

$從被控機返回的(de)_對象結果_而不是字符串 = krun.ps1 { 被控機命令1 } -allparameter $主控機本地(dì)對象1,$主控機本地(dì)對象2

上述【主控機腳本a.ps1】,把主控機上的(de).net對象,或powershell對象【主控機本地(dì)對象1】,【主控機本地(dì)對象2】 傳遞到被控機,由【被控機命令1】接收參數, 執行結果對象,從被控機返回到主控機變量【$從被控機返回的(de)_對象結果_而不是字符串】中。

大家都是面向對象編程語言的(de)老司機,還需要我解釋 「遠程對象」 比字符串的(de)好處嗎?

  • 3 卡死你3000調用并100%兼容你的(de)舊(jiù)腳本,linux命令。

你舊(jiù)的(de)shell腳本,不管是.py,還是.sh,放在主控機,然後在主控機腳本內(nèi)寫上kct 主控機路徑 被控機路徑,即可(kě)複制到被控機。比如(rú)你在卡死你3000腳本中寫:

bash -f /xxx/你的(de)bash腳本

python -c /你的(de)項目/b.py

還不明白?卡死你3000,100%兼容你已有的(de)linux腳本,而ansible你要學(xué)它n多模塊。

yaml有如(rú)下缺點:

1 關鍵字不兼容。Ansible,阿裏雲的(de)運維工具雲助手,騰訊雲的(de)藍鲸,都用yaml,但它們之間的(de)關鍵字不兼容。

2 Yaml還有文本縮進問題,或空格問題。

3 腳本套腳本像喝水般容易,管道(dào)容易。Yaml套yaml難,yaml套腳本難。

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

自(zì)打ansible來了之後,它用yaml關鍵字定義和(hé)jinjia2代替了for。可(kě)以說for的(de)腿被被打折了。

5 管道(dào)傳值如(rú)“a腳本語言編寫的(de)腳本1 | b腳本語言編寫的(de)腳本1”,這在基于yaml的(de)語言中,難以實現。在基于腳本的(de)卡死你3000中,天生支持。

6 還有必不可(kě)少的(de)複制文件功能,使用起來也很簡單。還支持跨平台win,linux文件互傳。

7 主控機支持win。win,linux被控機操作一(yī)緻。用win主控機時可(kě)以用聲音,背景圖片報警。

簡單而言,腳本學(xué)用簡單,用途廣。《卡死你3000》和(hé)ansible,都用powershell控制win,有一(yī)半是相同的(de)。它們最大的(de)區别是,卡死你3000基于腳本。而Ansible基于yaml。用ansible,藍鲸等,就必須學(xué)習它的(de)關鍵字,用它的(de)模塊。

作為(wèi)批量運維工具,它還支持定時任務,循環周期最短(duǎn)10秒鍾,主要用于監控應用,磁盤,內(nèi)存等。

我還為(wèi)卡死你3000定時任務主控機,開發了主控機雙機高(gāo)可(kě)用功能。高(gāo)可(kě)用功能等。。

我道(dào):“嗯,挺能吹的(de),那麽”

它和(hé)shell相比,有哪些好處呢(ne)?

作者道(dào):

自(zì)動批量運維卻離(lí)不了腳本。但這麽多年(nián)為(wèi)啥沒有shell的(de)自(zì)動批量運維項目?

為(wèi)啥讓ansible成氣候了?隻因單純的(de)shell功能有限,不足以支撐整個自(zì)動批量運維項目。

讓我嘗試分析出幾個原因:

  • 1 ansible項目為(wèi)啥linux下調用py,powershell,而不調用shell?有一(yī)點可(kě)能是shell變量是非面向對象腳本。Py,powershell是面向對象腳本,powershell有日期,布爾,精度數值,隊列等變量類型。

支持管道(dào)傳遞強類型對象!請看:

'abc'| foreach-object {$_.toupper()}

遠程傳遞強類型對象!請看:

$從遠程返回的(de)日期型對象 = krun -powershell代碼塊 { get-date }

  • 2 powershell,卡死你3000,中有多線程調用腳本功能。多線程帶來了快速,輕量,大批量的(de)好處,也帶來了不如(rú)多進程穩定的(de)壞處。線程的(de)講解以後再說。

  • 3 win上powershell強,win沒有自(zì)帶sshd,也是一(yī)個問題。

  • 4 shell基于ssh傳遞多行腳本代碼塊不行,傳遞腳本文件麻煩。多層傳遞沒有。卡死你3000隻需要在主控機上指定腳本文件名,多行腳本塊,則自(zì)動複制到每台被控機執行。從a機傳遞代碼塊到b機,b機再到c機,很容易。用于穿透堡壘機。

  • 5 更嚴謹,開發效率高(gāo)!支持在win上經vscode+ssh模塊遠程開發,遠程調試,單步,斷點,執行鼠标選中代碼。

你道(dào):

主頁在哪?求你來點幹貨吧(ba)?

圖片

注意:上述lsbkj命令,已經改為(wèi)lsnode

https://gitee.com/chuanjiao10/kasini3000

https://gitee.com/chuanjiao10/kasini3000_agent_linux #linux一(yī)鍵安裝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

腳本例子(zǐ):

https://gitee.com/chuanjiao10/kasini3000/wikis/卡死你3000腳本例子(zǐ)

常見問題:

https://gitee.com/chuanjiao10/kasini3000/wikis/卡死你3000腳本編寫要求和(hé)常見問題

卡死你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主控機為(wèi)例:

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 # 在遠程的(de),cdip選中的(de),被控機上】運行【主控機上的(de)d盤的(de)腳本】。

8 .\krun.ps1 -powershell代碼塊 {ls /tmp} # 在【遠程的(de)選中被控機上】運行【代碼塊】。

9 .\k-commit.ps1 -腳本文件名 d:\xx.ps1 #在後台運行腳本。

10 .\k-commit.ps1 -powershell代碼塊 {ls /tmp} #在後台運行ps代碼塊。

11 kl,kt。#輸出後台運行的(de)代碼結果。

12 安裝psv6後,用.\k-commit-rs.ps1。它是線程級别的(de),它作用和(hé).\k-commit.ps1相同。

13 支持進程級别,線程級别,的(de)定時任務。

後記

很久以前,在一(yī)個虛拟位面上,有一(yī)個【馮-諾依曼計算機國】,國內(nèi)有一(yī)個大家庭叫做(zuò)【腳本命令行】。家庭中的(de)bash,csh,zsh,bat,vbs,powershll兄弟們分工明确,互相合作,兄弟們用【管道(dào)】傳遞消息。

突然間,家裏來了三頭大怪獸,它們是【阿裏雲助手=盒馬大聖】、【騰訊雲藍鲸=鲸角大王】、【ansible=歪果仁矮力大仙】

它們不分工,難合作,不用【管道(dào)】,矮力大仙還通過python放出【幺蛾子(zǐ)jinjia2】,jinjia2怪一(yī)上來就把for,foreach的(de)腿打斷了,555,多麽善良好用的(de)for啊!!!在此危機時刻,小弟《卡死你》拿出3000種武器,有鞋式吹風機,有光照才發光手電筒,姥姥語音,表情包鬥圖樂(yuè),一(yī)一(yī)嘗試。。。

單純的(de)shell強麽?單純的(de)ssh行麽?單純的(de)yaml不麻煩麽?用途廣麽?這就是卡死你3000存在的(de)意義。


13905190502 南京市玄武區洪武北路188号長(cháng)發數碼大廈11樓E座
友情鏈接
百度 網絡安全和(hé)信息化委員會 FreeBuf網絡安全行業門戶

分享:
Copyright © 2020-2022 南京明科網絡科技有限公司 版權所有  
技術支持:飛(fēi)酷網絡