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 名前空間と含まれるすべての vSphere Pod のビュー](images/GUID-0FE29858-881D-4AE5-ADA4-E148AAB0DCB7-low.png)
Harbor FQDN の Envoy Ingress IP アドレスへのマッピング
Harbor が正常にインストールされたら、スーパーバイザー が構成された外部 DNS サーバに、Envoy Ingress IP アドレスに対する Harbor FQDN のマッピングのレコードを追加します。
Tanzu Kubernetes Grid クラスタ、vSphere ポッド、および スーパーバイザー のレジストリからイメージをプルするには、Harbor FQDN を解決できる必要があります。
![スクリーンショットは Envoy IP アドレスを示しています。](images/GUID-EE8A5285-680A-42AD-A94B-4838C388A71B-low.png)
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 クラスタとプライベート コンテナ レジストリの統合に記載されている手順に従います。