Consulte este ejemplo para aprovisionar un clúster v1beta1 con uno o varios certificados de CA de confianza adicionales.
Ejemplo de v1beta1: clúster con certificados de CA de confianza adicionales
El
API de clúster v1beta1 proporciona la variable
trust para aprovisionar un clúster con uno o varios certificados de CA de confianza adicionales.
Campo | Descripción |
---|---|
trust |
Marcador de sección. No acepta datos. |
additionalTrustedCAs |
Marcador de sección. Incluye una matriz de certificados con el name para cada uno. |
name |
El nombre definido por el usuario para el campo de asignación de data en el secreto de Kubernetes que contiene el certificado de CA en formato PEM con codificación base64 doble.
Nota: Se requiere doble codificación base64. Si el contenido no tiene doble codificación base6, no se puede procesar el archivo PEM resultante.
|
El siguiente ejemplo demuestra cómo agregar el secreto de Kubernetes que contiene un certificado de CA a una especificación de clúster de la API v1beta1.
#cluster-with-trusted-private-reg-cert.yaml apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster metadata: name: cluster01 namespace: tkgs-cluster-ns spec: clusterNetwork: services: cidrBlocks: ["198.52.100.0/12"] pods: cidrBlocks: ["192.101.2.0/16"] serviceDomain: "cluster.local" topology: class: tanzukubernetescluster version: v1.26.5+vmware.2-fips.1-tkg.1 controlPlane: replicas: 3 workers: machineDeployments: - class: node-pool name: node-pool-01 replicas: 3 variables: - name: vmClass value: guaranteed-medium - name: storageClass value: tkgs-storage-profile - name: defaultStorageClass value: tkgs-storage-profile - name: trust value: additionalTrustedCAs: - name: additional-ca-1
El siguiente ejemplo muestra el secreto de Kubernetes que incluye un certificado de CA de confianza adicional.
#additional-ca-1.yaml apiVersion: v1 data: additional-ca-1: TFMwdExTMUNSGlSzZ3Jaa...VVNVWkpRMEMwdExTMHRDZz09 kind: Secret metadata: name: cluster01-user-trusted-ca-secret namespace: tkgs-cluster-ns type: Opaque
Donde:
- El valor de la asignación de
data
del secreto es una cadena definida por el usuario que es el nombre del certificado de CA (additional-ca-1
en este ejemplo), cuyo valor es el certificado de CA en formato PEM con codificación base64 doble. - En la sección
metadata
, el secreto debe tener el nombreCLUSTER-NAME-user-trusted-ca-secret
, donde CLUSTER-NAME es el nombre del clúster. Este secreto se debe crear en el mismo espacio de nombres de vSphere que el clúster.
Para codificar doble en base64 el contenido del certificado de CA.
- Linux:
base64 -w 0 ca.crt | base64 -w 0
- Windows: https://www.base64encode.org/.
Procedimiento: Nuevo clúster
Complete el siguiente procedimiento para incluir uno o varios certificados de CA de confianza adicionales en un nuevo clúster de TKGS.
- Doble codificación base64 del contenido de un certificado de CA.
- Cree un secreto de Kubernetes que contenga el nombre de la asignación de datos cuyo valor sea un certificado de CA en formato PEM con doble codificación base64.
- En la especificación del clúster, rellene la variable
trust.additionalTrustedCAs
con el nombre de la asignación de datos. - Aprovisione el clúster como lo haría normalmente.
Consulte Flujo de trabajo para aprovisionar clústeres de TKG mediante Kubectl.
- Cuando el clúster se aprovisiona correctamente, el certificado de CA que agregó es de confianza para el clúster.
Procedimiento: Clúster existente
Complete el siguiente procedimiento para agregar uno o varios certificados de CA de confianza adicionales a un clúster existente.
- Doble codificación base64 del contenido de un certificado de CA.
- Cree un secreto de Kubernetes que contenga el nombre de la asignación de datos cuyo valor sea un certificado de CA en formato PEM con doble codificación base64.
- Compruebe que configuró kubectl editing.
- Edite la especificación del clúster.
kubectl edit tanzukubernetescluster/tkgs-cluster-name
- Agregue la sección
trust.additionalTrustedCAs
a la especificación. - Rellene el campo de
additionalTrustedCAs
con el nombre de la asignación de datos en el secreto que contiene el certificado de CA en formato PEM con codificación base64 doble - Guarde los cambios en el editor de texto y compruebe que kubectl los haya registrado.
kubectl edit cluster/tkgs-cluster-name cluster.run.tanzu.vmware.com/tkgs-cluster-name edited
- Cuando se inicia una actualización gradual para el clúster, se agregan los certificados de CA de confianza adicionales.
Consulte Información sobre el modelo de actualización gradual para clústeres de Servicio TKG.
Comprobar los certificados de CA de confianza adicionales
Los certificados de CA de confianza adicionales agregados al clúster se incluyen en el archivo kubeconfig del clúster.
Rotar el certificado
Para rotar un certificado, cree un nuevo secreto y edite la especificación del clúster con el valor adecuado. Esto activará una actualización gradual del clúster.
Nota: El sistema no supervisa los cambios en
CLUSTER-NAME-user-trusted-ca-secret
. Si cambia el valor de asignación de
data
, estos cambios no se verán reflejados en el clúster. Debe crear un nuevo secreto y su asignación de datos
name
a
trust.additionalTrustCAs
.
Solucionar los problemas de certificados de CA de confianza adicionales
Consulte Solucionar errores con certificados de CA de confianza adicionales.
Caso práctico
El caso práctico más común es para agregar una CA de confianza adicional para conectarse a un registro de contenedor. Consulte Integrar clústeres de Servicio TKG con un registro de contenedor privado.