第 3 章 安装和配置 OpenShift Update Service
对于可访问互联网的集群,红帽通过 OpenShift Container Platform 更新服务提供更新,它作为公共 API 后面的一个托管服务运行。但是,受限网络中的集群无法访问公共 API 来获取更新信息。
要在受限网络中提供类似的升级体验,您可以在本地安装和配置 OpenShift Update Service,使其在断开连接的环境中可用。
以下小节描述了如何为断开连接的集群及其底层操作系统提供无线更新。
3.1. 先决条件
- 如需有关安装 Operator 的更多信息,请参阅在命名空间中安装 Operator。
3.1.1. 为 OpenShift 更新服务配置对安全 registry 的访问权限
如果发行镜像包括在安全 registry 中,请完成 为镜像 registry 访问配置额外信任存储的步骤,以及更新服务的以下更改。
OpenShift Update Service Operator 需要 registry CA 证书中的配置映射键名称为 updateservice-registry
。
更新服务的镜像 registry CA 配置映射示例
apiVersion: v1 kind: ConfigMap metadata: name: my-registry-ca data: updateservice-registry: | 1 -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- registry-with-port.example.com..5000: | 2 -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
3.1.2. 更新全局集群 pull secret
您可以通过替换当前的 pull secret 或附加新的 pull secret 来更新集群的全局 pull secret。
当用户使用单独的 registry 存储镜像而不使用安装过程中的 registry时,需要这个过程。
集群资源必须调整为新的 pull secret,这样可暂时限制集群的可用性。
先决条件
-
您可以使用具有
cluster-admin
角色的用户访问集群。
流程
可选: 要将新的 pull secret 附加到现有 pull secret 中,请完成以下步骤:
输入以下命令下载 pull secret:
$ oc get secret/pull-secret -n openshift-config --template='{{index .data ".dockerconfigjson" | base64decode}}' ><pull_secret_location> 1
- 1
- 提供 pull secret 文件的路径。
输入以下命令来添加新 pull secret:
$ oc registry login --registry="<registry>" \ 1 --auth-basic="<username>:<password>" \ 2 --to=<pull_secret_location> 3
另外,您可以对 pull secret 文件执行手动更新。
输入以下命令为您的集群更新全局 pull secret:
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location> 1
- 1
- 提供新 pull secret 文件的路径。
该更新将推广至所有节点,可能需要一些时间,具体取决于集群大小。
注意从 OpenShift Container Platform 4.7.4 开始,对全局 pull secret 的更改不再触发节点排空或重启。