スーパーバイザー で組み込みの Harbor レジストリを使用している場合は、組み込みのレジストリから スーパーバイザー サービス としてインストールした Harbor レジストリにイメージを移行できます。

前提条件

  • スーパーバイザー に Contour と Harbor の スーパーバイザー サービス がインストールされていることを確認します。
  • スーパーバイザー で使用する DNS に、Envoy サービスの Ingress IP アドレスにマッピングされた Harbor FQDN のエントリが含まれていることを確認します。
  • スーパーバイザー と Harbor の間に信頼が確立されていることを確認します。Harbor の実行場所とは異なる スーパーバイザー で実行されている Tanzu Kubernetes Grid クラスタによってイメージが参照されている場合は、これらの Tanzu Kubernetes Grid クラスタと Harbor の間に信頼があることを確認します。

手順

  1. vCenter Single Sign-On ユーザーとして スーパーバイザー にログインします。
  2. Harbor スーパーバイザー サービス へのネットワーク アクセスの Egress を設定します。
    1. Harbor のサービス名前空間に allow-all-egress-harbor-supervisor-service という名前のネットワーク ポリシー CRD を作成します。名前の例は、svc-harbor-domain-c9 などです。
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: allow-all-egress-harbor-supervisor-service
        namespace: svc-harbor-domain-c9
      spec:
        podSelector:
          matchLabels:
            app: harbor
        egress:
        - {}
  3. 後で Harbor にレプリケーション エンドポイントとしてレジストリを追加できるように、組み込みレジストリのシークレットにアクセスします。
    1. 組み込みレジストリ名前空間の vCenter Single Sign-On 管理ユーザーに編集権限を付与します。名前の例は、vmware-system-registry-437393318 などです。

      管理者アカウントに編集権限を追加するためのダイアログ。
    2. 組み込みのレジストリ名前空間からシークレットにアクセスします。
      # kubectl get secrets -n vmware-system-registry-437393318 harbor-437393318-controller-registry -o yaml
      apiVersion: v1
      data:
        harborAdminPassword: UDNSak4wQk5VbFlrY1VZeVprUmpKQT09
        harborAdminUsername: WVdSdGFXND0=
        harborPostgresPassword: TlRoS1ZHeEFLa1lrVkdjaGN6aGtXZz09
      kind: Secret
      ...
    3. ユーザー名とパスワードをデコードします。
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. 組み込みレジストリのレプリケーション エンドポイントおよびレプリケーション ルールを Harbor スーパーバイザー サービス に追加します。
    1. Harbor スーパーバイザー サービス のユーザー インターフェイスに root としてログインします。
    2. [レジストリ] をクリックし、[新規エンドポイント] をクリックします。
      新規レジストリ エンドポイント ウィンドウ。vRegistry URL と認証情報のデータがポピュレートされています。
    3. [レプリケーション] タブを選択し、[新規レプリケーション ルール] をクリックします。
      次の設定を入力し、残りの値はデフォルト値のままにします。
      • [名前] - ルールの名前を指定します。
      • [レプリケーション モード] - [プルベース] を選択します。
      • [ソース レジストリ] - 追加したレジストリ エンドポイントを選択します。

      Harbor にレプリケーション ルールを追加するためのウィンドウ。必要な設定が選択されています。
    4. [保存] をクリックします。
  5. 新しく作成したレプリケーション ルールを選択し、[レプリケーション] をクリックします。

結果

組み込みレジストリの内容が Harbor レジストリにレプリケートされます。