TKG クラスタに信頼できる CA 証明書を追加する際に問題が発生した場合は、このトピックを参照してください。

追加の信頼できる CA に関するエラーのトラブルシューティング

v1alpha3 API または v1beta1 API のいずれかを使用して、追加の信頼できる CA 証明書の値を含む trust 変数を指定できます。一般的な使用事例は、プライベート コンテナ レジストリ証明書をクラスタに追加する場合です。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

TKG クラスタ仕様に trust.additionalTrustedCAs スタンザを追加すると、スーパーバイザーローリング アップデート方式でクラスタ ノードを更新します。ただし、trust 値が誤っていると、マシンが適切に起動せず、クラスタへの参加に失敗します。

v1beta1 API を使用している場合は、証明書の内容を double 型の base64 エンコード形式にする必要があります。証明書の内容が double 型の base64 エンコード形式でない場合は、次のエラーが表示されることがあります。
ls cannot access '/var/tmp/_var_ib_containerd': No such file or directory
v1alpha3 API(または v1alpha2 API)を使用している場合は、証明書の内容を single 型の 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」を実行して、この更新を再試行できます。