快速跳转

什么是红帽 OpenShift Operator?

复制 URL

红帽® OpenShift® Operator 自动执行 Kubernetes 原生应用实例的创建、配置和管理。从管理构成平台的各个组件,到作为托管服务提供的应用,Operator 可以实现全堆栈自动化运维。

红帽 OpenShift 使用 Operator 以自动方式运行整个平台,同时通过 Kubernetes 对象原生开放配置,从而进行快速安装和频繁可靠的更新。除 Operator 管理平台的自动化优势外,红帽 OpenShift 还可以更轻松地查找、安装和管理集群上运行的 Operator。

红帽 OpenShift 还整合了 OperatorHub,它是来自软件供应商和开源项目的认证 Operator 库。在嵌入式 OperatorHub 中,您可以浏览并安装经认证可与红帽 OpenShift 配合使用,以及已封装便于进行生命周期管理的 Operator 库。

 

 

Kubernetes Operator 是封装、部署和管理 Kubernetes 原生应用的一种方法。我们使用 Kubernetes API 和 kubectl 工具在 Kubernetes 上部署并管理 Kubernetes 原生应用。

Operator 本质上是一个自定义的控制器。

控制器是 Kubernetes 的核心概念,以 Kubernetes 主节点上持续运行的软件回路的形式实现,它的作用是比较对象的当前状态、(并在必要时)负责其接近期望状态。对象是我们所知的各种资源,如容器集、服务、ConfigMaps 或 PersistentVolume。Operator 在整个应用级别应用该模型,它实际上是特定于应用的控制器。

Operator 是运行在集群容器集中的软件,与 Kubernetes API 服务器进行交互。它通过自定义资源定义(Kubernetes 中的一种扩展机制)引入新的对象类型。这些自定义对象是用户的主要界面;与 Kubernetes 集群上基于资源的交互模型一致。

Operator 会监控这些自定义资源类型,并会得到有关其存在或修改的通知。当 Operator 收到这类通知时,它将开始运行一个回路,确保这些对象所代表的应用服务的所有所需连接都实际可用,并按照用户在对象规范中的方式进行配置。

电子书

O’Reilly:Kubernetes Operator:自动化容器编排平台

查看 Operator 如何运行以及如何使用 Operator 框架和 SDK 构建 Operator 的示例。

Operator 框架是为开发人员和集群管理员提供工具,以加速 Operator 开发和部署的开源项目。

该项目包含了用于构建 Kubernetes 应用的 Operator 软件开发工具包(SDK)、使用 Operator 扩展 Kubernetes 的管理框架,以及 Kubernetes 社区现有 Operator 的目录。

社区 Operator

通过访问社区 Operator,开发人员和集群管理员可以试用各种成熟度级别的 Operator,这些 Operator 可与任何 Kubernetes 共同使用。查看 OperatorHub.io 上的社区 Operator。

经认证的 Operator

通过嵌入式 OperatorHub 中的红帽 OpenShift 认证 Operator,开发人员和集群管理员可以访问"即服务"的工作负载库,该库经过红帽 OpenShift 验证,并由红帽及其合作伙伴提供支持。

Operator 软件开发工具包(SDK)提供构建、测试和打包 Operator 的工具。该 SDK 删去了许多通常需要与 Kubernetes API 集成的样板代码。它还可提供实用框架,让开发人员可以专注于添加业务逻辑(例如,如何扩展、升级或备份它管理的应用)。SDK 中包含跨 Operator 共享的领先实践和代码模式,从而帮助防止重复工作。SDK 还支持利用能对 Operator 进行基本验证的工具进行短期迭代开发和测试周期,并使用 Operator 生命周期管理器自动打包部署。

 

 

Operator 生命周期管理器(OLM)是帮助管理 Kubernetes 集群上的 Operator 的基础。将热门应用作为服务提供的 Operator 将是长期的工作负载,有可能在集群上有很多权限。

使用 OLM,管理员可以控制哪些 Operator 在哪些名称空间中可用,以及谁可以与正在运行的 Operator 交互。Operator 的权限会进行自动准确配置,以遵循最低权限方法。OLM 通过解决对其他 Operator 的依赖关系、触发 Operator 及其管理的应用的更新,或授权团队访问其集群部分的 Operator,来管理 Operator 的整个生命周期及其资源。

简单、无状态的应用可以通过利用通用 Operator(例如 Helm Operator)来使用 Operator 框架的生命周期管理功能,无需编写任何代码。但是,在复杂且有状态的应用中,Operator 的作用就能非常凸显。写入 Operator 代码中的托管服务功能可以提供高级用户体验,自动化更新、备份和扩展等功能。

 

 

通过计量扩展,IT 团队可以更好地控制预算,软件供应商可以更轻松地跟踪其商业软件的使用情况。Operator 计量旨在跟踪集群的 CPU 和内存的信息,并计算 IaaS 成本和自定义指标,如许可证。

扩展阅读

培训

红帽 OpenShift Operator 认证

红帽® OpenShift® Operator 认证结合了 Kubernetes Operator 的优势和红帽合作伙伴网络的实力。

文章

什么是 Kubernetes Operator?

Kubernetes Operator 是一种特定于应用的控制器,可扩展 Kubernetes API 的功能,来代表 Kubernetes 用户创建、配置和管理复杂应用的实例。

文章

什么是 Kubernetes?

Kubernetes 是一个开源的容器编排平台,它可以将部署、管理和扩展容器化应用的许多手动过程自动化。

开始使用企业级 Kubernetes 平台

Red Hat OpenShift

企业就绪型 Kubernetes 容器平台,可实现全栈自动化运维,从而轻松管理混合云、多云和边缘部署。 

Illustration - mail

获取更多类似的内容

免费订阅我们的 Red Hat Shares 通讯邮件