다음 지침에 따라 vSphere 8.x용 TKr을 실행하는 TKG 서비스 클러스터에 엔보이를 사용하여 Contour를 설치합니다.

사전 요구 사항

Contour 데이터 값 생성

데이터 값 파일을 생성하여 Contour 설치를 준비합니다.

  1. 사용 가능한 Contour 패키지 버전을 나열합니다.
    tanzu package available get contour.tanzu.vmware.com -n tkg-system

    또는 kubectl 사용:

    kubectl -n tkg-system get packages | grep contour
    참고: 일반적으로 요구 사항이 다른 경우가 아니면 최신 버전을 사용해야 합니다.
  2. 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은 생성할 데이터 값 파일의 이름과 경로입니다.
  3. 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 수신을 설치하려면 다음 단계를 완료합니다.
  1. Contour 패키지에 대한 고유한 네임스페이스를 생성합니다.
    kubectl create ns tanzu-system-ingress
  2. 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
  3. Contour 설치를 확인합니다.
    tanzu package installed list -n tanzu-system-ingress
  4. 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 주소를 볼 수 있습니다.

문제 해결

필요에 따라 다음 항목을 참조하십시오.