紅帽以及Kubernetes開源社群在CoreOS部落格共同發表Kubernetes應用程式開發框架Operators,而該框架的目的是要幫助開發者方便的開發,並以自動化及可擴展的方式管理Kubernetes應用程式。

官方提到,過去在2016年就已經提出過Operators框架的概念,這是一個封裝、部署以及管理Kubernetes應用程式的方法,而Kubernetes應用程式指的是那些,可以用Kubernetes API和kubectl工具進行管理的應用程序。在概念上來說,Operators所做的事就是將原本人的營運知識打包成軟體,讓軟體自動執行營運工作。

Operators中的營運知識來自官方團隊多年的營運經驗,可以處理簡單的基本工作,同時也能執行複雜的工作邏輯,其遵循成熟的模型做決定,官方表示,可以將Operators當作是軟體供應商的延伸,可以幫營運團隊監控Kubernetes環境,並且以毫秒的速度做出決策。

Operators能夠無縫升級應用程式或是自動排除故障,並且不會為了趕時間而投機取巧,跳過像是軟體備份等工作。官方表示,Operators可以做的事情非常廣,足以處理複雜的問題,不過這仍然取決於開發者使用Operator的程度,通常一開始團隊會將Operator用於簡單的工作,像是安裝或是服務調度,之後才會逐漸擴展到更複雜的自動化。

而Operators開發框架包含3部分,Operator SDK、Operators生命週期管理以及Operator度量。Operator SDK提供開發者建置、測試和封裝Operators應用程式,開發者不需要具備Kubernetes API的開發專業,便能開發出執行商業邏輯的應用程式,具備可擴展、升級和備份功能。

在Kubernetes應用程式生命週期管理方面,應用程式建置後需要被部署至Kubernetes叢集上,Operator生命週期管理員會負責監控這些工作,系統管理員可以決定Operator負責管理哪些命名空間的Kubernetes叢集,同時也能用於管理Operator本身的生命週期,包括觸發程式和資源更新。

官方提到,Operators能功能管理無狀態應用程式,在不需要使用Helm Operator這類通用Operator撰寫任何程式碼,就可以管理應用程式生命週期,但是有狀態應用程式才是Operators真正大顯身手的地方。

Operator度量功能可以統計應用程式使用的情況,包括CPU和記憶體使用量,並計算IaaS成本或是客制化量測指標。目前這功能還在開發中,將來也會開源並加進框架中。


Advertisement

更多 iThome相關內容