使用 apigeectl 搭配私人映像檔存放區

apigeectl如果您使用 Helm 圖表來管理 Apigee hybrid,請參閱「使用私人映像檔存放區搭配 Helm 圖表」。

本文說明如何設定 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.11.2,如下所示。

    1. apigeectl/tools/ 目錄中使用 apigee-pull-push.sh 公用程式--list 選項,取得目前專案中所有圖片的最新清單:
      apigee-pull-push.sh --list
    2. 輸出內容應如下所示:

      apigee:
              gcr.io/apigee-release/hybrid/apigee-mart-server:1.11.2
              gcr.io/apigee-release/hybrid/apigee-synchronizer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-runtime:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra-client:1.11.2
              gcr.io/apigee-release/hybrid/apigee-hybrid-cassandra:1.11.2
              gcr.io/apigee-release/hybrid/apigee-cassandra-backup-utility:1.11.2
              gcr.io/apigee-release/hybrid/apigee-udca:1.11.2
              gcr.io/apigee-release/hybrid/apigee-connect-agent:1.11.2
              gcr.io/apigee-release/hybrid/apigee-watcher:1.11.2
              gcr.io/apigee-release/hybrid/apigee-operators:1.11.2
              gcr.io/apigee-release/hybrid/apigee-installer:1.11.2
              gcr.io/apigee-release/hybrid/apigee-redis:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-collector:1.11.2
              gcr.io/apigee-release/hybrid/apigee-diagnostics-runner:1.11.2
              gcr.io/apigee-release/hybrid/apigee-mint-task-scheduler:1.11.2
      third party:
              gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent:1.10.5
              gcr.io/apigee-release/hybrid/apigee-prom-prometheus:v2.52.0
              gcr.io/apigee-release/hybrid/apigee-stackdriver-prometheus-sidecar:0.9.0
              gcr.io/apigee-release/hybrid/apigee-kube-rbac-proxy:v0.18.0
              gcr.io/apigee-release/hybrid/apigee-envoy:v1.27.0
              gcr.io/apigee-release/hybrid/apigee-prometheus-adapter:v0.12.0
              gcr.io/apigee-release/hybrid/apigee-asm-ingress:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-asm-istiod:1.18.7-asm.26-distroless
              gcr.io/apigee-release/hybrid/apigee-fluent-bit:3.0.3
      
    3. 使用 docker pull 指令,提取 apigee-systemapigee 命名空間所需的圖片。例如:
      docker pull gcr.io/apigee-release/hybrid/apigee-installer:1.11.2

      以下清單列出各個命名空間所需的圖片:

      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
    4. 擷取及標記圖片後,請將圖片推送至私人存放區。請參閱「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 版本,以確保相容性。