查看升级信息,是etcd operator升级不上去,说是master2上的etcd pod有问题。
具体信息让查看install-6-master2* 这个pod:
查看openshift-etcd ns中的pod,没有install-6-master2* 这个pod。
我理解是升级操作没有触发master2节点的etcd升级。于是将上面正在运行的pod轮着删除自动重建了一遍,没效果。
尝试重新部署etcd static pod:
#oc patch etcd/cluster --type merge -p "{\"spec\":{\"forceRedeploymentReason\":\"Forcing new revision with random number $RANDOM to make message unique\"}}"
执行完毕后,我发现etcd 开始升级。
如下图所示,出现了installer-7-master2。
从下图我们可以看出:install-*-master*是负责给ectd升级的pod,每个master节点都会有对应的升级pod,一个版本升级完毕后,就会变成Completed,然后进行下一个版本的升级。
从下图我们可以看出,etcd从6版本轮询升级到了9版本:
查看OCP升级的步骤,已经向下推进了:
大功告成。
OCP中,除了etcd这个static pod外,另外三个static pod如果出现类似的报错,也可以用相同的思路进行处理:
kube-apiserver static pods:
#oc patch kubeapiserver/cluster --type merge -p "{\"spec\":{\"forceRedeploymentReason\":\"Forcing new revision with random number $RANDOM to make message unique\"}}"
kube-controller-manager static pods:
oc patch kubecontrollermanager/cluster --type merge -p "{\"spec\":{\"forceRedeploymentReason\":\"Forcing new revision with random number $RANDOM to make message unique\"}}"
kube-scheduler static pods:
#oc patch kubescheduler/cluster --type merge -p "{\"spec\":{\"forceRedeploymentReason\":\"Forcing new revision with random number $RANDOM to make message unique\"}}"