红帽联合微软、谷歌、亚马逊推出公共注册表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

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