TKG サービス クラスタのためにプライベート コンテナ レジストリからイメージをプルするには、プライベート レジストリの詳細を使用してワークロード YAML を構成します。
この手順は、Harbor レジストリ などのプライベート コンテナ レジストリからイメージをプルする場合に使用できます。この例では、Harbor レジストリ に保存されているイメージを使用するポッド仕様を作成し、以前に構成したイメージ プル シークレットを利用します。
手順
- TKG クラスタをプロビジョニングします。
- クラスタにログインします。
- レジストリ認証情報シークレットを作成します。
- プライベート レジストリの詳細を含むサンプルのポッド仕様を作成します。
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>
を、以前に作成したレジストリ サービスのイメージ プル シークレットの名前に置き換えます。
- 定義したポッド仕様を使用してワークロードを作成します。
kubectl apply -f pod-example.yaml
ポッドは、レジストリからプルされたイメージに基づいて作成する必要があります。