本文档介绍如何将 Apigee Hybrid 配置为使用私有容器映像代码库中的映像。
概览
所有 Apigee Hybrid 运行时映像都托管在 Google Cloud Container Registry (GCR) 中。如果您出于任何原因想要使用私有映像容器代码库,则可以从 GCR 下载映像,将其推送到您的私有代码库,然后替换 overrides.yaml
文件中的默认映像位置。
配置步骤
请按照以下步骤将私有映像容器仓库用于 Apigee Hybrid 映像。如需执行这些步骤并成功使用私有仓库中的映像,您必须熟悉 Apigee Hybrid 安装过程。在典型场景中,您计划在全新 Hybrid 安装过程中配置私有代码库。
- 将 Apigee Hybrid 映像从 GCR 推送到您的私有仓库。我们建议您使用 apigee-push-pull 实用程序完成此步骤。
如果您希望手动执行此步骤,则需要安装 Docker 并使用如下所示的
docker pull
命令。确保在每个映像名称上附加正确的标记。 例如,apigee-synchronizer
的标记是1.9.4
,如下所示。以下是
apigee-system
和apigee
命名空间的映像:命名空间:
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
命名空间:
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
拉取并标记映像后,必须将它们推送到您的私有代码库。请参阅 docker push。
- 在
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
命名空间中创建 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
文件中。Hybrid 安装步骤介绍了创建替换文件的过程。如需了解详情,请参阅配置集群。imagePullSecrets: - name: SECRET_NAME
- 使用存储在您的私有代码库中的映像的映像网址更新
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
文件中的每个顶级 Hybrid 组件。$APIGEECTL_HOME/examples/private-overrides.yaml
目录中随 Hybrid 安装一起提供了完整的替换文件示例。
您现在可以使用私有映像完成新的 Hybrid 安装,也可以更新现有安装。如需了解详情,请参阅 Apigee Hybrid 安装步骤。
从私有代码库安装 cert-manager
如需从您的私有代码库安装 cert-manager
,请参阅使用 Helm 进行安装。请务必安装 Apigee Hybrid 安装中指定的同一版本的 cert-manager
,以确保兼容性。