Lesen Sie diese Anweisungen zum Installieren von Standardpaketen auf einem TKG-Cluster, der mit einer TKr für vSphere 7.x bereitgestellt wird.

Voraussetzungen

Weitere Informationen hierzu finden Sie unter Workflow zum Installieren von Standardpaketen auf TKr für vSphere 7.x.

Installieren von Contour mit Envoy

Installieren Sie Contour Ingress mit dem Envoy-Dienst.
  1. Listet die verfügbaren Contour-Versionen im Repository auf.
    kubectl get packages -n tkg-system | grep contour
  2. Erstellen Sie eine contour.yaml-Spezifikation.

    Weitere Informationen hierzu finden Sie unter #GUID-ED287018-E690-4993-9D34-F10BCFEE7609__GUID-CC995CF8-0F4B-4D92-A782-A3832C0EA5AE.

  3. Passen Sie bei Bedarf contour-data-values für Ihre Umgebung an.

    Weitere Informationen hierzu finden Sie unter Referenz zum Contour-Paket.

  4. Installieren Sie 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. Überprüfen Sie die Contour-Paketinstallation.
    kubectl get pkgi -A
  6. Überprüfen Sie die Contour-Objekte.
    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

    Das Contour-Paket installiert 2 Contour-Pods und 3 Envoy-Pods. Sowohl Contour als auch Envoy werden als Dienste bereitgestellt. In diesem Beispiel hat der Envoy-Dienst die externe IP-Adresse 10.197.154.69. Diese IP-Adresse wird vom CIDR getrennt, das für Arbeitslastnetzwerk > Ingress angegeben ist. Eine Lastausgleichsdienst-Instanz wird für diese IP-Adresse erstellt. Die Mitglieder des Serverpools für diesen Lastausgleichsdienst sind die Envoy-Pods. Die Envoy-Pods übernehmen die IP-Adressen der Worker-Knoten, auf denen sie ausgeführt werden. Sie können diese IPs anzeigen, indem Sie die Clusterknoten (kubectl get nodes -o wide) abfragen.

contour.yaml

Verwenden Sie die folgende contour.yaml, um Contour mit Envoy zu installieren. Aktualisieren Sie die Versionsvariable so, dass sie mit der Zielpaketversion übereinstimmt.
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