Fare riferimento a queste istruzioni per installare pacchetti standard in un cluster TKG sottoposto a provisioning con una TKr per vSphere 7.x.

Prerequisiti

Vedere Workflow per l'installazione di pacchetti standard in una TKr per vSphere 7.x.

Installazione di Contour con Envoy

Installare Contour in ingresso con il servizio Envoy.
  1. Visualizzare l'elenco delle versioni di Contour disponibili nel repository.
    kubectl get packages -n tkg-system | grep contour
  2. Creare la specifica contour.yaml.

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

  3. Se necessario, personalizzare contour-data-values per il proprio ambiente.

    Vedere Informazioni di riferimento del pacchetto Contour.

  4. Installare 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. Verificare l'installazione del pacchetto Contour.
    kubectl get pkgi -A
  6. Verificare gli oggetti di 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

    Il pacchetto Contour installa 2 pod Contour e 3 pod Envoy. Contour ed Envoy vengono esposti come servizi. In questo esempio l'indirizzo IP esterno del servizio Envoy è 10.197.154.69. Questo indirizzo IP viene ricavato dal CIDR specificato per Rete carico di lavoro > Ingresso. Per questo indirizzo IP viene creata un'istanza del bilanciamento del carico. I membri del pool di server per questo bilanciamento del carico sono i pod Envoy. I pod Envoy presuppongono gli indirizzi IP dei nodi worker in cui vengono eseguiti. È possibile visualizzare questi IP eseguendo query relativa ai nodi del cluster (kubectl get nodes -o wide).

contour.yaml

Utilizzare il file contour.yaml seguente per installare Contour con Envoy. Aggiornare la variabile della versione in modo che corrisponda alla versione del pacchetto di destinazione.
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