1.3.2.2. 从 2.2.x 升级到 2.3.4 可能会导致 klusterlet 删除
从 2.2.x 升级到 2.3.4 后,可能会删除 Klusterlet。请参阅以下流程来解决这个问题:
将 work-agent 升级到 2.3.3。
创建一个 JSON 文件
work-image-override.json
,其中包含以下 JSON 内容:[ { "image-name": "work-rhel8", "image-remote": "registry.redhat.io/rhacm2", "image-digest": "sha256:b6606f6bb6504acfb48f13cd5296473c17088caf380097ff7ce316f781c4f196", "image-key": "work" } ]
为 hub 集群上的镜像覆盖创建 ConfigMap:
kubectl -n open-cluster-management create configmap work-image-override --from-file=./work-image-override.json
通过在 hub 集群中注解
mch
来启用镜像覆盖。kubectl -n open-cluster-management annotate mch multiclusterhub --overwrite mch-imageOverridesCM=work-image-override
重启
multiclusterhub-operator
以强制执行更改。kubectl -n open-cluster-management delete pod multiclusterhub-operator-xxxxx-xxxxx
等待大约 30 分钟,确保所有受管集群上运行的 work-agent 都通过覆盖的镜像重启。
- 从 2.2.x 升级到 2.3.4。
- 为 work-agent 禁用镜像覆盖。
升级完成后,为 work-agent 删除镜像覆盖是安全的。
kubectl -n open-cluster-management annotate mch multiclusterhub mch-imageOverridesCM- --overwrite kubectl -n open-cluster-management delete configmap work-image-override