Seguire queste istruzioni per installare Contour con Envoy in un cluster Servizio TKG che esegue TKr per vSphere 8.x.
Prerequisiti
Attenersi ai seguenti prerequisiti.
Creazione dei valori dei dati di Contour
Preparare l'installazione di Contour creando il file dei valori dei dati.
- Recuperare l'elenco delle versioni dei pacchetti Contour disponibili.
tanzu package available get contour.tanzu.vmware.com -n tkg-system
Oppure, tramite kubectl:
kubectl -n tkg-system get packages | grep contour
Nota: In genere, è consigliabile utilizzare la versione più recente a meno che i requisiti non siano diversi. - Generare il file
contour-default-values.yaml
.tanzu package available get contour.tanzu.vmware.com/1.28.2+vmware.1-tkg.1 --default-values-file-output contour-data-values.yaml
dove:- 1.28.2+vmware.1-tkg.1 è la versione del pacchetto di destinazione
- contour-data-values.yaml è il nome e il percorso del file dei valori dei dati da generare
- Modificare il file
contour-data-values.yaml
.Impostare il servizio Envoy su
LoadBalancer
in modo da consentire al traffico esterno al cluster di accedere ai servizi Kubernetes. Per istruzioni, fare riferimento all'esempio seguente.vi contour-data-values.yaml
--- infrastructure_provider: vsphere namespace: tanzu-system-ingress contour: configFileContents: {} useProxyProtocol: false replicas: 2 pspNames: "vmware-system-restricted" logLevel: info envoy: service: type: LoadBalancer annotations: {} externalTrafficPolicy: Cluster disableWait: false hostPorts: enable: true http: 80 https: 443 hostNetwork: false terminationGracePeriodSeconds: 300 logLevel: info certificates: duration: 8760h renewBefore: 360h
Installare Contour
Per installare Contour in ingresso con Envoy, eseguire i passaggi seguenti.
- Creare uno spazio dei nomi univoco per il pacchetto Contour.
kubectl create ns tanzu-system-ingress
- Installare Contour.
Modificare la versione in base ai propri requisiti.
tanzu package install contour -p contour.tanzu.vmware.com -v 1.28.2+vmware.1-tkg.1 --values-file contour-data-values.yaml -n tanzu-system-ingress
- Verificare l'installazione di Contour.
tanzu package installed list -n tanzu-system-ingress
- Verificare gli oggetti di Contour ed Envoy.
kubectl -n tanzu-system-ingress get all
NAME READY STATUS RESTARTS AGE pod/contour-777bdddc69-fqnsp 1/1 Running 0 102s pod/contour-777bdddc69-gs5xv 1/1 Running 0 102s pod/envoy-d4jtt 2/2 Running 0 102s pod/envoy-g5h72 2/2 Running 0 102s pod/envoy-pjpzc 2/2 Running 0 102s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/contour ClusterIP 10.105.242.46 <none> 8001/TCP 102s service/envoy LoadBalancer 10.103.245.57 10.197.154.69 80:32642/TCP,443:30297/TCP 102s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/envoy 3 3 3 3 3 <none> 102s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/contour 2/2 2 2 102s NAME DESIRED CURRENT READY AGE replicaset.apps/contour-777bdddc69 2 2 2 102s
In questo esempio l'indirizzo IP esterno del servizio Envoy è 10.197.154.69. Questo indirizzo viene ricavato dall'intervallo CIDR specificato per
. Per questo indirizzo IP viene creata una nuova istanza del bilanciamento del carico. I membri del pool di server per questo bilanciamento del carico sono i pod Envoy. Poiché i pod Envoy presuppongono gli indirizzi IP dei nodi di lavoro in cui vengono eseguiti, è possibile visualizzare questi indirizzi IP interrogando i nodi del cluster (kubectl get nodes -o wide
).
Risolvere i problemi
Fare riferimento al seguente argomento in base alle necessità.