È possibile personalizzare Servizio Tanzu Kubernetes Grid con impostazioni globali per le funzionalità principali, tra cui l'interfaccia CNI (Container Network Interface), il server proxy e i certificati TLS. Ci sono alcuni aspetti da tenere presenti quando si implementa la funzionalità globale anziché la funzionalità per cluster.
Facoltativamente, è possibile configurare Servizio Tanzu Kubernetes Grid con parametri globali.
TkgServiceConfiguration
si applica a tutti i cluster di
Tanzu Kubernetes il cui provisioning è stato eseguito da tale servizio. Se viene avviato un aggiornamento in sequenza, manualmente o tramite upgrade, i cluster vengono aggiornati dalla specifica del servizio modificata.
Specifica TkgServiceConfiguration
TkgServiceConfiguration
fornisce campi per la configurazione dell'istanza di
Servizio Tanzu Kubernetes Grid.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: <antrea or calico> proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> httpsProxy: http://<user>:<pwd>@<ip>:<port> noProxy: [<array of CIDRs to not proxy>] trust: additionalTrustedCAs: - name: <first-cert-name> data: <base64-encoded string of a PEM encoded public cert 1> - name: <second-cert-name> data: <base64-encoded string of a PEM encoded public cert 2>
Parametri della specifica TkgServiceConfiguration
TkgServiceConfiguration
. Per alcuni esempi, vedere
Esempi di configurazione dell'API v1alpha1 del Servizio Tanzu Kubernetes Grid.
Campo | Valore | Descrizione |
---|---|---|
defaultCNI |
antrea or calico |
Interfaccia CNI predefinita per i cluster da utilizzare. Il valore predefinito è antrea . L'altra interfaccia CNI supportata è calico . |
proxy |
Marcatore di sezione per i parametri proxy . |
I parametri proxy sono httpProxy , httpsProxy e noProxy . Tutti i parametri sono obbligatori. Se manca un parametro proxy , non è possibile creare cluster di Tanzu Kubernetes. |
httpProxy |
URI con formato http://<user>:<pwd>@<ip>:<port> |
Non consente il protocollo https . Se si utilizza https , non è possibile creare cluster di Tanzu Kubernetes. |
httpsProxy |
URI con formato http://<user>:<pwd>@<ip>:<port> |
Non consente il protocollo https . Se si utilizza https , non è possibile creare cluster di Tanzu Kubernetes. |
noProxy |
Array di blocchi CIDR da non usare come proxy, ad esempio: Recuperare i valori richiesti dalla rete del carico di lavoro nel cluster supervisore: Fare riferimento all'immagine seguente per i valori da includere nel campo di array |
Non è necessario usare il proxy per le subnet utilizzate dalla rete del carico di lavoro nel cluster supervisore per i pod, l'ingresso e l'uscita. Non è necessario includere il CIDR dei servizi del cluster supervisore nel campo Agli endpoint Ai CIDR di pod e servizio per i cluster di Tanzu Kubernetes non viene applicato il proxy per impostazione predefinita. Non è necessario aggiungerli al campo |
trust |
Marcatore di sezione per i parametri trust . |
Non accetta alcun dato. |
additionalTrustedCAs |
Accetta un array di certificati con name e data per ciascuno. |
Non accetta alcun dato. |
name |
Stringa | Nome del certificato TLS. |
data |
Stringa | Stringa codificata in base64 di un certificato pubblico con codifica PEM. |
Recuperare i valori noProxy
richiesti da Rete carico di lavoro nel Cluster supervisore, come mostrato nell'immagine.
Quando utilizzare le opzioni di configurazione globale o per cluster
TkgServiceConfiguration
è una specifica globale che influisce su tutti i cluster di Tanzu Kubernetes con provisioning eseguito dall'istanza di Servizio Tanzu Kubernetes Grid.
TkgServiceConfiguration
, esaminare le alternative per cluster disponibili che potrebbero essere più adatte alle proprie esigenze di una configurazione globale.
Impostazione | Opzione globale | Opzione per cluster |
---|---|---|
CNI predefinita | Modificare la specifica TkgServiceConfiguration . Vedere Esempi di configurazione dell'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
Specificare l'interfaccia CNI nella specifica del cluster. Ad esempio, Antrea è l'interfaccia CNI predefinita. Per utilizzare Calico, specificarlo nel codice YAML del cluster. Vedere Esempi di provisioning dei cluster Tanzu Kubernetes mediante l'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
Server proxy | Modificare la specifica TkgServiceConfiguration . Vedere Esempi di configurazione dell'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
Includere i parametri di configurazione del server proxy nella specifica del cluster. Vedere Esempi di provisioning dei cluster Tanzu Kubernetes mediante l'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
Certificati attendibili | Modificare la specifica TkgServiceConfiguration . Esistono due casi d'uso: configurazione di un registro di container esterno e configurazione di un proxy basato su certificato. Vedere Esempi di configurazione dell'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
Sì, è possibile includere certificati personalizzati in base al cluster o sostituire le impostazioni di trust impostate globalmente nella specifica del cluster. Vedere Esempi di provisioning dei cluster Tanzu Kubernetes mediante l'API v1alpha1 del Servizio Tanzu Kubernetes Grid. |
TkgServiceConfiguration
è configurato un proxy globale, le informazioni di tale proxy vengono propagate al manifesto del cluster dopo la distribuzione iniziale del cluster. La configurazione del proxy globale viene aggiunta al manifesto del cluster solo se non sono presenti campi di configurazione del proxy durante la creazione del cluster. In altre parole, la configurazione per cluster ha la precedenza e sovrascriverà la configurazione di un proxy globale. Per ulteriori informazioni, vedere
Parametri di configurazione per l'API v1alpha1 di Servizio Tanzu Kubernetes Grid.
Prima di modificare la specifica TkgServiceConfiguration
, tenere presenti le conseguenze dell'applicazione dell'impostazione a livello globale.
Campo | Applicato | Impatto sui cluster esistenti in caso di aggiunta/modifica | Sostituzione per cluster durante la creazione del cluster | Sostituzione per cluster durante l'aggiornamento del cluster |
---|---|---|---|---|
defaultCNI |
Globalmente | Nessuno | Sì, è possibile sostituire l'impostazione globale durante la creazione del cluster | No, non è possibile modificare l'interfaccia CNI per un cluster esistente. Se durante la creazione del cluster è stata utilizzata l'interfaccia CNI predefinita impostata globalmente, non può essere modificata. |
proxy |
Globalmente | Nessuno | Sì, è possibile sostituire l'impostazione globale durante la creazione del cluster | Sì, con U2+, è possibile sostituire l'impostazione globale durante l'aggiornamento del cluster |
trust |
Globalmente | Nessuno | Sì, è possibile sostituire l'impostazione globale durante la creazione del cluster | Sì, con U2+, è possibile sostituire l'impostazione globale durante l'aggiornamento del cluster |
Propagazione delle modifiche della configurazione globale ai cluster esistenti
Le impostazioni specificate a livello globale in TkgServiceConfiguration
non vengono propagate automaticamente ai cluster esistenti. Ad esempio, se si apportano modifiche alle impostazioni di proxy
o trust
in TkgServiceConfiguration
, tali modifiche non influiranno sui cluster per cui è già stato eseguito il provisioning.
Per propagare una modifica globale a un cluster esistente, è necessario applicare una patch al cluster di Tanzu Kubernetes per fare in modo che il cluster erediti le modifiche apportate a TkgServiceConfiguration
.
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"proxy\": null}}}}"
kubectl patch tkc <CLUSTER_NAME> -n <NAMESPACE> --type merge -p "{\"spec\":{\"settings\":{\"network\":{\"trust\": null}}}}"