Siga estas instrucciones para instalar Contour con Envoy en un clúster de Servicio TKG que ejecute TKr para vSphere 8.x.
Requisitos previos
Debe cumplir los siguientes requisitos previos.
Crear valores de datos de Contour
Prepárese para instalar Contour creando el archivo de valores de datos.
- 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. - 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
- 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.
- Cree un espacio de nombres exclusivo para el paquete de Contour.
kubectl create ns tanzu-system-ingress
- 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
- Compruebe la instalación de Contour.
tanzu package installed list -n tanzu-system-ingress
- 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
. 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.