Reportez-vous à cette rubrique si vous rencontrez un problème lors de l'ajout de certificats d'autorité de certification approuvés supplémentaires à un cluster TKG.

Résoudre d'autres erreurs d'autorité de certification approuvée

À l'aide de l'API v1alpha3 ou de l'API v1beta1, vous pouvez inclure une variable trust qui contient des valeurs pour des certificats d'autorité de certification approuvés supplémentaires. Le cas d'utilisation courant consiste à ajouter un certificat de registre de conteneur privé au cluster. Reportez-vous à la section Intégrer des clusters de Service TKG avec un registre de conteneur privé.

Par exemple, en utilisant l'API vbeta :
topology:
  variables:
    - name: trust
      value:
        additionalTrustedCAs:
          - name: my-ca
Le secret étant le suivant :
apiVersion: v1
data:
  my-ca: # Double Base64 encoded CA certificate
kind: Secret
metadata:
  name: CLUSTER_NAME-user-trusted-ca-secret
  namespace: tap
type: Opaque

Lorsque vous ajoutez une section trust.additionalTrustedCAs à une spécification de cluster TKG, le Superviseur met à jour les nœuds de cluster de manière à ce que la Présentation du modèle de mise à jour continue pour les clusters Service TKGmise à jour soir continue. Cependant, si vous faites une erreur dans les valeurs trust, les machines ne s'activent pas correctement et ne parviennent pas à joindre le cluster.

Si vous utilisez l'API v1beta1, le contenu du certificat doit être codé en base64 double. Si le contenu du certificat n'est pas codé en base64 double, vous pouvez voir l'erreur suivante.
ls cannot access '/var/tmp/_var_ib_containerd': No such file or directory
Si vous utilisez l'API v1alpha3 (ou l'API v1alpha2), le contenu du certificat doit être codé en base64 unique. Si le contenu du certificat n'est pas codé en base 64, vous pouvez voir l'erreur suivante.
"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

Si vous n'utilisez pas le codage approprié, les nœuds de machine ne s'activent pas et vous recevez l'erreur ci-dessus. Pour résoudre le problème, codez correctement le contenu du certificat et ajoutez cette valeur à la carte de données du secret.

Vous pouvez exécuter « kubectl replace -f /tmp/kubectl-edit-2005376329.yaml » pour réessayer cette mise à jour.