如果在向 TKG 集群添加其他受信任的 CA 证书时遇到问题,请参阅本主题。

对其他受信任 CA 的错误进行故障排除

使用 v1alpha3 API 或 v1beta1 API,可以包括 trust 变量,其中包含其他受信任 CA 证书的值。常见用例是将专用容器注册表证书添加到集群。请参见将 TKG 服务 集群与专用容器注册表集成

例如,使用 v1beta1 API:
topology:
  variables:
    - name: trust
      value:
        additionalTrustedCAs:
          - name: my-ca
密钥如下所示:
apiVersion: v1
data:
  my-ca: # Double Base64 encoded CA certificate
kind: Secret
metadata:
  name: CLUSTER_NAME-user-trusted-ca-secret
  namespace: tap
type: Opaque

trust.additionalTrustedCAs 部分添加到 TKG 集群规范时,主管滚动更新方式更新集群节点。但是,如果在 trust 值中出错,计算机将无法正常启动,并且无法加入集群。

如果使用的是 v1beta1 API,则证书内容必须采用双 base64 编码。如果证书内容采用的不是双 base64 编码,您可能会看到以下错误。
ls cannot access '/var/tmp/_var_ib_containerd': No such file or directory
如果使用的是 v1alpha3 API(或 v1alpha2 API),则证书内容必须采用单 base64 编码。如果证书内容采用的不是单 base64 编码,您可能会看到以下错误。
"default.validating.tanzukubernetescluster.run.tanzu.vmware.com" denied the request: 
Invalid certificate internalharbor, Error decoding PEM block for internalharbor in the TanzuKubernetesCluster spec's trust configuration

如果未使用正确编码,则计算机节点将不会启动,并且您会收到上述错误。要修复此问题,请对证书内容进行正确编码,并将该值添加到密钥的数据映射中。

您可以运行“kubectl replace -f/tmp/kubectl-edit-2005376329.yaml”重试此更新。