このドキュメントでは、限定公開コンテナ イメージ リポジトリのイメージを使用するように Apigee ハイブリッドを構成する方法について説明します。
概要
すべての Apigee ハイブリッド ランタイム イメージは Google Cloud Container Registry(GCR)でホストされます。なんらかの理由で限定公開イメージ コンテナ リポジトリを使用したい場合は、GCR からイメージをダウンロードし、限定公開リポジトリに push して、overrides.yaml
ファイルのデフォルトのイメージ ロケーションをオーバーライドできます。
構成手順
Apigee ハイブリッド イメージに限定公開イメージ コンテナ リポジトリを使用する手順は次のとおりです。これらの手順を実行して、限定公開リポジトリ内のイメージを正常に使用するには、Apigee ハイブリッドのインストール手順に精通している必要があります。典型的なシナリオでは、新しいハイブリッド インストールの一部として限定公開リポジトリを構成します。
- Apigee ハイブリッド イメージを GCR から限定公開リポジトリに push します。この手順を実施するには、apigee-push-pull ユーティリティを使用することをおすすめします。
この手順を手動で行う場合は、Docker をインストールして、次のように
docker pull
コマンドを使用する必要があります。それぞれのイメージ名に正しいタグを設定してください。たとえば、次のようにapigee-synchronizer
のタグは1.9.4
です。次の図は、
apigee-system
とapigee
の Namespace のイメージです。Namespace:
apigee-system
docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.14.0
docker pull gcr.io/apigee-release/hybrid/apigee-operators:1.9.4
Namespace:
apigee
docker pull gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-connect-agent:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-envoy:v1.25.1
docker pull gcr.io/apigee-release/hybrid/apigee-fluent-bit:2.1.3
docker pull gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-mart-server:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.39.1
docker pull gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.10.0
docker pull gcr.io/apigee-release/hybrid/apigee-redis:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-runtime:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.9.12-2
docker pull gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
docker pull gcr.io/apigee-release/hybrid/apigee-synchronizer:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-udca:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-watcher:1.9.4
docker pull gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.17.2-asm.8-distroless
docker pull gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.17.2-asm.8-distroless
イメージを pull してタグを付けたら、それらを限定公開リポジトリに push する必要があります。docker push をご覧ください。
apigee
とapigee-system
の Namespace で Kubernetes Secret を作成します。これらの Namespace がクラスタに存在しない場合は、この手順を実行する前に作成する必要があります。
Secret の作成手順については、コマンドラインで認証情報を指定して Secret を作成するをご覧ください。たとえば、
apigee-system
名前空間 に Secret を作成するには、次のようにします。kubectl create secret docker-registry SECRET_NAME -n apigee-system \ --docker-server=YOUR_REGISTRY_SERVER \ --docker-username=YOUR_DOCKER_USERNAME \ --docker-email=YOUR_DOCKER_EMAIL \ --docker-password="YOUR_DOCKER_PASSWORD)"
apigee
Namespace に Secret を作成するには:kubectl create secret docker-registry SECRET_NAME -n apigee \ --docker-server=YOUR_REGISTRY_SERVER \ --docker-username=YOUR_DOCKER_USERNAME \ --docker-email=YOUR_DOCKER_EMAIL \ --docker-password="YOUR_DOCKER_PASSWORD)"
- Secret を
overrides.yaml
ファイルに追加します。オーバーライド ファイルの作成については、ハイブリッドのインストール手順をご覧ください。詳細については、クラスタの構成をご覧ください。imagePullSecrets: - name: SECRET_NAME
- 限定公開リポジトリに保存されているイメージの URL を使って、
overrides.yaml
ファイルを更新します。リポジトリに保存されている各コンポーネントには、image:url
要素があります。この要素を使用して、各コンポーネント イメージの URL を指定します。次に例を示します。mart: serviceAccountPath: /installdir/hybrid-files/service-accounts/hybrid-apigee-non-prod.json image: url: my-docker.pkg.dev/hybrid-1/registry-name/apigee-mart-server
このパターンに従って、
overrides.yaml
ファイル内の最上位のハイブリッド コンポーネントをそれぞれ、限定公開リポジトリ イメージの URL で更新します。ハイブリッド インストールでは、$APIGEECTL_HOME/examples/private-overrides.yaml
ディレクトリに完全なサンプルのオーバーライド ファイルが用意されています。
限定公開イメージを使用して新しいハイブリッド インストールを完了することも、既存のインストールを更新することもできます。詳細については、Apigee ハイブリッドのインストール手順をご覧ください。
非公開リポジトリからの cert-manager のインストール
非公開リポジトリから cert-manager
をインストールするには、Helm によるインストールをご覧ください。Apigee ハイブリッド インストールの手順で指定されているのと同じバージョンの cert-manager
をインストールし、互換性を確保することが重要です。