Fare riferimento a questo esempio per eseguire il provisioning di un cluster v1beta1 con uno o più certificati CA attendibili aggiuntivi.

Esempio v1beta1: cluster con certificati CA attendibili aggiuntivi

API v1beta1 del cluster fornisce la variabile trust per il provisioning di un cluster con uno o più certificati CA attendibili aggiuntivi.
Tabella 1. Variabile trust dell'API v1beta1
Campo Descrizione
trust Marcatore di sezione. Non accetta alcun dato.
additionalTrustedCAs Marcatore di sezione. Include un array di certificati con name per ciascuno.
name Nome definito dall'utente per il campo della mappa data nel segreto Kubernetes che contiene il certificato CA in formato PEM con doppia codifica base64.
Nota: La codifica base64 doppia è necessaria. Se la codifica del contenuto non è base64 doppia, il file PEM risultante non può essere elaborato.
Nell'esempio seguente viene illustrato come aggiungere il segreto Kubernetes contenente un certificato CA in una specifica del cluster dell'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
Nell'esempio seguente viene illustrato il segreto Kubernetes che include un certificato CA attendibile aggiuntivo.
#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
dove:
  • Il valore della mappa data del segreto è una stringa definita dall'utente costituita dal nome del certificato CA (additional-ca-1 in questo esempio) il cui valore è il certificato CA in formato PEM con doppia codifica base64.
  • Nella sezione metadata, il segreto deve essere denominato CLUSTER-NAME-user-trusted-ca-secret, dove CLUSTER-NAME è il nome del cluster. Questo segreto deve essere creato nello stesso Spazio dei nomi vSphere del cluster.
Per utilizzare la codifica base64 per il contenuto del certificato CA.

Procedura: nuovo cluster

Completare la procedura seguente per includere uno o più certificati CA attendibili aggiuntivi in un nuovo cluster TKGS.
  1. Utilizzare la codifica base64 dei contenuti di un certificato CA.
  2. Creare un segreto Kubernetes contenente il nome della mappa dati il cui valore è un certificato CA in formato PEM, ovvero con doppia codifica base64.
  3. Nella specifica del cluster, popolare la variabile trust.additionalTrustedCAs con il nome della mappa dati.
  4. Eseguire il provisioning del cluster come si fa in genere.

    Vedere Workflow per il provisioning dei cluster TKG utilizzando Kubectl.

  5. Quando il provisioning del cluster viene completato correttamente, il certificato CA aggiunto viene considerato attendibile dal cluster.

Procedura: cluster esistente

Completare la procedura seguente per aggiungere uno o più certificati CA attendibili aggiuntivi a un cluster esistente.
  1. Utilizzare la codifica base64 dei contenuti di un certificato CA.
  2. Creare un segreto Kubernetes contenente il nome della mappa dati il cui valore è un certificato CA in formato PEM, ovvero con doppia codifica base64.
  3. Verificare di aver configurato la modifica di kubectl.

    Vedere Configurazione di un editor di testo per Kubectl.

  4. Modificare la specifica del cluster.
    kubectl edit tanzukubernetescluster/tkgs-cluster-name
  5. Aggiungere la sezione trust.additionalTrustedCAs alla specifica.
  6. Compilare il campo additionalTrustedCAs con il nome della mappa dati nel segreto che contiene il certificato CA in formato PEM con doppia codifica base64
  7. Salvare le modifiche nell'editor di testo e verificare che kubectl abbia registrato le modifiche.
    kubectl edit cluster/tkgs-cluster-name
    cluster.run.tanzu.vmware.com/tkgs-cluster-name edited
  8. Quando viene avviato un aggiornamento in sequenza per il cluster, vengono aggiunti i certificati CA attendibili aggiuntivi.

    Vedere Informazioni sul modello di aggiornamento in sequenza per i cluster Servizio TKG.

Verifica dei certificati CA attendibili aggiuntivi

I certificati CA attendibili aggiuntivi aggiunti al cluster vengono inclusi nel file kubeconfig per il cluster.

Rotazione del certificato

Per ruotare un certificato, creare un nuovo segreto e modificare la specifica del cluster con il valore appropriato. Verrà attivato un aggiornamento in sequenza del cluster.
Nota: Il sistema non monitora le modifiche apportate a CLUSTER-NAME-user-trusted-ca-secret. Se il valore della mappa data cambia, queste modifiche non vengono riportate nel cluster. È necessario creare un nuovo segreto e la relativa mappa dei dati name per trust.additionalTrustCAs.

Risoluzione dei problemi relativi ai certificati CA attendibili aggiuntivi

Vedere Risoluzione dei problemi relativi alle CA attendibili aggiuntive.

Caso d'uso

Il caso d'uso più comune è l'aggiunta di una CA attendibile aggiuntiva per la connessione a un registro di container. Vedere Integrazione dei cluster Servizio TKG con un registro di container privato.