スーパーバイザー で組み込みの Harbor レジストリを使用している場合は、組み込みのレジストリから スーパーバイザー サービス としてインストールした Harbor レジストリにイメージを移行できます。
前提条件
- スーパーバイザー に Contour と Harbor の スーパーバイザー サービス がインストールされていることを確認します。
- スーパーバイザー で使用する DNS に、Envoy サービスの Ingress IP アドレスにマッピングされた Harbor FQDN のエントリが含まれていることを確認します。
- スーパーバイザー と Harbor の間に信頼が確立されていることを確認します。Harbor の実行場所とは異なる スーパーバイザー で実行されている Tanzu Kubernetes Grid クラスタによってイメージが参照されている場合は、これらの Tanzu Kubernetes Grid クラスタと Harbor の間に信頼があることを確認します。
手順
- vCenter Single Sign-On ユーザーとして スーパーバイザー にログインします。
- Harbor スーパーバイザー サービス へのネットワーク アクセスの Egress を設定します。
- 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: - {}
- Harbor のサービス名前空間に allow-all-egress-harbor-supervisor-service という名前のネットワーク ポリシー CRD を作成します。名前の例は、svc-harbor-domain-c9 などです。
- 後で Harbor にレプリケーション エンドポイントとしてレジストリを追加できるように、組み込みレジストリのシークレットにアクセスします。
- 組み込みレジストリ名前空間の vCenter Single Sign-On 管理ユーザーに編集権限を付与します。名前の例は、vmware-system-registry-437393318 などです。
- 組み込みのレジストリ名前空間からシークレットにアクセスします。
# 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 ...
- ユーザー名とパスワードをデコードします。
# echo 'WVdSdGFXND0=' | base64 -d | base64 -d admin # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d ?tc7@MRV$qF2fDc$
- 組み込みレジストリ名前空間の vCenter Single Sign-On 管理ユーザーに編集権限を付与します。名前の例は、vmware-system-registry-437393318 などです。
- 組み込みレジストリのレプリケーション エンドポイントおよびレプリケーション ルールを Harbor スーパーバイザー サービス に追加します。
- Harbor スーパーバイザー サービス のユーザー インターフェイスに root としてログインします。
- [レジストリ] をクリックし、[新規エンドポイント] をクリックします。
- [レプリケーション] タブを選択し、[新規レプリケーション ルール] をクリックします。
次の設定を入力し、残りの値はデフォルト値のままにします。
- [名前] - ルールの名前を指定します。
- [レプリケーション モード] - [プルベース] を選択します。
- [ソース レジストリ] - 追加したレジストリ エンドポイントを選択します。
- [保存] をクリックします。
- 新しく作成したレプリケーション ルールを選択し、[レプリケーション] をクリックします。