TOC批准Operator Framework为孵化项目

2022-06-13 15:12:56 浏览数 (1)

今天,CNCF TOC(Technical Oversight Committee,技术监督委员会)投票同意将Operator Framework(操作器框架)作为孵化级托管项目,该框架由两个主要组件Operator SDK和Operator Lifecycle Manager(OLM,生命周期管理器)组成。

https://operatorframework.io/

https://sdk.operatorframework.io/

https://olm.operatorframework.io/

操作器框架是一个开源工具包,用于以自动化和可伸缩的方式管理Kubernetes原生应用程序(称为Operators,操作器)。操作器是由CoreOS在2016年公布的一种设计模式,该公司现在是红帽公司的一部分,目的是将操作知识添加到软件中。以前,这些知识只存在于管理员、shell脚本的各种组合或自动化软件中。

“通常的假设是,有状态应用程序不应该在Kubernetes上运行,”操作器框架维护者、红帽社区开发主管Diane Mueller说。“这些工作负载需要持续的关注和生命周期管理才能正常运行。提供这种护理超出了Kubernetes的范围。操作器改变了这一点,并将Kubernetes的功能扩展到所有工作负载类型。操作器框架为开发人员创建Kubernetes原生应用程序(即Operators,操作器)提供了开源工具包,并为集群管理员提供了对集群的集中控制,而不需要成为API管理方面的专家。”

“操作器框架建立在其他CNCF技术之上,使管理员和最终用户开发者能够运行Kubernetes原生应用程序,”TOC成员、美国运通的云平台工程师Katie Gamanji说。“操作器提供了一套结构化模板来为集群构建自定义资源,从而启动了最复杂工作负载的自动化。这为CNCF生态系统带来了巨大的增长。”

操作器框架的主要组件:

OLM(Operator Lifecycle Manager,操作器生命周期管理器)扩展了Kubernetes,提供了一种声明式方法来安装、管理和升级集群中的操作器及其依赖项。它使Kubernetes管理员能够从目录中发现并安全安装操作器,并以自动的方式更新它们。

OLM的主要特性:

  • 更新和目录:OLM有一个目录的概念,操作器可以从中安装并保持最新。
  • 依赖模型:使用OLM打包格式,操作器可以表达对平台和其他操作器的依赖关系。
  • 可发现性:OLM将已安装的操作器及其服务通知到租户的命名空间中。他们可以发现哪些托管服务是可用的,以及哪些操作器提供了这些服务。
  • 集群稳定性:OLM将防止相互冲突的操作器安装相同的API,从而确保集群的稳定性。
  • 声明式UI控件:对于图形控制台,OLM使用描述符注释API,这些描述符驱动创建丰富的接口和表单,以便用户与操作器交互。

Operator SDK (操作器SDK)提供高级API、有用的抽象和用于构建Kubernetes应用程序的项目脚手架,并使用controller-runtime(控制器运行时)库简化操作器的编写。它使开发人员和包维护人员能够以迭代的方式编写、测试和验证操作器,并向社区发布更新。

https://github.com/kubernetes-sigs/controller-runtime

Operator SDK的特性:

  • 高级API和抽象来更直观地编写操作逻辑
  • 用于快速引导新项目的搭建和代码生成工具
  • 以覆盖通用操作器用例的扩展

许多CNCF项目现在都有操作器,包括Envoy、etcd、Jaeger、NATS、Prometheus、Rook和Vitess。Helm是使用SDK创建操作器的一种方式。内部操作器用例在包括Amadeus、Kohl's、SAP Concur、SIX Group、TicketMaster、Uber、Zalando等。

显著的里程碑:

  • 三个SDK:Go、Ansible和Helm
  • 10,000多个SDK克隆
  • 137名操作器SDK贡献者
  • 86名OLM贡献者
  • 38家独特的组织做出贡献

“多年来,操作器在云原生社区中一直很受欢迎,有许多CNCF项目有提供操作器。”CNCF CTO Chris Aniszczyk说:“我们很高兴操作器框架社区加入CNCF,使更多的项目和组织能够创建和分享操作器。”

未来计划为Operator SDK添加的特性包括一个具有上游kubebuilder、控制器运行时等功能的统一基础,一个用于在给定集群上安装OLM的SDK命令,以及一个可包含自定义测试的重构测试工具。OLM方面,维护人员计划简化API表面,关注本地开发人员的体验,注册私有的操作器目录,使用新的bundle格式,使用隐含的服务器路径和显式映射简化升级。

“我们非常兴奋,操作器框架已经被CNCF接受为孵化阶段项目。”操作器框架维护者、红帽公司首席软件工程师Erin Boyd说:“操作器使Kubernetes开发人员的生活更容易,我们很高兴与CNCF合作,使这个过程更加无缝。”

虽然操作器框架的组件被设计成协同工作,但没有硬依赖关系。操作器SDK不依赖OLM运行操作器,OLM也不要求使用操作器SDK创建操作器。

作为CNCF托管项目,加入孵化技术像OpenTracing、gRPC、CNI、Notary、NATS、Linkerd、Rook、etcd、OPA、CRI-O、TiKV、CloudEvents、Falco、Argo、Dragonfly、SPIFFE和SPIRE、Contour,Operator Framework是一个中立的基金会的一部分,该基金会与它的技术兴趣保持一致,而更大的Linux基金会则提供了治理、市场支持和社区服务。

每个CNCF项目都有一个相关的成熟度级别:沙箱、孵化或毕业级。有关每个等级的成熟度要求的更多信息,请访问CNCF毕业标准。

https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc

有关操作器框架的更多信息,请访问https://operatorframework.io/。

0 人点赞