前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TOC批准Operator Framework为孵化项目

TOC批准Operator Framework为孵化项目

作者头像
CNCF
发布2020-07-13 14:27:56
5190
发布2020-07-13 14:27:56
举报
文章被收录于专栏:CNCFCNCF

今天,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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档