TKG サービス クラスタのためにプライベート コンテナ レジストリからイメージをプルするには、プライベート レジストリの詳細を使用してワークロード YAML を構成します。

この手順は、Harbor レジストリ などのプライベート コンテナ レジストリからイメージをプルする場合に使用できます。この例では、Harbor レジストリ に保存されているイメージを使用するポッド仕様を作成し、以前に構成したイメージ プル シークレットを利用します。

前提条件

レジストリ認証情報シークレットを作成します。プライベート レジストリ認証情報シークレットの作成を参照してください

手順

  1. TKG クラスタをプロビジョニングします。
  2. クラスタにログインします。
  3. レジストリ認証情報シークレットを作成します。
  4. プライベート レジストリの詳細を含むサンプルのポッド仕様を作成します。
    pod-example.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: <workload-name>
      namespace: <kubernetes-namespace>
    spec:
      containers:
      - name: private-reg-container
        image: <Registry-IP-or-FQDN>/<vsphere-namespace>/<image-name>:<version>
      imagePullSecrets:
      - name: <registry-secret-name>
    • <workload-name> をポッド ワークロードの名前に置き換えます。
    • <kubernetes-namespace> を、ポッドが作成されるクラスタ内の Kubernetes 名前空間に置き換えます。この名前空間は、レジストリ サービスのイメージ プル シークレットが格納されている、Tanzu Kubernetes クラスタ内の Kubernetes 名前空間(デフォルトの名前空間など)と同じにする必要があります。
    • <Registry-IP-or-FQDN> を、スーパーバイザー で実行されている Harbor レジストリ インスタンスの IP アドレスまたは FQDN に置き換えます。
    • <vsphere-namespace> を、ターゲット TKG クラスタがプロビジョニングされている vSphere 名前空間 に置き換えます。
    • <image-name> を、任意のイメージ名に置き換えます。
    • <version> を、イメージの適切なバージョン(「最新」バージョンなど)に置き換えます。
    • <registry-secret-name> を、以前に作成したレジストリ サービスのイメージ プル シークレットの名前に置き換えます。
  5. 定義したポッド仕様を使用してワークロードを作成します。
    kubectl apply -f pod-example.yaml
    ポッドは、レジストリからプルされたイメージに基づいて作成する必要があります。