Consulte este tema si experimenta un problema al agregar certificados de CA de confianza adicionales a un clúster de TKG.

Solucionar errores con certificados de CA de confianza adicionales

Mediante la API v1alpha3 o la API v1beta1, puede incluir una variable trust que contenga valores para certificados de CA de confianza adicionales. El caso práctico común es agregar un certificado de registro de contenedor privado al clúster. Consulte Integrar clústeres de Servicio TKG con un registro de contenedor privado.

Por ejemplo, use la API v1beta1:
topology:
  variables:
    - name: trust
      value:
        additionalTrustedCAs:
          - name: my-ca
Con el secreto de la siguiente manera:
apiVersion: v1
data:
  my-ca: # Double Base64 encoded CA certificate
kind: Secret
metadata:
  name: CLUSTER_NAME-user-trusted-ca-secret
  namespace: tap
type: Opaque

Cuando se agrega una instancia trust.additionalTrustedCAs a una especificación de clúster de TKG, Supervisor actualiza los nodos del clúster en una actualización gradual. Sin embargo, si se produce un error en los valores de trust, las máquinas no aparecerán correctamente y no se unirán al clúster.

Si utiliza la API v1beta1, el contenido del certificado debe tener codificación base64 doble. Si el contenido del certificado no está codificado en base64 doble, es posible que aparezca el siguiente error.
ls cannot access '/var/tmp/_var_ib_containerd': No such file or directory
Si utiliza la API v1alpha3 (o la API v1alpha2), el contenido del certificado debe estar codificado en base64 único. Si el contenido del certificado no está codificado en base64, es posible que aparezca el siguiente error.
"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 no utiliza la codificación adecuada, los nodos de máquina no aparecerán y recibirá el error anterior. Para solucionar el problema, codifique correctamente el contenido del certificado y agregue ese valor a la asignación de datos del secreto.

Puede ejecutar `kubectl replace -f /tmp/kubectl-edit-2005376329.yaml` para volver a probar esta actualización.