×

本文档描述了在优雅关机后重启集群的过程。

尽管预期集群在重启后能够正常运行,但由于意外情况(例如)集群可能无法恢复

  • 关机期间 etcd 数据损坏

  • 由于硬件故障导致的节点故障

  • 网络连接问题

如果您的集群无法恢复,请按照步骤操作,以恢复到之前的集群状态

先决条件

重启集群

优雅关闭后,您可以重启集群。

先决条件
  • 您具有 `cluster-admin` 角色的用户权限。

  • 此过程假设您已优雅地关闭集群。

步骤
  1. 启动任何集群依赖项,例如外部存储或 LDAP 服务器。

  2. 启动所有集群机器。

    使用适合您云环境的方法启动机器,例如,从您的云提供商的 Web 控制台启动。

    继续检查控制平面节点的状态之前,请等待大约 10 分钟。

  3. 验证所有控制平面节点是否已准备好。

    $ oc get nodes -l node-role.kubernetes.io/master

    如果状态为 `Ready`,则控制平面节点已准备好,如下所示

    NAME                           STATUS   ROLES                  AGE   VERSION
    ip-10-0-168-251.ec2.internal   Ready    control-plane,master   75m   v1.30.3
    ip-10-0-170-223.ec2.internal   Ready    control-plane,master   75m   v1.30.3
    ip-10-0-211-16.ec2.internal    Ready    control-plane,master   75m   v1.30.3
  4. 如果控制平面节点准备好,请检查是否有任何必须批准的未决证书签名请求 (CSR)。

    1. 获取当前 CSR 的列表

      $ oc get csr
    2. 查看 CSR 的详细信息以验证其有效性

      $ oc describe csr <csr_name> (1)
      1 `<csr_name>` 是来自当前 CSR 列表的 CSR 的名称。
    3. 批准每个有效的 CSR

      $ oc adm certificate approve <csr_name>
  5. 控制平面节点准备好后,验证所有工作节点是否已准备好。

    $ oc get nodes -l node-role.kubernetes.io/worker

    如果状态为 `Ready`,则工作节点已准备好,如下所示

    NAME                           STATUS   ROLES    AGE   VERSION
    ip-10-0-179-95.ec2.internal    Ready    worker   64m   v1.30.3
    ip-10-0-182-134.ec2.internal   Ready    worker   64m   v1.30.3
    ip-10-0-250-100.ec2.internal   Ready    worker   64m   v1.30.3
  6. 如果工作节点准备好,请检查是否有任何必须批准的未决证书签名请求 (CSR)。

    1. 获取当前 CSR 的列表

      $ oc get csr
    2. 查看 CSR 的详细信息以验证其有效性

      $ oc describe csr <csr_name> (1)
      1 `<csr_name>` 是来自当前 CSR 列表的 CSR 的名称。
    3. 批准每个有效的 CSR

      $ oc adm certificate approve <csr_name>
  7. 控制平面和工作节点准备好后,将集群中的所有节点标记为可调度。运行以下命令

    for node in $(oc get nodes -o jsonpath='{.items[*].metadata.name}'); do echo ${node} ; oc adm uncordon ${node} ; done
  8. 验证集群是否已正确启动。

    1. 检查是否存在任何降级的集群运算符。

      $ oc get clusteroperators

      检查是否有任何集群运算符的 `DEGRADED` 条件设置为 `True`。

      NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE
      authentication                             4.17.0    True        False         False      59m
      cloud-credential                           4.17.0    True        False         False      85m
      cluster-autoscaler                         4.17.0    True        False         False      73m
      config-operator                            4.17.0    True        False         False      73m
      console                                    4.17.0    True        False         False      62m
      csi-snapshot-controller                    4.17.0    True        False         False      66m
      dns                                        4.17.0    True        False         False      76m
      etcd                                       4.17.0    True        False         False      76m
      ...
    2. 检查所有节点是否都处于 `Ready` 状态

      $ oc get nodes

      检查所有节点的状态是否为 `Ready`。

      NAME                           STATUS   ROLES                  AGE   VERSION
      ip-10-0-168-251.ec2.internal   Ready    control-plane,master   82m   v1.30.3
      ip-10-0-170-223.ec2.internal   Ready    control-plane.master   82m   v1.30.3
      ip-10-0-179-95.ec2.internal    Ready    worker                 70m   v1.30.3
      ip-10-0-182-134.ec2.internal   Ready    worker                 70m   v1.30.3
      ip-10-0-211-16.ec2.internal    Ready    control-plane,master   82m   v1.30.3
      ip-10-0-250-100.ec2.internal   Ready    worker                 69m   v1.30.3

      如果集群未正确启动,您可能需要使用 etcd 备份恢复集群。

其他资源