搜索

第 3 章 由 Operator 管理的产品

download PDF

Operator 必须能够使用目标 Red Hat OpenShift 版本的 Operator Lifecycle Manager (OLM)在 Red Hat OpenShift 上部署您的软件产品。

警告

如果任何特定的硬件要求对于运行您的认证 operator 至关重要,红帽建议通过列出产品系统要求页面中的所有要求,并将其链接到 红帽生态系统目录上的产品页面来通知 您的客户。

3.1. Operator 要求

要求原因

Operator 捆绑包必须成功通过 Operator SDK 捆绑包验证

红帽建议使用 SDK 来创建 Operator,以确保格式正确。

确保与 Operator Lifecycle Manager (OLM)正确格式和兼容性。

Operator 必须更新每个自定义资源(CR)的 status 字段。

确保用户可以确定 CR 的运行状态并确定潜在的故障。

Operator 捆绑包中的集群服务版本(CSV)必须包含 Required CSV 字段中指示的所有字段,以及 metadata.annotations 下的以下必填字段:

类别
应用于此产品的 community-operators/categories 列表的逗号分隔列表字符串。
description
Operator 的简短描述。
containerImage
Operator 镜像的完整位置(registry、存储库、名称和标签)。
createdAt
创建 Operator 镜像的大约(到天)的时间戳。
支持
作为支持此产品的供应商,您公司的名称。
operators.openshift.io/valid-subscription
有关使用该产品所需的订阅或许可证的信息,作为自由表文本。
features.operators.openshift.io/disconnected
指定 Operator 是否利用 spec.relatedImages CSV 字段,并通过引用其摘要中的任何相关镜像在没有互联网连接的情况下运行。有效值为 "true""false "。
features.operators.openshift.io/fips-compliant
指定 Operator 是否接受底层平台的联邦信息处理标准(FIPS)配置,并可用于引导到 FIPS 模式的节点。在这个模式中,Operator 及其管理(操作)的任何工作负载都只调用为 FIPS-140 验证提交的 Red Hat Enterprise Linux (RHEL)加密库。有效值为 "true""false "。
features.operators.openshift.io/proxy-aware
通过接受标准 HTTP_PROXYHTTPS_PROXY 代理环境变量来指定 Operator 支持在代理后面的集群中运行。如果适用,Operator 会将此信息传递给它管理的工作负载(操作)。有效值为 "true""false "。
features.operators.openshift.io/tls-profiles
指定 Operator 是否实现已知的可调项,以修改 Operator 使用的 TLS 密码套件;如果适用,它管理的任何工作负载(操作)。有效值为 "true""false "。
features.operators.openshift.io/token-auth-aws
使用 Cloud Credential Operator (CCO) 指定 Operator 支持通过 AWS Secure Token Service (STS)使用 AWS API 进行 tokenzied 身份验证配置。有效值为 "true""false "。
features.operators.openshift.io/token-auth-azure
指定 Operator 支持使用 Cloud Credential Operator (CCO)通过 Azure Managed Identity 通过 Azure Managed Identity 进行 tokenzied 身份验证配置。有效值为 "true""false "。
features.operators.openshift.io/token-auth-gcp
指定 Operator 是否支持通过 Google Cloud Platform (GCP) Workload Identity Foundation (WIF)使用 Cloud Credential Operator (CCO)通过 Google Cloud API 进行 tokenzied 身份验证的配置。有效值为 "true""false "。

也可以定义其他可选注解,如以下 Kubernetes 插件:

features.operators.openshift.io/cnf
指定 Operator 是否提供 Cloud-Native Network Function (CNF) Kubernetes 插件。
features.operators.openshift.io/cni
指定 Operator 是否提供 Container Network Interface (CNI) Kubernetes 插件。
features.operators.openshift.io/csi
指定 Operator 是否提供 Container Storage Interface (CSI) Kubernetes 插件。

如需有关 CSV 中所需注解、可选注解和示例用法的更多信息,请参阅 Operator 元数据注解

向用户和支持机构提供有关此 Operator 管理的产品的详细信息。

Operator 捆绑包必须通过设置 com.redhat.openshift.versions 注解来指示目标产品支持的 OpenShift 的次要版本。有关语法的详情,请参阅 控制与 OpenShift Container Platform 版本的 Operator 兼容性

版本范围必须包含一个或多个主动支持的 RHOCP 版本,它们处于 完全支持阶段或维护支持阶段

所有包含在范围中的 Red Hat OpenShift 版本,但不再被支持。对这些版本的 Operator 发布将处理在 best-effort-basis 上。

版本范围可以包括 RHOCP 的未来发行版本。在这种情况下,Operator 会在该版本正式发布后被列为已认证。

告知用户此 Operator 支持的 Red Hat OpenShift 版本,同时确保客户可以在红帽支持的 OpenShift 环境中进行部署。

版本详情用于决定必须更新特定于版本的 Operator 目录索引。

Operator 不能使用在此范围内所有 Red Hat OpenShift 版本中不存在的任何 API。

确保目标版本中提供了使用的任何 API。

Operator 捆绑包中的 CSV 必须指示 Operator 拥有的所有 CRD

确保正确跟踪和管理 CRD 生命周期。

Operator 捆绑包中的 CSV 必须使用 spec.relatedImages 字段指示执行其功能所需的所有容器镜像。

正确识别所有依赖项。

Operator 名称必须与社区、认证和红帽目录中已经发布的任何其他 Operator 名称不同。

为避免名称冲突。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.