Harbor をインストールし、スーパーバイザー サービス として構成する方法を確認してください。この操作の後、Tanzu Kubernetes Grid クラスタおよび vSphere ポッド で実行されているワークロードでは、Harbor をレジストリとして使用できます。Harbor には Ingress コントローラとして Contour が必要であるため、最初に Contour スーパーバイザー サービス をインストールしてから Harbor をインストールします。

Contour および Harbor スーパーバイザー サービス の追加

Harbor および Contour を スーパーバイザー にインストールする前に、サービス定義 YAML ファイルを vSphere with Tanzu に追加します。

前提条件

  • http://vmware.com/go/supervisor-service から Harbor および Contour のサービス定義 YAML ファイルをダウンロードします。
  • サービスを追加する vCenter Server システムに関するスーパーバイザー サービスの管理権限があることを確認します。

手順

  1. vSphere Client ホーム メニューから、[ワークロード管理] を選択します。
  2. [[サービス]] を選択します。
  3. 上部のドロップダウン メニューから vCenter Server システムを選択します。
  4. Contour サービス定義を追加します。
    1. [サービスの新規追加] カードで [追加] をクリックします。
    2. [アップロード] をクリックし、[完了] をクリックします。
  5. 上記の手順に従って、Harbor サービス定義 YAML を追加します。

スーパーバイザー への Contour および Harbor のインストール

Contour および Harbor のサービス定義を環境に追加したら、スーパーバイザー にインストールします。最初に Contour をインストールし、次に Harbor をインストールします。

前提条件

  • http://vmware.com/go/supervisor-service から Contour および Harbor のリポジトリ内でサービス構成 YAML を検索します。
  • Harbor ユーザー インターフェイスとレジストリにアクセスするには、Harbor の FQDN を指定します。Harbor スーパーバイザー サービス には FQDN を使用した場合のみアクセスできます。

手順

  1. Harbor をインストールする スーパーバイザー に移動します。
  2. [構成] をクリックします。
  3. [スーパーバイザー サービス] で、[概要] をクリックします。
  4. [使用可能] タブを選択します。

    Contour と Harbor がリストされている、スーパーバイザーで使用可能なサービス ユーザー インターフェイス。
  5. [Contour] を選択し、[インストール] をクリックします。
  6. Contour サービス構成をコピーして、[YAML サービス構成] フィールドに貼り付けます。
    YAML で設定されている値は変更しないでください。
    Contour をインストールするためのウィンドウ。サービス構成フィールドにポピュレートされています。
  7. [OK] をクリックします。
  8. [インストール済み] タブをクリックして、Contour のインストールの進行状況を追跡します。
    目的の状態に達するまで、サービスの状態は [設定中] になります。目的の状態に達すると、サービスの状態は [実行中] に変化します。Contour が正常にインストールされたら、Harbor のインストールを続行できます。
  9. Harbor サービス構成ファイルを開いて、次のプロパティを設定します。
    プロパティ 説明
    hostname FQDN Harbor ユーザー インターフェイスにアクセスし、クライアント アプリケーションのレジストリを参照するために指定した FQDN。
    tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} Tanzu Kubernetes Grid が Harbor CA を信頼済みルートとして Tanzu Kubernetes Grid クラスタにインストールする際に使用する証明書。
    persistence.persistentVolumeClaim.registry.storageClass ストレージ ポリシー名。 Harbor レジストリ PVC に使用されるストレージ クラス。
    persistence.persistentVolumeClaim.jobservice.storageClass ストレージ ポリシー名。 Harbor ジョブ サービス PVC に使用されるストレージ クラス。
    persistence.persistentVolumeClaim.database.storageClass ストレージ ポリシー名。 Harbor データベース PVC に使用されるストレージ クラス。
    persistence.persistentVolumeClaim.redis.storageClass ストレージ ポリシー名。 Harbor Redis PVC に使用されるストレージ クラス。
    persistence.persistentVolumeClaim.trivy.storageClass ストレージ ポリシー名。 Harbor Trivy PVC に使用されるストレージ クラス。
    注: enableContourHttpProxy プロパティと network.ipFamilies プロパティの値は変更しないでください。Harbor を機能させるには Contour が必須です。 スーパーバイザー では IPv4 アドレス ファミリのみがサポートされています。
  10. vSphere Client の [使用可能] サービス タブに戻り、Harbor を選択して [インストール] をクリックします。
  11. Harbor サービス構成をコピーして、[YAML サービス構成] フィールドに貼り付けます。
  12. [OK] をクリックします。
  13. [インストール済み] タブを選択して、Harbor のインストール プロセスを追跡します。
    目的の状態に達すると、サービスの状態は [設定中] から [実行中] に変化します。インストールは数分かかる場合があります。
  14. スーパーバイザー が構成された外部 DNS サーバに、Envoy Ingress IP アドレスに対する Harbor FQDN のマッピングのレコードを追加します。
    Tanzu Kubernetes Grid クラスタ、 vSphere ポッド、および スーパーバイザー でレジストリからイメージをプルするには、Harbor FQDN を解決できる必要があります。

    Envoy Ingress IP アドレスを見つけるには、Contour 名前空間に移動し、[ネットワーク] を選択して [サービス] を選択します。



Harbor スーパーバイザー サービス との信頼の確立

Harbor をインストールした後に Harbor を vSphere ポッド のレジストリとして使用するには、スーパーバイザー 間に信頼を構成する必要があります。Harbor と同じ スーパーバイザー にある Tanzu Kubernetes Grid クラスタには、Harbor に対する信頼が自動的に確立されます。ただし、Harbor スーパーバイザー サービス のインストール場所とは異なる スーパーバイザー で実行されている Tanzu Kubernetes Grid クラスタについては、Harbor との間に信頼を構成する必要があります。

Harbor と スーパーバイザー 間の信頼の確立

Harbor と スーパーバイザー の間に信頼を確立するには、次の手順を実行します。
  1. Harbor ユーザー インターフェイスを使用するか、スーパーバイザー 制御プレーンの TLS シークレットを使用して、Harbor CA を抽出します。
  2. kube-system 名前空間の image-fetcher-ca-bundle ConfigMap に Harbor CA を追加します。vCenter Single Sing-On 管理アカウントを使用してログインしているほかに、image-fetcher-ca-bundle を編集する権限を保持している必要があります。

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 クラスタとプライベート コンテナ レジストリの統合に記載されている手順に従います。