Harbor をインストールし、スーパーバイザー サービス として構成する方法を確認してください。この操作の後、Tanzu Kubernetes Grid クラスタおよび vSphere ポッド で実行されているワークロードでは、Harbor をレジストリとして使用できます。Harbor には Ingress コントローラとして Contour が必要であるため、最初に Contour スーパーバイザー サービス をインストールしてから Harbor をインストールします。
スーパーバイザー サービス としての Harbor のインストール
vSphere Client の [Workload Management] オプションを使用して Harbor を スーパーバイザー サービス としてインストールします。
前提条件
- vCenter Server 8.0a 以降にアップグレードしたことを確認します。Contour および Harbor の スーパーバイザー サービス は、vCenter Server 8.0a 以降でサポートされます。
- サービスを追加する vCenter Server システムに関するスーパーバイザー サービスの管理権限があることを確認します。
- Harbor をインストールする スーパーバイザー に、Contour を スーパーバイザー サービスとしてインストールします。vSphere IaaS control plane での スーパーバイザー サービス としての Contour のインストールを参照してください。
- Harbor 管理ユーザー インターフェイスにアクセスするための FQDN を指定します。
手順
結果
Harbor FQDN の Envoy Ingress IP アドレスへのマッピング
Harbor が正常にインストールされたら、スーパーバイザー が構成された外部 DNS サーバに、Envoy Ingress IP アドレスに対する Harbor FQDN のマッピングのレコードを追加します。
Tanzu Kubernetes Grid クラスタ、vSphere ポッド、および スーパーバイザー のレジストリからイメージをプルするには、Harbor FQDN を解決できる必要があります。
Harbor スーパーバイザー サービス との信頼の確立
Harbor をインストールした後に Harbor を vSphere ポッド のレジストリとして使用するには、スーパーバイザー と Harbor 間に信頼を構成する必要があります。Harbor と同じ スーパーバイザー にある Tanzu Kubernetes Grid クラスタには、Harbor に対する信頼が自動的に確立されます。異なる スーパーバイザー で実行される Tanzu Kubernetes Grid クラスタのレジストリとして Harbor を使用するには、Harbor とこれらのTanzu Kubernetes Grid クラスタ間に信頼を構成する必要があります。
Harbor と スーパーバイザー 間の信頼の確立
- Harbor ユーザー インターフェイスを使用するか、スーパーバイザー 制御プレーンの TLS シークレットを使用して、Harbor CA を抽出します。Harbor の ca.cert は、Harbor 管理ユーザー インターフェイスの で取得できます。
- kube-system 名前空間の image-fetcher-ca-bundle ConfigMap に Harbor CA を追加します。vCenter Single Sing-On 管理アカウントを使用してログインしているほかに、image-fetcher-ca-bundle を編集する権限を保持している必要があります。
- こちらの説明に従って、KUBE_EDITOR 環境変数を構成します。
- 次のコマンドを使用して、ConfigMap を編集します。
kubectl edit configmap image-fetcher-ca-bundle -n kube-system
- Harbor の ca.cert ファイルの内容を、既存の スーパーバイザー 証明書の下にある ConfigMap に追加します。スーパーバイザー 証明書を変更しないでください。
apiVersion: v1 data: ca-bundle: |- -----BEGIN CERTIFICATE----- MIIC/jCCAeagAwIBAgIBADANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwprdWJl ... qB72tWi8M5++h2RGcVash0P1CUZOHkpHxGdUGYv1Z97Wl89dT2OTn3iXqn8d1JAK aF8= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIDKDCCAhCgAwIBAgIQBbUsj7mqXXC5XRhqqU3GiDANBgkqhkiG9w0BAQsFADAU ... 5q7y87vOLTr7+0MG4O01zK0dJYx2jVhZlsuduMYpfqRLLewVl0eGu/6vr2M= -----END CERTIFICATE----- kind: ConfigMap metadata: creationTimestamp: "2023-03-15T14:28:34Z" name: image-fetcher-ca-bundle namespace: kube-system resourceVersion: "713" uid: 6b7611a0-25fa-40f7-b4f5-e2a13bd0afe3
- ファイルに加えた編集内容を保存します。その結果、kubectl から次のように報告されます。
configmap/image-fetcher-ca-bundle edited
Harbor とは異なる スーパーバイザー で実行されている Tanzu Kubernetes Grid クラスタと Harbor の間の信頼の確立
Harbor のインストール場所とは異なる スーパーバイザー で実行されている Tanzu Kubernetes Grid クラスタは、Harbor にネットワーク接続されている必要があります。これらの Tanzu Kubernetes Grid クラスタで Harbor の FQDN を解決できる必要があります。
Harbor と Tanzu Kubernetes Grid クラスタ間の信頼を確立するには、Harbor ユーザー インターフェイスを使用するか、スーパーバイザー 制御プレーンの TLS シークレットを使用して、Harbor CA を抽出します。その後、TKG 2 クラスタとプライベート コンテナ レジストリの統合に記載されている手順に従います。