非公開イメージ リポジトリを使用する

このドキュメントでは、限定公開コンテナ イメージ リポジトリのイメージを使用するように 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.10.5 です。

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

      出力は次のようになります。

      apigee:
                gcr.io/apigee-release/hybrid/apigee-mart-server:1.10.5
                gcr.io/apigee-release/hybrid/apigee-synchronizer:1.10.5
                gcr.io/apigee-release/hybrid/apigee-runtime:1.10.5
                gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.10.5
                gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.10.5
                gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.10.5
                gcr.io/apigee-release/hybrid/apigee-udca:1.10.5
                gcr.io/apigee-release/hybrid/apigee-connect-agent:1.10.5
                gcr.io/apigee-release/hybrid/apigee-watcher:1.10.5
                gcr.io/apigee-release/hybrid/apigee-operators:1.10.5
                gcr.io/apigee-release/hybrid/apigee-installer:1.10.5
                gcr.io/apigee-release/hybrid/apigee-redis:1.10.5
                gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.10.5
                gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.10.5
                gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.10.5
              third party:
                gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.1
                gcr.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
              
    2. docker pull コマンドを使用して、apigee-systemapigee の Namespace に必要なイメージを pull します。

      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

      次に例を示します。

      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.10.5
    3. イメージを pull してタグ付けしたら、限定公開リポジトリに push します。docker push をご覧ください。
  2. apigee 名前空間 と apigee-system 名前空間 に Kubernetes Secret を作成します。

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

    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)"
  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 をインストールし、互換性を確保することが重要です。