請按照下列指示,在執行適用於 vSphere 8.x 的 TKr 的 TKG 服務 叢集上安裝 Contour with Envoy。
必要條件
請遵循以下必要條件。
建立 Contour 資料值
準備透過建立資料值檔案來安裝 Contour。
- 列出可用的 Contour 套件版本。
tanzu package available get contour.tanzu.vmware.com -n tkg-system
或者,使用 kubectl:
kubectl -n tkg-system get packages | grep contour
備註: 通常,應使用最新版本,除非需求不同。 - 產生
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
其中:- 1.28.2+vmware.1-tkg.1 是目標套件版本
- contour-data-values.yaml 是要產生的資料值檔案的名稱和路徑
- 編輯
contour-data-values.yaml
檔案。將 Envoy 服務設定為
LoadBalancer
以允許來自叢集外部的流量存取 Kubernetes 服務。如需相關指引,請參閱以下範例。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
安裝 Contour
完成以下步驟以安裝 Contour Ingress with Envoy。
- 為 Contour 套件建立唯一的命名空間。
kubectl create ns tanzu-system-ingress
- 安裝 Contour。
調整版本以滿足您的需求。
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
- 確認 Contour 安裝。
tanzu package installed list -n tanzu-system-ingress
- 確認 Contour 和 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
在此範例中,Envoy 服務具有外部 IP 位址 10.197.154.69。此 IP 位址從為
指定的 CIDR 範圍獲得。已為此 IP 位址建立新的負載平衡器執行個體。此負載平衡器的伺服器集區成員是 Envoy 網繭。由於 Envoy 網繭會假設執行這些 Envoy 網繭的 worker 節點的 IP 位址,因此可以透過查詢叢集節點 (kubectl get nodes -o wide
) 來查看這些 IP 位址。
疑難排解
根據需要參閱以下主題。