您現(xiàn)在的位置是:首頁 >要聞 > 2020-11-15 16:36:26 來源:
管理Kubernetes不適合膽小者 容器編排程序Kubernetes一直很受歡迎
它需要大量的技能和正確的工具來正確管理其集群上的軟件。這就是Kubernetes運(yùn)算符的用武之地?,F(xiàn)在,Canonical的基于DevOps Juju的Charm Open Operator Collection(最大的應(yīng)用程序運(yùn)算符集合)支持Windows和Linux上的Kubernetes,云原生和傳統(tǒng)應(yīng)用程序。該集合在Charmhub.io上托管,并遵循《開放運(yùn)營商宣言》。
那么,什么是Kubernetes運(yùn)營商呢?這是一種打包,部署和管理Kubernetes應(yīng)用程序的方法。Kubernetes應(yīng)用程序是既部署在Kubernetes上,又使用Kubernetes應(yīng)用程序編程接口(API)和kubectl工具進(jìn)行管理的應(yīng)用程序。
簡而言之,操作員實(shí)施應(yīng)用程序的生命周期管理。運(yùn)營商用共享的標(biāo)準(zhǔn)化操作代碼包替換了手工制作的機(jī)構(gòu)手工操作代碼。這樣,操作員可以消除組織之間的重復(fù)勞動(dòng)。通過提供共享的操作代碼庫,這也有助于公司。
此外,運(yùn)營商還封裝了應(yīng)用程序領(lǐng)域知識。這樣,您可以在不學(xué)習(xí)底層細(xì)節(jié)的情況下設(shè)置和運(yùn)行應(yīng)用程序以及建立它們之間的關(guān)系。理想情況下,它提供了完整的應(yīng)用程序生命周期,包括配置和集成以及第二天的操作。
Juju是一個(gè)云DevOps工具。但是它比Ansible, Puppet, Chef或Salt等著名的DevOps程序具有更高的工作水平。這些程序通過設(shè)置每個(gè)實(shí)例運(yùn)行相同軟件配置的虛擬機(jī)(VM)來自動(dòng)執(zhí)行服務(wù)器配置。Juju在他們之上工作。這是為了管理服務(wù),而不是機(jī)器。Juju用“魅力”來做到這一點(diǎn)。這些是DevOps最佳實(shí)踐的可共享,可重用和可重復(fù)的表達(dá)。
因此,Canonical公司首席執(zhí)行官兼創(chuàng)始人Mark Shuttleworth表示,其他DevOps“配置管理方法不適用于容器。您無法轉(zhuǎn)到容器進(jìn)行配置。使用Juju Charms,您可以得到一整套可重復(fù)使用的操作代碼。” 更好的是,“即使微服務(wù)的數(shù)量與集成所需的行數(shù)一起激增,Juju Charms仍然可以處理服務(wù)和應(yīng)用程序之間的集成。” 結(jié)果是可以輕松設(shè)置和集成多個(gè)應(yīng)用程序和服務(wù)。
Canonical產(chǎn)品經(jīng)理Sohini Roy解釋說,不僅僅是Juju現(xiàn)在作為Kubernetes運(yùn)營商確實(shí)運(yùn)轉(zhuǎn)良好。Roy解釋說,就像“操作員模式已成功取代Kubernetes上用于云原生工作負(fù)載的配置管理一樣”。“我們很高興能將操作員模式概括為包括Linux和Windows上的傳統(tǒng)應(yīng)用程序,從而為裸機(jī),虛擬和Kubernetes領(lǐng)域的應(yīng)用程序管理提供一致的模型驅(qū)動(dòng)的操作員框架。”
那么這實(shí)際上意味著什么呢?Mattermost 聯(lián)合創(chuàng)始人兼首席執(zhí)行官Ian Tien解釋說:“在整個(gè)應(yīng)用程序生命周期中,數(shù)據(jù)安全性和開發(fā)人員的生產(chǎn)力對我們的客戶至關(guān)重要。借助迷人的開源運(yùn)營商,Mattermost可以在數(shù)分鐘內(nèi)完成安裝,并確保實(shí)施采用最佳實(shí)踐- -不僅用于部署,而且還用于修補(bǔ),升級甚至重新架構(gòu)。”
您可以通過Charmhub.io自己嘗試一下。這既是應(yīng)用程序操作員的公共存儲庫,也是操作員社區(qū)協(xié)作的論壇。Charmhub運(yùn)營商包括聲明性集成點(diǎn),可用于不同供應(yīng)商的運(yùn)營商之間可重復(fù)使用的自動(dòng)化集成。集成代碼嵌入到每個(gè)操作員中,以在部署過程中處理動(dòng)態(tài)集成,從而確保安全最佳實(shí)踐和整個(gè)過程的可用性。
例如,使用MariaDB作為DBMS以及使用Apache作為網(wǎng)絡(luò)服務(wù)器來設(shè)置一個(gè)運(yùn)行普通Linux,Apache,MySQL和Perl / PHP / Python(LAMP)(例如WordPress)的Kubernetes集群很簡單。
盡管運(yùn)算符是與語言無關(guān)的,并且可以使用任何語言進(jìn)行開發(fā),但Python是Juju的首選語言。Charmhub為Python操作員開發(fā)人員提供了代碼共享和協(xié)作功能,以便在操作員之間重用庫和接口定義。在Python的操作框架處理低級別的生命周期管理和集成的詳細(xì)信息。
為了減少管理開銷,將操作員部署在稱為模型的組中。然后,您可以使用聲明式集成在應(yīng)用程序圖中構(gòu)成運(yùn)算符。由于集成線可以跨越云邊界,因此經(jīng)驗(yàn)豐富的運(yùn)營商為多云和混合云操作提供了可靠且一致的基礎(chǔ)。
無論采用哪種供應(yīng)商,這種方法都可以確保一致的操作員體驗(yàn)。您在一個(gè)操作員中所做的任何更改都會(huì)自動(dòng)傳播到同一模型中的其他操作。
這是通過Juju操作員生命周期管理器(OLM)完成的。OLM為運(yùn)營商提供服務(wù)。除了基本的供應(yīng)和生命周期管理功能之外,Juju OLM還支持具有事件傳遞,事件序列化,持久狀態(tài),領(lǐng)導(dǎo)者選舉,應(yīng)用程序狀態(tài)監(jiān)視,應(yīng)用程序消息和集成數(shù)據(jù)交換功能的模型驅(qū)動(dòng)的體系結(jié)構(gòu)。
我一直很喜歡Juju。它使首先跨服務(wù)器設(shè)置復(fù)雜的應(yīng)用程序,然后使云計(jì)算變得更加容易?,F(xiàn)在,通過相同的方法可以輕松地在Kubernetes集群和云上執(zhí)行相同的操作。我強(qiáng)烈建議您嘗試使用這種新的Charmed方法給Kubernetes運(yùn)營商。