vSphere 7.x 用の TKr を使用してプロビジョニングされた TKG クラスタに標準パッケージをインストールするには、次の手順を参照してください。

前提条件

vSphere 7.x の TKr に標準パッケージをインストールするためのワークフローを参照してください。

Envoy を使用する Contour のインストール

Envoy サービスを使用する Contour Ingress をインストールします。
  1. リポジトリで使用可能な Contour のバージョンを一覧表示します。
    kubectl get packages -n tkg-system | grep contour
  2. contour.yaml 仕様を作成します。

    #GUID-ED287018-E690-4993-9D34-F10BCFEE7609__GUID-CC995CF8-0F4B-4D92-A782-A3832C0EA5AEを参照してください。

  3. 必要に応じて、環境用に contour-data-values をカスタマイズします。

    Contour パッケージ リファレンスを参照してください。

  4. 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. Contour パッケージのインストールを確認します。
    kubectl get pkgi -A
  6. 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

    Contour パッケージでは、2 つの Contour ポッドと 3 つの Envoy ポッドがインストールされます。Contour と Envoy の両方がサービスとして公開されます。この例では、Envoy サービスの外部 IP アドレスは 10.197.154.69 です。この IP アドレスは、[ワークロード ネットワーク] > [Ingress] に指定された CIDR から取得されます。この IP アドレス用にロード バランサ インスタンスが作成されます。このロード バランサ用のサーバ プールのメンバーは Envoy ポッドです。Envoy ポッドは、それらが実行されているワーカー ノードの IP アドレスを想定しています。クラスタ ノードを照会する (kubectl get nodes -o wide) ことで、その IP アドレスを確認できます。

contour.yaml

次の contour.yaml を使用して、Envoy を使用する Contour をインストールします。ターゲット パッケージのバージョンと一致するようにバージョン変数を更新します。
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