Suivez ces instructions pour installer Contour avec Envoy sur un cluster Service TKG qui exécute TKr pour vSphere 8.x.

Conditions requises

Créer les valeurs de données Contour

Préparez l'installation de Contour en créant le fichier de valeurs de données.

  1. Répertoriez les versions du module Contour disponible.
    tanzu package available get contour.tanzu.vmware.com -n tkg-system

    Ou, à l'aide de kubectl :

    kubectl -n tkg-system get packages | grep contour
    Note : En général, vous devez utiliser la dernière version, sauf si vos exigences diffèrent.
  2. Générez le fichier 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
    Où :
    • 1.28.2+vmware.1-tkg.1 est la version du module cible
    • contour-data-values.yaml est le nom et le chemin d'accès du fichier de valeurs de données à générer
  3. Modifiez le fichier contour-data-values.yaml.

    Définissez le service Envoy sur LoadBalancer pour autoriser le trafic provenant de l'extérieur du cluster à accéder à un service Kubernetes. Reportez-vous à l'exemple suivant pour plus d'informations.

    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
    

Installer Contour

Effectuez ces étapes pour installer l'entrée Contour avec Envoy.
  1. Créez un espace de noms unique pour le module Contour.
    kubectl create ns tanzu-system-ingress
  2. Installez Contour.

    Ajustez la version cible pour répondre à vos besoins.

    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. Vérifiez l'installation de Contour.
    tanzu package installed list -n tanzu-system-ingress
  4. Vérifiez les objets Contour et 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

    Dans cet exemple, le service Envoy dispose d'une adresse IP externe 10.197.154.69. Cette adresse IP est allouée à partir de la plage CIDR spécifiée pour Réseau de charge de travail > Entrée. Une nouvelle instance d'équilibrage de charge est créée pour cette adresse IP. Les membres du pool de serveurs pour cet équilibreur de charge sont les espaces Envoy. Étant donné que les espaces Envoy adoptent les adresses IP des nœuds worker sur lesquels ils s'exécutent, vous pouvez voir ces adresses IP en interrogeant les nœuds de cluster (kubectl get nodes -o wide).

Dépanner

Reportez-vous à la rubrique suivante si nécessaire.