Suivez ces instructions pour installer Contour avec Envoy sur un cluster Service TKG qui exécute TKr pour vSphere 8.x.
Conditions requises
Respectez les conditions préalables suivantes.
Créer les valeurs de données Contour
Préparez l'installation de Contour en créant le fichier de valeurs de données.
- 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. - 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
- 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.
- Créez un espace de noms unique pour le module Contour.
kubectl create ns tanzu-system-ingress
- 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
- Vérifiez l'installation de Contour.
tanzu package installed list -n tanzu-system-ingress
- 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
. 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.