Befolgen Sie diese Anweisungen, um Contour mit Envoy auf einem TKG-Dienst-Cluster zu installieren, auf dem TKr für vSphere 8.x ausgeführt wird.
Voraussetzungen
Beachten Sie die folgenden Voraussetzungen.
Erstellen von Contour-Datenwerten
Bereiten Sie die Installation von Contour vor, indem Sie die Datenwertdatei erstellen.
- Listen Sie die verfügbaren Contour-Paketversionen auf.
tanzu package available get contour.tanzu.vmware.com -n tkg-system
Oder verwenden Sie dazu „kubectl“:
kubectl -n tkg-system get packages | grep contour
Hinweis: In der Regel sollten Sie die neueste Version verwenden, es sei denn, Ihre Anforderungen weichen ab. - Generieren Sie die Datei
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
Dabei gilt:- 1.28.2+vmware.1-tkg.1 ist die Zielpaketversion
- contour-data-values.yaml ist der Name und Pfad der zu generierenden Datenwertdatei
- Bearbeiten Sie die Datei
contour-data-values.yaml
.Legen Sie den Envoy-Dienst auf
LoadBalancer
fest, damit von außerhalb des Clusters stammender Datenverkehr auf Kubernetes-Dienste zugreifen kann. Weitere Informationen finden Sie im folgenden Beispiel.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
Installieren von Contour
Führen Sie diese Schritte aus, um Contour Ingress mit Envoy zu installieren.
- Erstellen Sie einen eindeutigen Namespace für das Contour-Paket.
kubectl create ns tanzu-system-ingress
- Installieren Sie Contour.
Passen Sie die Version an Ihre Anforderungen an.
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
- Überprüfen Sie die Contour-Installation.
tanzu package installed list -n tanzu-system-ingress
- Überprüfen Sie die Contour- und Envoy-Objekte.
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 diesem Beispiel hat der Envoy-Dienst die externe IP-Adresse 10.197.154.69. Diese IP-Adresse wird von dem CIDR-Bereich getrennt, der für
angegeben ist. Eine neue Lastausgleichsdienst-Instanz wird für diese IP-Adresse erstellt. Die Mitglieder des Serverpools für diesen Lastausgleichsdienst sind die Envoy-Pods. Da die Envoy-Pods die IP-Adressen der Worker-Knoten übernehmen, auf denen sie ausgeführt werden, können Sie diese IP-Adressen anzeigen, indem Sie die Clusterknoten abfragen (kubectl get nodes -o wide
).
Beheben
Lesen Sie bei Bedarf das folgende Thema.