更新 vCenter CA 证书引用

本页面介绍如何在 vCenter CA 证书发生变化时更新对证书的引用,因为正在运行的管理员集群和用户集群必须知晓相关更改。这会影响 Google Distributed Cloud 的管理员集群配置文件和用户集群配置文件中的 vCenter.caCertPath 字段。

您可以使用此处说明的 gkectl update 命令更新证书引用。

更新集群配置文件中引用的 vCenter CA 证书

要更新正在运行的管理员和用户集群以使用新的证书,请执行以下操作:

  1. 检索新的 vCenter CA 证书并将其解压缩:

    curl -o certs.zip https://VCENTER_IP_ADDRESS_OR_FQDN/certs/download.zip
    unzip certs.zip
    

    如果要允许未知证书,您可以使用 -k 标志。这是为了避免您访问 vCenter 可能遇到的任何证书问题。

  2. 确定哪个 vCenter 证书有效。解压缩的 ..../certs/lin 文件夹中只有一个 Linux 证书文件是有效的 vCenter 证书。如需确定哪个文件是有效的 vCenter 证书,请执行以下操作:

    1. 在已安装 govc 的管理员工作站上,设置以下环境变量。如果尚未完成,请下载并安装 govc 工具

      export GOVC_URL=https://VCENTER_IP_ADDRESS_OR_FQDN
      export GOVC_USERNAME=VCENTER_USERNAME
      export GOVC_PASSWORD=VCENTER_PASSWORD
      export GOVC_TLS_CA_CERTS=FULL_PATH_OF_EXTRACTED_LIN_FILE
      export GOVC_INSECURE=false
      

      替换以下内容:

      • VCENTER_IP_ADDRESS_OR_FQDN:vCenter Server 的 IP 地址或 FQDN。

      • VCENTER_USERNAME:vCenter Server 的用户名。

      • VCENTER_PASSWORD:指定用户名的密码。

      • FULL_PATH_OF_EXTRACTED_LIN_FILE:您要进行有效性测试的 Linux 证书文件的完整路径。

    2. 如需验证 vCenter 证书是否有效,请运行 govc about 命令:

      govc about
      

      如果 vCenter 证书有效,govc about 命令会输出与以下内容类似的 vCenter Server 详细信息:

      FullName: VMware Center Server 7.0.3 build-24322018
      Name: VMware Center Server
      Vendor: VMware, Inc.
      Version: 7.0.3
      Build: 24322018
      OS type: linux-x64
      API type: VirtualCenter
      API version: 7.0.3.0
      Product ID: vpx
      UUID: 475fa366-faa9-43f0-9417-e6dadc55514c
      

      如果证书无效,您应该会看到 x509 错误。如果您看到 x509 错误,请更新 FULL_PATH_OF_EXTRACTED_LIN_FILE 环境变量,使其指向提取的 ..../certs/lin 文件夹中的其他 Linux 证书文件,然后再次运行 govc about 命令。重复执行步骤 a 和 b,直到找到有效证书,或者直到您测试完提取的 ..../certs/lin 文件夹中的每个 Linux 证书文件。

  3. 如需备份旧的 vCenter CA 证书文件(位于管理员集群配置文件的 vCenter.caCertPath 字段中指定的路径),请将其重命名为 vcenter-ca-cert.pem.old

  4. ..../certs/lin 文件夹中的新有效证书文件重命名为 vcenter-ca-cert.pem,然后将其移至管理员集群配置文件的 vCenter.caCertPath 字段中指定的路径。

  5. 更新管理员集群:

    gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    替换以下内容:

    • ADMIN_CLUSTER_CONFIG:管理员集群配置文件的路径

    更新命令完成后,管理员集群将使用新证书。

  6. 验证管理员集群是否健康:

    gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    如需了解详情,请参阅诊断管理员集群

  7. 在每个用户集群配置文件中,将 vCenter.caCertPath 设置为新 vcenter-ca-cert.pem 文件的路径。

  8. 针对每个用户集群运行 gkectl update 命令:

    gkectl update cluster --config USER_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG

    替换以下内容:

    • USER_CLUSTER_CONFIG:用户集群配置文件的路径

    为特定用户集群完成更新命令后,该集群将使用新的证书。

  9. 验证用户集群是否健康:

    gkectl diagnose cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --cluster-name USER_CLUSTER_NAME
    

    如需了解详情,请参阅诊断用户集群