Fare riferimento agli esempi per personalizzare l'API v1alpha2 del Servizio Tanzu Kubernetes Grid con le impostazioni di configurazione globali per l'interfaccia di rete del contenitore, il server proxy e i certificati TLS.
Configurazione del Servizio Tanzu Kubernetes Grid mediante l'API v1alpha2
apiVersion: run.tanzu.vmware.com/v1alpha2 kind: TkgServiceConfiguration metadata: name: tkg-service-v2-configuration-example spec: defaultCNI: antrea proxy: #supported format is `http://<user>:<pwd>@<ip>:<port>` httpProxy: http://admin:[email protected]:80 httpsProxy: http://admin:[email protected]:80 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] trust: additionalTrustedCAs: - name: CompanyInternalCA-1 data: LS0tLS1C...LS0tCg== #where "..." is the middle section of the long base64 string - name: CompanyInternalCA-2 data: MTLtMT1C...MT0tPg== defaultNodeDrainTimeout: 0
Prerequisito: configurazione della modifica di Kubectl
Per scalare un cluster Tanzu Kubernetes, aggiornare il manifesto del cluster utilizzando il comando kubectl edit tanzukubernetescluster/CLUSTER-NAME
. Il comando kubectl edit apre il manifesto del cluster nell'editor di testo definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. Per istruzioni sulla configurazione della variabile di ambiente, vedere Specificare un editor di testo predefinito per Kubectl.
Quando si salvano le modifiche delle specifiche, kubectl
segnala che le modifiche sono state registrate correttamente. Per annullare, è sufficiente chiudere l'editor senza salvare.
Configurazione dell'interfaccia CNI
Il Servizio Tanzu Kubernetes Grid fornisce un'interfaccia CNI (Container Network Interface) predefinita per i cluster Tanzu Kubernetes. La configurazione predefinita consente di creare cluster senza dover specificare l'interfaccia CNI. È possibile modificare l'interfaccia CNI predefinita modificando la specifica del servizio.
Il Servizio Tanzu Kubernetes Grid supporta due CNI, ovvero Antrea e Calico, di cui Antrea è il valore predefinito. Per ulteriori informazioni, vedere Rete cluster di Tanzu Kubernetes.
- Eseguire l'autenticazione con il Cluster supervisore.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Passare al contesto dello Spazio dei nomi vSphere di destinazione.
kubectl config use-context tkgs-cluster-ns
- Elencare l'interfaccia CNI predefinita.
kubectl get tkgserviceconfigurations
Risultato dell'esempio:NAME DEFAULT CNI tkg-service-configuration antrea
- Carico per la modifica della specifica del Servizio Tanzu Kubernetes Grid.
kubectl edit tkgserviceconfigurations tkg-service-configuration
Il sistema apre la specifica
tkg-service-configuration
nell'editor di testo predefinito definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. - Modificare il valore
spec.defaultCNI
.Ad esempio, modificare da:spec: defaultCNI: antrea
Passare a:spec: defaultCNI: calico
- Per applicare le modifiche, salvare il file nell'editor di testo. Per annullare, chiudere l'editor senza salvare.
Quando si salva la modifica nell'editor di testo, kubectl aggiorna la specifica del servizio
tkg-service-configuration
. - Verificare che venga aggiornato il CNI predefinito.
kubectl get tkgserviceconfigurations
L'interfaccia CNI predefinita viene aggiornata. Qualsiasi cluster con provisioning con impostazioni di rete predefinite utilizza l'interfaccia CNI predefinita.NAME DEFAULT CNI tkg-service-configuration calico
Configurazione di un server proxy globale
TkgServiceConfiguration
. Per una descrizione dei campi obbligatori, vedere
Parametri di configurazione per l'API v1alpha1 di Servizio Tanzu Kubernetes Grid.
- Eseguire l'autenticazione con il Cluster supervisore.
kubectl vsphere login --server=SVC-IP-ADDRESS --vsphere-username USERNAME
- Passare al contesto dello Spazio dei nomi vSphere di destinazione.
kubectl config use-context tkgs-cluster-ns
- Ottenere la configurazione corrente.
kubectl get tkgserviceconfigurations
Risultato dell'esempio:NAME DEFAULT CNI tkg-service-configuration antrea
- Carico per la modifica della specifica del Servizio Tanzu Kubernetes Grid.
kubectl edit tkgserviceconfigurations tkg-service-configuration
Il sistema apre la specifica
tkg-service-configuration
nell'editor di testo predefinito definito dalla variabile di ambiente KUBE_EDITOR o EDITOR. - Aggiungere la sottosezione
spec.proxy
con ciascun campo obbligatorio, inclusihttpProxy
,httpsProxy
enoProxy
.apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> httpsProxy: http://<user>:<pwd>@<ip>:<port> noProxy: [SVC-POD-CIDRs, SVC-EGRESS-CIDRs, SVC-INGRESS-CIDRs]
- Compilare ciascun campo del proxy con i valori appropriati. Per una descrizione di ciascun campo, vedere Parametri di configurazione per l'API v1alpha1 di Servizio Tanzu Kubernetes Grid.
I valori obbligatori per il campo
noProxy
provengono da Rete carico di lavoro del Cluster supervisore. Fare riferimento all'immagine nell'argomento precedente su dove recuperare questi valori.Ad esempio:apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: ... name: tkg-service-configuration-example resourceVersion: "44170525" selfLink: /apis/run.tanzu.vmware.com/v1alpha1/tkgserviceconfigurations/tkg-service-configuration uid: 10347195-5f0f-490e-8ae1-a758a724c0bc spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20]
- Per applicare le modifiche, salvare il file nell'editor di testo. Per annullare, chiudere l'editor senza salvare.
Quando si salvano le modifiche nell'editor di testo, kubectl aggiorna il Servizio Tanzu Kubernetes Grid con la configurazione definita nella specifica del servizio
tkg-service-configuration
. - Verificare che il Servizio Tanzu Kubernetes Grid sia aggiornato con le impostazioni del proxy.
kubectl get tkgserviceconfigurations -o yaml
- Per verificare, eseguire il provisioning di un cluster Tanzu Kubernetes. Vedere Workflow per il provisioning di cluster di Tanzu Kubernetes.
Utilizzare il comando seguente per verificare che il cluster stia utilizzando il proxy.
kubectl get tkc CLUSTER-NAME -n NAMESPACE -o yaml
Configurazione del proxy basato su certificato
L'utilizzo di un server proxy per instradare il traffico Internet è un requisito permanente per alcuni ambienti. Ad esempio, un'azienda di un settore altamente regolamentato, come ad esempio un'organizzazione finanziaria, richiede che tutto il traffico Internet passi attraverso un proxy aziendale.
È possibile configurare il Servizio Tanzu Kubernetes Grid per eseguire il provisioning dei cluster Tanzu Kubernetes in modo che utilizzino un server proxy per il traffico HTTP/S in uscita. Per ulteriori informazioni, vedere Parametri di configurazione per l'API v1alpha1 di Servizio Tanzu Kubernetes Grid.
TkgServiceConfiguration
.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea proxy: httpProxy: http://user:[email protected]:3128 httpsProxy: http://user:[email protected]:3128 noProxy: [10.246.0.0/16,192.168.144.0/20,192.168.128.0/20] 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 defaultNodeDrainTimeout: 0
Configurazione del registro privato esterno
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration-example spec: defaultCNI: antrea trust: additionalTrustedCAs: - name: harbor-vm-cert data: <<<base64-encoded string of a PEM encoded public cert>>>>