紅帽聯合微軟、谷歌、亞馬遜推出公共註冊表OperatorsHub.io

Red Hat與微軟、谷歌Cloud和Amazon Web Services合作,推出了OperatorHub.io。OperatorHub.io是一個公共註冊表,用於查找由Kubernetes Operators支持的服務。

Operators最初由CoreOS於2016年推出,旨在成爲特定於應用程序的控制器,通過擴展Kubernetes API爲Kubernetes用戶創建、配置和管理應用程序實例。此外,Kubernetes用戶可以從Operators那裏獲得自動執行例程、複雜任務、更新、備份、擴展應用程序等方面的好處。

Operators是一種打包、部署和管理應用程序的方法,這些應用程序部署在Kubernetes上,並使用Kubernetes API和kubectl工具進行管理,它們被稱爲Kubernetes應用程序。

爲了簡化Kubernetes應用程序的構建,Red Hat和Kubernetes開源了Operators框架。Operator 是一個工具包,提供了以下主要內容:

  • Operators SDK——使開發人員能夠根據他們的專業知識構建Operators,而無需瞭解Kubernetes API的複雜性;
  • Operator Lifecycle Manager——監督在Kubernetes集羣上運行的所有Operators的安裝、更新和管理等生命週期;
  • Operator Metering——爲提供專門服務的Operators啓用使用情況報告。

Operator SDK支持使用Go語言、Ansible或Helm等一系列語言來開發operator。構建Go operator的基本工作流程是這樣的:

  • 使用SDK命令行界面(CLI)創建新的operator項目;
  • 通過添加Custom Resource Definitions(CRD)來定義新的資源API;
  • 定義控制器來監控和協調資源;
  • 使用SDK和控制器運行時API編寫控制器的協調邏輯;
  • 使用SDK CLI構建並生成operator部署清單。

要了解有關編寫operator的更多信息,可以參考Go、Ansible和Helm的相關指南。此外,可以在operator-sdk-samples存儲庫上探索使用Operator SDK構建的一系列operator。

谷歌Cloud產品經理Aparna Sinha表示,他們已經在構建和認證社區開發的Operators上做了大量投入,並且很高興看到超過40%的谷歌Kubernetes Engine(GKE)集羣運行的是有狀態的應用程序。

Red Hat社區開發總監Diane Mueller認爲,要考慮將一個operator納入到OperatorHub.io,這個operator必須能夠成功地展示集羣生命週期功能,可通過Operators框架的Operators生命週期管理來維護打包過程,併爲目標用戶提供可接受的文檔。

OperatorHub.io中目前列出的operator包括:AWS Operator、Couchbase Autonomous Operator,CrunchyData PostgreSQL etcd Operator、Kubernetes的Jaeger Operator、Kubernetes Federation Operator、MongoDB Enterprise Operator、Percona MySQLOperator、PlanetScale的Vitess Operator、Prometheus Operator和Redis Operator。

要提交operator,必須向OperatorHub.io社區operator存儲庫提交PR,在community-operator/目錄中創建一個新目錄,目錄名稱與提交的operator名稱保持一致:

$ ls community-operators/my-operator/
my-operator.v1.0.0.clusterserviceversion.yaml
my-operator-crd1.crd.yaml
my-operator-crd2.crd.yaml
my-operator.package.yaml

請注意,目錄名稱應該與package.yaml中新operator的名稱相匹配,這一點很重要。

每個OperatorHub條目都包含所有Custom Resource Definitions(CRD)、訪問控制規則、安裝和安全運行operator所需的容器鏡像引用、功能說明以及受支持的Kubernetes版本。

有關提交或更新operator的更多詳細信息,請參閱貢獻指南

查看英文原文OperatorsHub.io, a Public Registry for Kubernetes Operators

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章