パブリック コンテナ レジストリから、スーパーバイザー サービスとして実行されているプライベート Harbor レジストリに標準パッケージをプッシュするには、このトピックを参照してください。

前提条件

次の前提条件を満たすようにします。

Carvel イメージ パッケージ ユーティリティのインストール

kubectl がインストールされている Ubuntu クライアントに Carvel imgpkg ユーティリティをインストールします。
  1. imgpkg をインストールします。
    wget -O- https://carvel.dev/install.sh > install.sh
    sudo bash install.sh
  2. インストールを確認します。
    imgpkg version
    予期される結果:
    imgpkg version 0.41.1

各標準パッケージで使用可能なイメージの一覧表示

Cert Manager
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/cert-manager
Envoy を使用する Contour
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/contour
ExternalDNS
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/external-dns
Alertmanager を使用する Prometheus
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/prometheus
Grafana
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/grafana
Fluent Bit
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/fluent-bit
Harbor
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/harbor

パブリック VMware レジストリからの標準パッケージ イメージのプル

パブリック VMware レジストリ (https://projects.registry.vmware.com/) から標準の Tanzu パッケージをプルします。プルするバージョンに合わせてバージョンを更新します。

Cert Manager
docker pull projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3
Envoy を使用する Contour
docker pull projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1
ExternalDNS
docker pull projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1
Alertmanager を使用する Prometheus
docker pull projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1
Grafana
docker pull projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1
Fluent Bit
docker pull projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2
Harbor
docker pull projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1

プライベート Harbor レジストリでのプロジェクトの作成

Tanzu パッケージをホストするためのパブリック プロジェクトを Harbor に作成します。
  1. プライベート Harbor レジストリにログインします。
  2. Harbor で、[プロジェクト] > [新しいプロジェクト] の順に選択します。
  3. [tanzu-packages] という名前の新しいパブリック プロジェクトを作成します。

標準パッケージ イメージのタグ付け

次の構文を使用してイメージをタグ付けします。
docker tag SOURCE_IMAGE[:TAG] harbordomain.com/tanzu-packages/REPOSITORY[:TAG]
ここで、
  • SOURCE_IMAGE[:TAG] はプルしたイメージの名前です
  • harbordomain.com は Harbor サーバの DNS 名です
  • REPOSITORY[:TAG] はイメージ タグの名前です
Cert Manager
docker tag projects.registry.vmware.com/tkg/packages/standard/cert-manager:v1.7.2_vmware.3-tkg.3 harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Envoy を使用する Contour
docker tag projects.registry.vmware.com/tkg/packages/standard/contour:v1.23.5_vmware.1-tkg.1 harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker tag projects.registry.vmware.com/tkg/packages/standard/external-dns:v0.12.2_vmware.5-tkg.1 harbordomain.com/tanzu-packages/external-dns:v0.12.2
Alertmanager を使用する Prometheus
docker tag projects.registry.vmware.com/tkg/packages/standard/prometheus:v2.37.0_vmware.3-tkg.1 harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker tag projects.registry.vmware.com/tkg/packages/standard/grafana:v7.5.17_vmware.2-tkg.1 harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker tag projects.registry.vmware.com/tkg/packages/standard/fluent-bit:v1.9.5_vmware.1-tkg.2 harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker tag projects.registry.vmware.com/tkg/packages/standard/harbor:v2.7.1_vmware.1-tkg.1 harbordomain.com/tanzu-packages/harbor:v2.7.1

プライベート Harbor レジストリへの標準パッケージ イメージのプッシュ

次の構文を使用してイメージをプッシュします。
docker push harbordomain.com/tanzu-packages/PACKAGE
ここで、
  • harbordomain.com は Harbor サーバの DNS 名です
  • tanzu-packages は Harbor プロジェクトの名前です。
  • PACKAGE は Tanzu パッケージの名前です
  • vX.X.X はパッケージのタグ バージョンです
Cert Manager
docker push harbordomain.com/tanzu-packages/cert-manager:v1.7.2
Envoy を使用する Contour
docker push harbordomain.com/tanzu-packages/contour:v1.23.5
ExternalDNS
docker push harbordomain.com/tanzu-packages/external-dns:v0.12.2
Alertmanager を使用する Prometheus
docker push harbordomain.com/tanzu-packages/prometheus:v2.37.0
Grafana
docker push harbordomain.com/tanzu-packages/grafana:v7.5.17
Fluent Bit
docker push harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
Harbor
docker push harbordomain.com/tanzu-packages/harbor:v2.7.1
イメージをプライベート Harbor レジストリにプッシュしたら、Harbor Web インターフェイスに各イメージが表示されることを確認します。
図 1. プライベート Harbor レジストリ内の標準の Tanzu パッケージ
プライベート Harbor レジストリ内の標準の Tanzu パッケージ

デプロイ用のコンテナ イメージのプル

イメージがプライベート Harbor レジストリ内にあることを確認するには、次の構文を使用してレジストリからイメージをプルします。
docker pull harbordomain.com/tanzu-packages/PACKAGE:TAG

例:

docker pull harbordomain.com/tanzu-packages/fluent-bit:v1.9.5
cURL を使用して Harbor API を呼び出し、パッケージを一覧表示できます。そのためには、Harbor Web インターフェイスから Harbor 証明書をダウンロードして、次のコマンドを実行します。
curl -X 'GET' 'https://harbordomain.com/api/v2.0/projects/tanzu-packages/repositories?page=1&page_size=-1' -H 'accept: application/json' --cacert ca.crt | jq '.[].name'
このコマンドは、使用可能な tanzu-packages を返します。
"tanzu-packages/harbor"
"tanzu-packages/fluent-bit"
"tanzu-packages/grafana"
"tanzu-packages/prometheus"
"tanzu-packages/external-dns"
"tanzu-packages/contour"
"tanzu-packages/cert-manager"