如果在向 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”重试此更新。