5.6.4. 为多个架构和操作系统启用您的 Operator
Operator Lifecycle Manager (OLM) 假设所有 Operator 都在 Linux 主机中运行。但是,作为 Operator 的开发者,如果 OpenShift Container Platform 集群中有 worker 节点,您可以指定您的 Operator 是否支持管理其他架构上的工作负载。
如果 Operator 支持 AMD64 和 Linux 以外的变体,您可以向 CSV 添加标签,从而提供 Operator 列出支持的变体。标注支持的架构和操作系统的标签定义如下:
labels: operatorframework.io/arch.<arch>: supported 1 operatorframework.io/os.<os>: supported 2
只有默认频道的频道头的标签才会在根据标签进行过滤时考虑软件包清单。例如,这表示有可能在非默认频道中为 Operator 提供额外的架构,但该架构在 PackageManifest
API 中不可用。
如果 CSV 不包括 os
标签,它将被视为默认具有以下 Linux 支持标签:
labels: operatorframework.io/os.linux: supported
如果 CSV 不包括 arch
标签,它将被视为默认具有以下 AMD64 支持标签:
labels: operatorframework.io/arch.amd64: supported
如果 Operator 支持多个节点架构或操作系统,您也可以添加多个标签。
先决条件
- 包含 CSV 的 Operator 项目
- 要支持列出多个架构和操作系统,CSV 中引用的 Operator 镜像必须是清单列表镜像。
- 要使 Operator 在受限网络或断开连接的环境中正常工作,还必须使用摘要(SHA)而不是标签(tag)来指定引用的镜像。
流程
在 CSV 的
metadata.labels
中为每个 Operator 支持的架构和操作系统添加标签:labels: operatorframework.io/arch.s390x: supported operatorframework.io/os.zos: supported operatorframework.io/os.linux: supported 1 operatorframework.io/arch.amd64: supported 2
其他资源
- 如需有关清单列表的更多信息 ,请参阅Image Manifest V 2, Schema 2 说明。
5.6.4.1. Operator 的架构和操作系统支持
在标记或过滤支持多个架构和操作系统的 Operator 时,OpenShift Container Platform 上的 Operator Lifecycle Manager (OLM) 支持以下字符串:
架构 | 字符串 |
---|---|
AMD64 |
|
64-bit PowerPC little-endian |
|
IBM Z |
|
操作系统 | 字符串 |
---|---|
Linux |
|
z/OS |
|
OpenShift Container Platform 的不同版本和其他基于 Kubernetes 的发行版本可能支持不同的架构和操作系统集合。