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 内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 hub 集群上的镜像覆盖创建 ConfigMap:
kubectl -n open-cluster-management create configmap work-image-override --from-file=./work-image-override.json
kubectl -n open-cluster-management create configmap work-image-override --from-file=./work-image-override.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在 hub 集群中注解
mch
来启用镜像覆盖。kubectl -n open-cluster-management annotate mch multiclusterhub --overwrite mch-imageOverridesCM=work-image-override
kubectl -n open-cluster-management annotate mch multiclusterhub --overwrite mch-imageOverridesCM=work-image-override
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启
multiclusterhub-operator
以强制执行更改。kubectl -n open-cluster-management delete pod multiclusterhub-operator-xxxxx-xxxxx
kubectl -n open-cluster-management delete pod multiclusterhub-operator-xxxxx-xxxxx
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
等待大约 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
kubectl -n open-cluster-management annotate mch multiclusterhub mch-imageOverridesCM- --overwrite kubectl -n open-cluster-management delete configmap work-image-override
Copy to Clipboard Copied! Toggle word wrap Toggle overflow