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.
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 denominatoCLUSTER-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.
- Linux:
base64 -w 0 ca.crt | base64 -w 0
- Windows: https://www.base64encode.org/.
Procedura: nuovo cluster
Completare la procedura seguente per includere uno o più certificati CA attendibili aggiuntivi in un nuovo cluster TKGS.
- Utilizzare la codifica base64 dei contenuti di un certificato CA.
- Creare un segreto Kubernetes contenente il nome della mappa dati il cui valore è un certificato CA in formato PEM, ovvero con doppia codifica base64.
- Nella specifica del cluster, popolare la variabile
trust.additionalTrustedCAs
con il nome della mappa dati. - Eseguire il provisioning del cluster come si fa in genere.
Vedere Workflow per il provisioning dei cluster TKG utilizzando Kubectl.
- 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.
- Utilizzare la codifica base64 dei contenuti di un certificato CA.
- Creare un segreto Kubernetes contenente il nome della mappa dati il cui valore è un certificato CA in formato PEM, ovvero con doppia codifica base64.
- Verificare di aver configurato la modifica di kubectl.
- Modificare la specifica del cluster.
kubectl edit tanzukubernetescluster/tkgs-cluster-name
- Aggiungere la sezione
trust.additionalTrustedCAs
alla specifica. - Compilare il campo
additionalTrustedCAs
con il nome della mappa dati nel segreto che contiene il certificato CA in formato PEM con doppia codifica base64 - 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
- 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.