apigeectl で限定公開イメージ リポジトリを使用する

このドキュメントでは、限定公開コンテナ イメージ リポジトリのイメージを使用するように Apigee ハイブリッドを構成する方法について説明します。

概要

すべての Apigee ハイブリッド ランタイム イメージは Google Cloud Container Registry(GCR)でホストされます。なんらかの理由で限定公開イメージ コンテナ リポジトリを使用したい場合は、GCR からイメージをダウンロードし、限定公開リポジトリに push して、overrides.yaml ファイルのデフォルトのイメージ ロケーションをオーバーライドできます。

構成手順

Apigee ハイブリッド イメージに限定公開イメージ コンテナ リポジトリを使用する手順は次のとおりです。これらの手順を実行して、限定公開リポジトリ内のイメージを正常に使用するには、Apigee ハイブリッドのインストール手順に精通している必要があります。典型的なシナリオでは、新しいハイブリッド インストールの一部として限定公開リポジトリを構成します。

  1. Apigee ハイブリッド イメージを GCR から限定公開リポジトリに push します。この手順を実施するには、apigee-push-pull ユーティリティを使用することをおすすめします。

    この操作を手動で行う場合は、Docker をインストールして、次のように docker pull コマンドを使用する必要があります。それぞれのイメージ名に正しいタグを設定してください。たとえば、次のように apigee-synchronizer のタグは 1.12.0 です。

    1. apigeectl/tools/ ディレクトリにある apigee-pull-push.sh ユーティリティ--list オプションを使用して、現在のプロジェクトにあるすべてのイメージの最新リストを取得します。
      apigee-pull-push.sh --list
    2. 出力は次のようになります。

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.12.0
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.12.0
              gcr.io/apigee-release/hybrid/apigee-runtime:1.12.0
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.12.0
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.12.0
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.12.0
              gcr.io/apigee-release/hybrid/apigee-udca:1.12.0
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.12.0
              gcr.io/apigee-release/hybrid/apigee-watcher:1.12.0
              gcr.io/apigee-release/hybrid/apigee-operators:1.12.0
              gcr.io/apigee-release/hybrid/apigee-installer:1.12.0
              gcr.io/apigee-release/hybrid/apigee-redis:1.12.0
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.12.0
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.12.0
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.12.0
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.1
              cr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.48.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.15.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.11.2
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.17.8-asm.4-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.17.8-asm.4-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:2.2.0
    3. docker pull コマンドを使用して、apigee-systemapigee の Namespace に必要なイメージを pull します。次に例を示します。
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.12.0

      次のリストは、各 Namespace に必要なイメージを示しています。

      apigee-system Namespace:

      • apigee-installer
      • apigee-kube-rbac-proxy
      • apigee-operators

      apigee Namespace

      • apigee-asm-ingress
      • apigee-asm-istiod
      • apigee-cassandra-backup-utility
      • apigee-connect-agent
      • apigee-diagnostics-collector
      • apigee-diagnostics-runner
      • apigee-envoy
      • apigee-fluent-bit
      • apigee-hybrid-cassandra-client
      • apigee-hybrid-cassandra
      • apigee-mart-server
      • apigee-prom-prometheus
      • apigee-prometheus-adapter
      • apigee-redis
      • apigee-runtime
      • apigee-stackdriver-logging-agent
      • apigee-stackdriver-prometheus-sidecar
      • apigee-synchronizer
      • apigee-udca
      • apigee-watcher
    4. イメージを pull してタグ付けしたら、限定公開リポジトリに push します。docker push をご覧ください。
  2. apigee Namespace と apigee-system Namespace に Kubernetes Secret を作成します。

    これらの Namespace がクラスタに存在しない場合は、この手順を実行する前に作成する必要があります。

    Secret の作成手順については、コマンドラインで認証情報を指定して Secret を作成するをご覧ください。たとえば、apigee-system Namespace に 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)"
  3. Secret を overrides.yaml ファイルに追加します。オーバーライド ファイルの作成については、ハイブリッドのインストール手順をご覧ください。詳細については、クラスタの構成をご覧ください。
    imagePullSecrets:
      - name: SECRET_NAME
  4. 限定公開リポジトリに保存されているイメージの 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 をインストールし、互換性を確保することが重要です。