パブリック コンテナ レジストリから、スーパーバイザー サービスとして実行されているプライベート Harbor レジストリに標準パッケージをプッシュするには、このトピックを参照してください。
前提条件
次の前提条件を満たすようにします。
- Harbor スーパーバイザー サービスのインストール。
- Ubuntu ホストを Docker クライアントとして構成します。Harbor レジストリ証明書を使用した Docker クライアントの構成を参照してください。
- Ubuntu ホストに jq をインストールします。https://jqlang.github.io/jq/download/を参照してください。
Carvel イメージ パッケージ ユーティリティのインストール
kubectl がインストールされている Ubuntu クライアントに Carvel
imgpkg
ユーティリティをインストールします。
imgpkg
をインストールします。wget -O- https://carvel.dev/install.sh > install.sh sudo bash install.sh
- インストールを確認します。
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 に作成します。
- プライベート Harbor レジストリにログインします。
- Harbor で、 の順に選択します。
- [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 インターフェイスに各イメージが表示されることを確認します。
デプロイ用のコンテナ イメージのプル
イメージがプライベート 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"