使用私人映像檔存放區

本文說明如何設定 Apigee hybrid,以便使用私人容器映像檔存放區的映像檔。

總覽

所有 Apigee 混合式執行階段映像檔都會託管在 Google Cloud Container Registry (GCR) 中。無論您出於何種原因想要採用私人映像檔容器存放區,都可以從 GCR 下載映像檔、將其推送至私人存放區,然後覆寫 overrides.yaml 檔案中的預設映像檔位置。

設定步驟

請按照下列步驟,為 Apigee 混合型映像檔使用私人映像檔容器存放區。如要執行這些步驟並在私人存放區中成功使用圖片,您必須熟悉 Apigee 混合式安裝程序。在一般情況下,您應將私人存放區納入新安裝混合式安裝作業的一部分。

  1. 將 Apigee 混合式映像檔從 GCR 推送至私人存放區。建議您使用 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 命名空間所需的圖片。

      apigee-system 命名空間

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

      您的 apigee 命名空間

      • 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. 擷取及標記圖片後,請將圖片推送至私人存放區。請參閱「docker push」一文。
  2. apigeeapigee-system 命名空間中建立 Kubernetes 密鑰。

    如果叢集中沒有這些命名空間,您必須先建立再執行這個步驟。

    如要瞭解建立密鑰的步驟,請參閱「在指令列中提供憑證,建立密鑰」。舉例來說,如要在 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 命名空間中建立密鑰,請按照下列步驟操作:

    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. 將密鑰新增至 overrides.yaml 檔案。混合安裝步驟說明瞭如何建立覆寫檔案。詳情請參閱「設定叢集」。
    imagePullSecrets:
      - name: SECRET_NAME
  4. 請更新 overrides.yaml 檔案,加入私人存放區中儲存圖片的圖片網址。存放於存放區中的每個元件都有 image: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 檔案中的每個頂層混合元件。$APIGEECTL_HOME/examples/private-overrides.yaml 目錄中的混合式安裝作業會提供完整的範例覆寫檔案。

您現在可以使用私人映像檔完成新的混合式安裝作業,或更新現有安裝作業。詳情請參閱 Apigee 混合式安裝步驟

從私人存放區安裝 cert-manager

如要從私人存放區安裝 cert-manager,請參閱「使用 Helm 安裝」一文。請務必安裝 Apigee Hybrid 安裝說明中指定的 cert-manager 版本,以確保相容性。