다음 지침에 따라 vSphere 8.x용 TKr을 실행하는 TKG 서비스 클러스터에 엔보이를 사용하여 Contour를 설치합니다.
사전 요구 사항
다음 사전 요구 사항을 준수합니다.
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
파일을 편집합니다.클러스터 외부의 트래픽이 Kubernetes 서비스에 액세스할 수 있도록 엔보이 서비스를
LoadBalancer
로 설정합니다. 지침은 다음 예를 참조하십시오.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 수신을 설치하려면 다음 단계를 완료합니다.
- 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 및 엔보이 개체를 확인합니다.
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
이 예에서, 엔보이 서비스의 외부 IP 주소는 10.197.154.69입니다. 이 IP 주소는
에 지정된 CIDR 범위에서 분할됩니다. 이 IP 주소에 대해 새 로드 밸런서 인스턴스가 생성됩니다. 이 로드 밸런서에 대한 서버 풀의 멤버는 엔보이 포드입니다. 엔보이 포드는 이러한 포드가 실행되는 작업자 노드의 IP 주소를 가정하기 때문에 클러스터 노드를 쿼리(kubectl get nodes -o wide
)하여 이러한 IP 주소를 볼 수 있습니다.
문제 해결
필요에 따라 다음 항목을 참조하십시오.