快速跳转

什么是红帽 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 SDK: Build, test, iterate

 

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

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

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

 

 

Operator Lifecycle Manager: Install and update across clusters

 

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

扩展阅读

电子书

简化 Kubernetes 环境中的应用管理

Helm 和 Kubernetes 能够帮助提高开发人员生产力,简化应用部署并精简更新和升级。

文章

什么是 Kubernetes Operator?

Kubernetes Operator 是一种封装、部署和管理 Kubernetes 应用的方法。

文章

为什么该选择红帽 OpenShift Serverless?

红帽 OpenShift Serverless 可扩展 Kubernetes,以部署和管理无服务器工作负载。 

详细了解 OpenShift

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

出色的软件定义存储,可以随着容器的增减,跨环境为数据提供永久的存储位置。

企业就绪型 Kubernetes 原生容器安全防护解决方案,让您能够更安全地构建、部署和运行云原生应用。

一个具有内置安全策略、用于控制 Kubernetes 集群和应用的控制台。

相关资源

培训

免费培训课程

"通过红帽来运行容器"技术概述

免费培训课程

利用微服务架构开发云原生应用

免费培训课程

容器、Kubernetes 和红帽 OpenShift 技术概述

Illustration - mail

获取更多类似的内容

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