概述
红帽® OpenShift® Operator 能够实现 Kubernetes 原生应用的创建、配置与管理流程自动化。它借助自定义资源定义、自动修复和持续循环来配置 YAML 文件。红帽 OpenShift 通过 Operator 实现应用平台自主运行,同时以原生 Kubernetes 对象形式暴露配置,支持快速安装以及高频、可靠的更新。
Operator 在技术栈的各个层级提供自动化能力,覆盖范围从平台底层组件管理,一直延伸到以托管服务形态交付的应用。除了利用 Operator 获得平台管理的自动化优势之外,红帽 OpenShift 还简化了集群上 Operator 的查找、安装与管理操作。
红帽 OpenShift 内置嵌入式 OperatorHub,这是汇集软件供应商与开源项目提供的认证 Operator 的资源仓库。在嵌入式 OperatorHub 中,您可以浏览和安装 Operator 库,这些 Operator 已经过验证,可与红帽 OpenShift 配合使用,并且经过打包,可轻松进行生命周期管理。
什么是 Kubernetes Operator?
Kubernetes Operator 是一种打包、部署和管理 Kubernetes 原生应用的方法。Kubernetes 原生应用是指部署在 Kubernetes 上并使用 Kubernetes API 和 kubectl 工具进行管理的应用。
Operator 本质上是一种自定义控制器。
控制器是 Kubernetes 的核心概念,它以软件循环的形式持续运行在 Kubernetes 主节点上,比较对象的期望状态与实际状态,并在必要时执行调谐操作。对象可以是 Pod、Service、ConfigMap、PersistentVolume 这类常见资源。Operator 将这套模型应用于整个应用层面,实际上就是面向特定应用的控制器。
Operator 是运行在集群 Pod 内的软件组件,与 Kubernetes API 服务器交互。它通过自定义资源定义(Kubernetes 中的一种扩展机制)引入新的对象类型。这些自定义对象是用户的主要操作接口,与 Kubernetes 集群上基于资源的交互模型保持一致。
Operator 会持续监视这些自定义资源,资源一旦被创建或修改,Operator 就会收到通知。收到通知后,Operator 便会启动循环逻辑,确保这些对象所代表的应用服务所需的全部连接实际可用,并完全按照对象规范中用户定义的要求进行配置。
红帽资源
什么是 Operator 框架?
Operator 框架是一个开源项目,为开发人员和集群管理员提供工具集,以加快 Operator 的开发与部署工作。
该项目包含:用于构建 Kubernetes 应用的 Operator 软件开发套件(SDK)、借助 Operator 扩展 Kubernetes 的管理框架,以及来自 Kubernetes 社区的现有 Operator 目录。
已提供的 Operator
社区 Operator
借助社区 Operator,开发人员与集群管理员可以试用不同成熟度等级、可兼容任意 Kubernetes 的 Operator。可前往 OperatorHub.io 查看社区 Operator。
认证 Operator
借助嵌入式 OperatorHub 中提供的红帽 OpenShift 认证 Operator,开发人员和集群管理员可以获取“即服务”形态的各类工作负载,这些工作负载已在红帽 OpenShift 环境完成验证,并由红帽及其合作伙伴提供技术支持。
使用 Operator 生命周期管理器进行打包
Operator 生命周期管理器(OLM)是支撑 Kubernetes 集群内 Operator 管理的底层组件。以服务形式对外提供主流应用的 Operator 属于长生命周期工作负载,这类工作负载可能在集群中拥有大量权限。
借助 OLM,管理员可以控制各个命名空间下可用的 Operator,以及哪些用户可以操作正在运行的 Operator。Operator 的权限会按照最小权限原则自动完成精准配置。OLM 管理 Operator 及其资源的完整生命周期,包括解析对其他 Operator 的依赖关系、触发 Operator 及其托管应用的更新,或是为团队分配其集群分片对应的 Operator 访问权限。
简单的无状态应用无需编写任何代码,只需借助通用 Operator(例如 Helm Operator),即可使用 Operator 框架的生命周期管理能力。但 Operator 的价值在复杂的有状态应用场景中尤为突出。编码至 Operator 代码内的托管服务能力可以提供高级用户体验,自动完成更新、备份、扩展等功能。
观看视频概述,了解 Operator 和 Helm 的工作原理

使用 Operator Metering 进行统计
借助计量扩展组件,IT 团队可以更好地控制预算,软件供应商也能更便捷地跟踪其商业软件的使用情况。Operator Metering 可对接集群的 CPU 和内存上报数据,同时计算 IaaS 成本以及许可等自定义指标。
借助红帽 OpenShift 加速应用开发
了解红帽 OpenShift 如何帮助企业组织构建、加速和扩展传统及 AI 驱动的工作负载,同时确保安全性与合规性。
