6.4. 在断开连接的环境中在 IBM Z 上部署托管的 control plane
在断开连接的环境中托管的 control plane 部署与独立的 OpenShift Container Platform 不同。
托管 control plane 涉及两个不同的环境:
- control plane:在管理集群中,托管 control plane pod 由 Control Plane Operator 运行和管理。
- data plane:查找托管集群的 worker,工作负载和其他几个 pod 运行,由 Hosted Cluster Config Operator 管理。
data plane 的 ImageContentSourcePolicy
(ICSP) 自定义资源通过托管集群清单中的 ImageContentSources
API 管理。
对于 control plane,ICSP 对象在管理集群中管理。这些对象由 HyperShift Operator 解析,并作为与 Control Plane Operator 的 registry-overrides
条目共享。这些条目作为环境变量注入托管 control plane 命名空间中的任何可用部署之一。
要在托管 control plane 中使用断开连接的 registry,您必须首先在管理集群中创建适当的 ICSP。然后,要在数据平面中部署断开连接的工作负载,您需要将您要的条目添加到托管集群清单中的 ImageContentSources
字段中。
6.4.1. 在断开连接的环境中在 IBM Z 上部署托管 control plane 的先决条件 复制链接链接已复制到粘贴板!
- 镜像 registry。如需更多信息,请参阅"使用 mirror registry for Red Hat OpenShift 创建镜像 registry"。
- 用于断开连接的安装的镜像。如需更多信息,请参阅"使用 oc-mirror 插件为断开连接的安装镜像镜像"。
6.4.2. 将凭证和 registry 证书颁发机构添加到管理集群 复制链接链接已复制到粘贴板!
要从管理集群中拉取 mirro registry 镜像,您必须首先将 registry 的 mirro registry 的证书颁发机构添加到管理集群。使用以下步骤:
流程
运行以下命令,使用 mirro registry 的证书创建
ConfigMap
:oc apply -f registry-config.yaml
$ oc apply -f registry-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow registry-config.yaml 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对
image.config.openshift.io
集群范围的对象进行补丁,使其包含以下条目:spec: additionalTrustedCA: - name: registry-config
spec: additionalTrustedCA: - name: registry-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新管理集群 pull secret,以添加 mirro registry 的凭证。
运行以下命令,以 JSON 格式从集群获取 pull secret:
oc get secret/pull-secret -n openshift-config -o json \ | jq -r '.data.".dockerconfigjson"' \ | base64 -d > authfile
$ oc get secret/pull-secret -n openshift-config -o json \ | jq -r '.data.".dockerconfigjson"' \ | base64 -d > authfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑获取的 secret JSON 文件,使其包含带有证书颁发机构凭证的部分:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令更新集群中的 pull secret:
oc set data secret/pull-secret -n openshift-config \ --from-file=.dockerconfigjson=authfile
$ oc set data secret/pull-secret -n openshift-config \ --from-file=.dockerconfigjson=authfile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
当您将 mirro registry 用于镜像时,代理需要信任 registry 的证书来安全地拉取镜像。您可以通过创建 ConfigMap
将镜像 registry 的证书颁发机构添加到 AgentServiceConfig
自定义资源中。
先决条件
- 您必须为 Kubernetes Operator 安装多集群引擎。
流程
在安装多集群引擎 Operator 的同一命名空间中,使用 mirro registry 详情创建一个
ConfigMap
资源。此ConfigMap
资源可确保为托管集群 worker 授予从 mirro registry 检索镜像的功能。ConfigMap 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 其中:
<mirror_registry>
是 mirro registry 的名称。
对
AgentServiceConfig
资源进行补丁,使其包含您创建的ConfigMap
资源。如果AgentServiceConfig
资源不存在,请使用嵌入到其中的以下内容创建AgentServiceConfig
资源:spec: mirrorRegistryRef: name: mirror-config
spec: mirrorRegistryRef: name: mirror-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.4. 将 registry 证书颁发机构添加到托管集群 复制链接链接已复制到粘贴板!
当您在断开连接的环境中在 IBM Z 上部署托管 control plane 时,请包含 additional-trust-bundle
和 image-content-sources
资源。这些资源允许托管集群将证书颁发机构注入 data plane worker,以便从 registry 中拉取镜像。
使用
image-content-sources
信息创建icsp.yaml
文件。image-content-sources
信息可在ImageContentSourcePolicy
YAML 文件中使用oc-mirror
来镜像后生成的。ImageContentSourcePolicy 文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建托管集群并提供
additional-trust-bundle
证书以使用证书更新计算节点,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<hosted_cluster_name>
替换为托管集群的名称。 - 2
- 替换 pull secret 的路径,例如
/user/name/pullsecret
。 - 3
- 将
<hosted_control_plane_namespace>
替换为托管的 control plane 命名空间的名称,如cluster-hosted
。 - 4
- 将 name 替换为您的基域,例如
example.com
。 - 5
- 替换 etcd 存储类名称,如
lvm-storageclass
。 - 6
- 替换 SSH 公钥的路径。默认文件路径为
~/.ssh/id_rsa.pub
。 - 7 8
- 使用您要使用的支持的 OpenShift Container Platform 版本替换,如
4.19.0-multi
。 - 9
- 替换证书颁发机构 registry 的路径。