Consulte estas instrucciones para instalar paquetes estándar en un clúster de TKG aprovisionado con un TKr para vSphere 7.x.

Requisitos previos

Consulte Flujo de trabajo para instalar paquetes estándar en TKr para vSphere 7.x.

Instalar Contour con Envoy

Instale la entrada de Contour con el servicio Envoy.
  1. Enumere las versiones de Contour disponibles existentes en el repositorio.
    kubectl get packages -n tkg-system | grep contour
  2. Cree la especificación contour.yaml.

    Consulte #GUID-ED287018-E690-4993-9D34-F10BCFEE7609__GUID-CC995CF8-0F4B-4D92-A782-A3832C0EA5AE.

  3. Si es necesario, personalice contour-data-values en función de su entorno.

    Consulte Referencia del paquete de Contour.

  4. Instale 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. Compruebe la instalación del paquete de Contour.
    kubectl get pkgi -A
  6. Compruebe los objetos de 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

    El paquete de Contour instala 2 pods Contour y 3 pods Envoy. Tanto Contour como Envoy se exponen como servicios. En este ejemplo, el servicio Envoy tiene una dirección IP externa 10.197.154.69. Esta dirección IP está separada del CIDR especificado para Red de carga de trabajo > Ingreso. Se creará una nueva instancia del equilibrador de carga para esta dirección IP. Los miembros del grupo de servidores de este equilibrador de carga son los pods Envoy. Los pods de Envoy asumen las direcciones IP de los nodos de trabajo en los que se ejecutan. Para ver estas direcciones IP, consulte los nodos del clúster (kubectl get nodes -o wide).

contour.yaml

Use el siguiente contour.yaml para instalar Contour con Envoy. Actualice la variable de la versión para que coincida con la versión del paquete de destino.
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