vSphere 7.x용 TKr로 프로비저닝된 TKG 클러스터에 표준 패키지를 설치하려면 다음 지침을 참조하십시오.

사전 요구 사항

vSphere 7.x용 TKr에 표준 패키지를 설치하기 위한 워크플로의 내용을 참조하십시오.

엔보이를 사용하여 Contour 설치

엔보이 서비스를 사용하여 Contour 수신을 설치합니다.
  1. 저장소에서 사용 가능한 Contour 버전을 나열합니다.
    kubectl get packages -n tkg-system | grep contour
  2. contour.yaml 규격을 생성합니다.

    #GUID-ED287018-E690-4993-9D34-F10BCFEE7609__GUID-CC995CF8-0F4B-4D92-A782-A3832C0EA5AE의 내용을 참조하십시오.

  3. 필요한 경우 환경에 맞게 contour-data-values를 사용자 지정합니다.

    Contour 패키지 참조의 내용을 참조하십시오.

  4. Contour를 설치합니다.
    kubectl apply -f contour.yaml
    serviceaccount/contour-sa
    createdclusterrolebinding.rbac.authorization.k8s.io/contour-role-binding created
    packageinstall.packaging.carvel.dev/contour created
    secret/contour-data-values created
  5. Contour 패키지 설치를 확인합니다.
    kubectl get pkgi -A
  6. Contour 개체를 확인합니다.
    kubectl get all -n contour-ingress
    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

    Contour 패키지는 2개의 Contour 포드와 3개의 엔보이 포드를 설치합니다. Contour와 엔보이가 모두 서비스로 노출됩니다. 이 예에서, 엔보이 서비스의 외부 IP 주소는 10.197.154.69입니다. 이 IP 주소는 워크로드 네트워크 > 수신에 지정된 CIDR에서 분할됩니다. 이 IP 주소에 대해 로드 밸런서 인스턴스가 생성됩니다. 이 로드 밸런서에 대한 서버 풀의 멤버는 엔보이 포드입니다. 엔보이 포드는 해당 주소가 실행되는 작업자 노드의 IP 주소를 가정합니다. 클러스터 노드(kubectl get nodes -o wide)를 쿼리하여 이러한 IP를 볼 수 있습니다.

contour.yaml

다음 contour.yaml을 사용하여 엔보이로 Contour를 설치합니다. 대상 패키지 버전과 일치하도록 버전 변수를 업데이트합니다.
apiVersion: v1
kind: ServiceAccount
metadata:
  name: contour-sa
  namespace: tkg-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: contour-role-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: contour-sa
    namespace: tkg-system
---
apiVersion: packaging.carvel.dev/v1alpha1
kind: PackageInstall
metadata:
  name: contour
  namespace: tkg-system
spec:
  serviceAccountName: contour-sa
  packageRef:
    refName: contour.tanzu.vmware.com
    versionSelection:
      constraints: 1.26.1+vmware.1-tkg.1 #PKG-VERSION
  values:
  - secretRef:
      name: contour-data-values
---
apiVersion: v1
kind: Secret
metadata:
  name: contour-data-values
  namespace: tkg-system
stringData:
  values.yml: |
    ---
    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