管理員可利用的4大開(kāi)源自動(dòng)化工具
你公司的IT運(yùn)營(yíng)正飛速增長(zhǎng),超出你所能支持的范圍,你會(huì)發(fā)現(xiàn),在這種情況,保持繼續(xù)增長(zhǎng)的唯一選擇是自動(dòng)化。幸運(yùn)的是,現(xiàn)在有很多開(kāi)源自動(dòng)化工具可用幫助你實(shí)現(xiàn)自動(dòng)化。
當(dāng)然,如何自動(dòng)執(zhí)行任務(wù)取決于其原有部署,這可能是容器部署,或者是通過(guò)第三方專(zhuān)有工具完成的任務(wù),或者是通過(guò)開(kāi)源軟件內(nèi)部構(gòu)建的任務(wù)。
無(wú)論你的自動(dòng)化要求是什么或現(xiàn)有的工具是什么,下面四個(gè)開(kāi)源選項(xiàng)都可以幫助你成功實(shí)現(xiàn)自動(dòng)化。
Jenkins用于任務(wù)編排
Jenkins是持續(xù)集成/持續(xù)交付自動(dòng)化工具。對(duì)于利用Kubernetes和Docker部署應(yīng)用程序和服務(wù)的人員來(lái)說(shuō),這是至關(guān)重要的工具。Jenkins讓你可以為自動(dòng)化的應(yīng)用程序以及服務(wù)的構(gòu)建和部署創(chuàng)建提示符。
作為一種開(kāi)源自動(dòng)化工具,Jenkins可以與很多版本控制系統(tǒng)集成,例如AccuRev、Concurrent Versions System、Apache Subversion、Git、Mercurial、Perforce Software、TD / OMS、Rational ClearCase和Rational Team Concert。這樣做意味著Jenkins可以與存儲(chǔ)庫(kù)同步,并基于自動(dòng)觸發(fā)器自動(dòng)運(yùn)行軟件版本。
你可以設(shè)置Jenkins,以便它在檢測(cè)到存儲(chǔ)庫(kù)中的任何更改時(shí)都會(huì)觸發(fā)代碼構(gòu)建。Jenkins還包括很多插件,讓你可啟用自動(dòng)通知等功能,該功能會(huì)提醒你構(gòu)建失敗、不穩(wěn)定或成功。
Jenkins使用任務(wù)架構(gòu)來(lái)執(zhí)行自動(dòng)化任務(wù)??蓜?chuàng)建的任務(wù)類(lèi)型為自由式項(xiàng)目、管道、多配置項(xiàng)目、文件夾、GitHub組織和Multibranch Pipeline。
你可以在大多數(shù)Linux操作系統(tǒng)中安裝Jenkins,包括Debian、Fedora、Red Hat Enterprise Linux(RHEL)和Ubuntu。
通過(guò)Cockpit簡(jiǎn)化軟件更新
Cockpit是基于Web的GUI,可用于Linux服務(wù)器管理各個(gè)方面。通過(guò)使用此開(kāi)源自動(dòng)化工具,你可以處理用戶管理和軟件安裝等任務(wù),以及設(shè)置自動(dòng)軟件升級(jí)。
通過(guò)Cockpit,你還可以自動(dòng)執(zhí)行所有更新或僅執(zhí)行安全更新。你也可以定義何時(shí)進(jìn)行更新。
但是,當(dāng)自動(dòng)更新時(shí),服務(wù)器也會(huì)自動(dòng)重啟。鑒于此,你需要在允許服務(wù)器重新啟動(dòng)的情況下配置該流程。
Cockpit可安裝在大多數(shù)Linux操作系統(tǒng)上,但它會(huì)自動(dòng)安裝在CentOS / RHEL 8上。
為容器部署Kubernetes
盡管Kubernetes本身不是自動(dòng)化工具,但是如果你使用容器自動(dòng)化,則Kubernetes很重要。Kubernetes讓你可以將GitOps開(kāi)發(fā)管道集成到IT運(yùn)營(yíng)中,其中部署容器的幾乎每個(gè)方面都是自動(dòng)化。 想象一下,一個(gè)構(gòu)建過(guò)程,通過(guò)將代碼添加到Git存儲(chǔ)庫(kù)中而自動(dòng)啟動(dòng)。
但這不只是一個(gè)簡(jiǎn)單的構(gòu)建過(guò)程。通過(guò)Kubernetes,你可以對(duì)工具進(jìn)行分層(例如Flagger、Flux、Helm、Prometheus和Terraform),使自動(dòng)化工作流程更加直觀和靈活。
通過(guò)在Kubernetes上使用正確的軟件組合,你可以設(shè)置自動(dòng)化,從而為所有基礎(chǔ)架構(gòu)提供一致的工作流程,確保群集配置始終與Git存儲(chǔ)庫(kù)配置匹配,并以高度的安全性和可靠性管理你的容器映像。
如果沒(méi)有Kubernetes,容器編排和自動(dòng)化將更具挑戰(zhàn)性,并且需要更多的手動(dòng)編碼。
通過(guò)Ansible解決應(yīng)用程序部署
Ansible是Red Hat開(kāi)放源代碼自動(dòng)化軟件,它使用簡(jiǎn)單的腳本語(yǔ)言使你能夠輕松處理網(wǎng)絡(luò)中所有機(jī)器的自動(dòng)化和配置。
Ansible在控制器和節(jié)點(diǎn)上工作,但是與其他選項(xiàng)不同,它不需要你在節(jié)點(diǎn)上安裝客戶端。 Ansible通過(guò)Secure Shell與節(jié)點(diǎn)通信。它使你可以將任務(wù)變成可重復(fù)的使用手冊(cè),甚至推出企業(yè)范圍的協(xié)議。
通過(guò)Ansible實(shí)現(xiàn)自動(dòng)化可幫助你部署應(yīng)用程序、簡(jiǎn)化工作流程編排、配置系統(tǒng)、管理系統(tǒng)配置,并將重復(fù)的任務(wù)轉(zhuǎn)變?yōu)樽詣?dòng)化作業(yè)以節(jié)省時(shí)間。
Ansible的局限性在于它無(wú)法配置裸機(jī)或虛擬機(jī)。如果你不想使用命令行,則可以使用可以運(yùn)行Ansible手冊(cè)的第三方GUI(例如Rundeck)。