4.4. 恢复一个休眠集群
当您在 90 天内恢复休眠集群时,您可能需要批准证书签名请求(CSR)以使节点就绪。
根据集群的大小,集群可能需要大约 45 分钟才能恢复。
先决条件
- 您在 90 天内休眠集群。
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
在集群休眠的 90 天内恢复集群虚拟机:
使用集群云环境原生的工具来恢复集群的虚拟机。
- 具体取决于集群中的节点数量,等待大约 5 分钟。
批准节点的 CSR:
检查每个节点是否处于
NotReady状态的 CSR:oc get csr
$ oc get csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION csr-4dwsd 37m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2 24h Pending csr-4vrbr 49m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-master-1 24h Pending csr-4wk5x 51m kubernetes.io/kubelet-serving system:node:ci-ln-812tb4k-72292-8bcj7-master-1 <none> Pending csr-84vb6 51m kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> Pending
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION csr-4dwsd 37m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2 24h Pending csr-4vrbr 49m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-master-1 24h Pending csr-4wk5x 51m kubernetes.io/kubelet-serving system:node:ci-ln-812tb4k-72292-8bcj7-master-1 <none> Pending csr-84vb6 51m kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> PendingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来批准每个有效的 CSR:
oc adm certificate approve <csr_name>
$ oc adm certificate approve <csr_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证所有必需的 CSR 是否已批准:
oc get csr
$ oc get csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION csr-4dwsd 37m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2 24h Approved,Issued csr-4vrbr 49m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-master-1 24h Approved,Issued csr-4wk5x 51m kubernetes.io/kubelet-serving system:node:ci-ln-812tb4k-72292-8bcj7-master-1 <none> Approved,Issued csr-84vb6 51m kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> Approved,Issued
NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION csr-4dwsd 37m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-worker-c-q8mw2 24h Approved,Issued csr-4vrbr 49m kubernetes.io/kube-apiserver-client system:node:ci-ln-812tb4k-72292-8bcj7-master-1 24h Approved,Issued csr-4wk5x 51m kubernetes.io/kubelet-serving system:node:ci-ln-812tb4k-72292-8bcj7-master-1 <none> Approved,Issued csr-84vb6 51m kubernetes.io/kube-apiserver-client-kubelet system:serviceaccount:openshift-machine-config-operator:node-bootstrapper <none> Approved,IssuedCopy to Clipboard Copied! Toggle word wrap Toggle overflow CSR 应该在
CONDITION列中显示为Approved,Issued。
运行以下命令验证所有节点现在显示为 ready :
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 所有节点的
STATUS列都应显示Ready。批准 CSR 后,所有节点可能需要几分钟时间才会变为就绪。等待集群 Operator 重启以加载新证书。
这可能需要 5 分钟或 10 分钟。
运行以下命令,验证所有集群 Operator 是否都处于良好状态:
oc get clusteroperators
$ oc get clusteroperatorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 所有集群 Operator 都应显示
AVAILABLE=True,PROGRESSING=False, 和DEGRADED=False。