Siga estas instrucciones para instalar Contour con Envoy en un clúster de Servicio TKG que ejecute TKr para vSphere 8.x.

Requisitos previos

Crear valores de datos de Contour

Prepárese para instalar Contour creando el archivo de valores de datos.

  1. Indique las versiones del paquete de Contour disponibles.
    tanzu package available get contour.tanzu.vmware.com -n tkg-system

    O bien, mediante el uso de kubectl:

    kubectl -n tkg-system get packages | grep contour
    Nota: Por lo general, debe utilizar la versión más reciente, a menos que los requisitos sean diferentes.
  2. Genere el archivo 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
    Donde:
    • 1.28.2+vmware.1-tkg.1 es la versión del paquete de destino
    • contour-data-values.yaml es el nombre y la ruta del archivo de valores de datos que se va a generar
  3. Edite el archivo contour-data-values.yaml.

    Configure el servicio de Envoy en LoadBalancer para permitir que el tráfico de afuera del clúster acceda a un servicio de Kubernetes. Consulte el siguiente ejemplo para obtener instrucciones.

    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
    

Instalar Contour

Complete estos pasos para instalar la entrada de Contour con Envoy.
  1. Cree un espacio de nombres exclusivo para el paquete de Contour.
    kubectl create ns tanzu-system-ingress
  2. Instale Contour.

    Ajuste la versión para cumplir con sus requisitos.

    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. Compruebe la instalación de Contour.
    tanzu package installed list -n tanzu-system-ingress
  4. Compruebe los objetos de Contour y 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

    En este ejemplo, el servicio Envoy tiene una dirección IP externa 10.197.154.69. Esta dirección IP está separada del rango de CIDR especificado para Red de carga de trabajo > Ingreso. Se creará una nueva instancia de equilibrador de carga para esta dirección IP. Los miembros del grupo de servidores de este equilibrador de carga son los pods Envoy. Dado que los pods Envoy asumen las direcciones IP de los nodos de trabajo en los que se ejecutan, puede ver estas direcciones IP consultando los nodos del clúster (kubectl get nodes -o wide).

Solucionar problemas

Consulte el siguiente tema según sea necesario.