開源免費,跨平臺的devops批量運維工具《卡死你3000》簡介第一季

開源,免費,跨平臺的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是指,可以四處調用各種腳本,工具多的意思。"


那它是怎麼工作的?

作者道:

"它控制win被控機基於winrm協議。它控制linux被控機,基於ssh協議。"

【主控機】控制【被控機】基於【開源 + 免費的】powershell語言。


那它怎麼比ansible好10倍呢?

作者答:

《卡死你3000》的主要對手是ansible,ansible基於yaml文件格式的計算機語言,自定義了很多關鍵字。

在linux上,ansible把yaml翻譯成python腳本執行。

在win上,ansible把yaml翻譯成powershell執行。

yaml有如下缺點:

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

2腳本套腳本像喝水般容易,管道容易。Yaml套yaml難,yaml套腳本難。

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

自打ansible來了之後,它用yaml關鍵字定義和jinjia2代替了for。可以說for的腿被被打折了。

4 管道傳值如"a腳本語言編寫的腳本1 | b腳本語言編寫的腳本1",這在基於yaml的語言中,難以實現。在基於腳本的卡死你3000中,天生支持。

5 這裡不做詳談。更多看項目主頁,加自己體會。


簡單而言,腳本學用簡單,用途廣。《卡死你3000》和ansible,都用powershell控制win,有一半是相同的。它們最大的區別是,卡死你3000基於腳本。Ansible基於yaml。用ansible,藍鯨等,就必須學習它的關鍵字,用它的模塊。卡死你3000調用並100%兼容你的舊腳本,linux命令。比如你在卡死你3000腳本中寫:

bash -f /xxx/你的bash腳本

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

還不明白?卡死你兼容你已有的東西,ansible你要學它的東西。

作為批量運維工具,它還支持定時任務,循環週期最短10秒鐘,主要用於監控應用,磁盤,內存等。

還有必不可少的複製文件功能,使用起來也很簡單。支持跨平臺win,linux文件互傳。

我還為卡死你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》簡介第一季


比ansible好用10倍,開源+免費+本人開發的,devops批量運維繫統《卡死你3000》。

https://gitee.com/chuanjiao10/kasini3000

https://gitee.com/chuanjiao10/kasini3000_agent_linux


主控機支持:

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


被控機支持:

win7,win2008r2,win10,win2012,win2016,win2019,centos7,centos8,ubuntu1404,ubuntu1604,ubuntu1804,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存在的意義。帖子完畢,謝謝觀看。


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


分享到:


相關文章: