此步骤介绍了如何下载用于安装和管理 Apigee Hybrid 的 Helm 图表。Apigee Hybrid 图表托管在 Google Artifact Registry 中:
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
准备目录结构
以下步骤是可选步骤,但建议执行。这些过程会引用用于下载 Apigee Helm 图表的目录的 $APIGEE_HELM_CHARTS_HOME
环境变量。
- 为 Hybrid 安装创建一个基本目录,并在该目录中创建一个图表目录:
mkdir APIGEE_HYBRID_BASE
mkdir APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
例如:
mkdir apigee-hybrid/helm-charts
- 为方便起见,将 Helm 图表目录的位置保存到环境变量:
cd APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
export APIGEE_HELM_CHARTS_HOME=$PWD
拉取 Apigee Helm 图表
- 在
$APIGEE_HELM_CHARTS_HOME
目录中,使用pull
命令将所有 Apigee Hybrid Helm 图表复制到您的本地存储空间:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.12.3
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- 可选:使用
tree
命令验证图表是否已扩展到预期的目录结构。输出应类似于以下内容。tree
. ├── apigee-datastore │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-datastore-guardrails.yaml │ │ ├── backup-cert.yaml │ │ ├── backup-cronjob.yaml │ │ ├── backup-gsa-secret.yaml │ │ ├── backup-key.yaml │ │ ├── backup-sa.yaml │ │ ├── datastore-secret.yaml │ │ ├── datastore.yaml │ │ ├── _helpers.tpl │ │ ├── NOTES.txt │ │ ├── restore-cert.yaml │ │ ├── restore-gsa-secret.yaml │ │ ├── restore-job.yaml │ │ ├── restore-key.yaml │ │ └── restore-sa.yaml │ └── values.yaml ├── apigee-env │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-env-guardrails.yaml │ │ ├── encryption-keys-secret.yaml │ │ ├── environment.yaml │ │ ├── _helpers.tpl │ │ ├── NOTES.txt │ │ ├── runtime-gsa-secret.yaml │ │ ├── runtime-sa.yaml │ │ ├── synchronizer-gsa-secret.yaml │ │ ├── synchronizer-sa.yaml │ │ ├── udca-gsa-secret.yaml │ │ └── udca-sa.yaml │ ├── test-file.txt │ ├── tests │ │ ├── apigee-env-guardrails_test.yaml │ │ ├── encryption-keys_test.yaml │ │ ├── environment_test.yaml │ │ ├── runtime-gsa-secret_test.yaml │ │ ├── runtime-sa_test.yaml │ │ ├── synchronizer-gsa-secret_test.yaml │ │ ├── synchronizer-sa_test.yaml │ │ ├── test-fwi-values.yaml │ │ ├── test-values.yaml │ │ ├── udca-gsa-secret_test.yaml │ │ └── udca-sa_test.yaml │ └── values.yaml ├── apigee-ingress-manager │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-ca-issuer.yaml │ │ ├── apigee-ingress-manager-guardrails.yaml │ │ ├── apigee-istiod-certificate.yaml │ │ ├── _helpers.tpl │ │ ├── ingress-service-account.yaml │ │ ├── istio-config.yaml │ │ ├── istiod-deployment-with-apigee-controller.yaml │ │ ├── istiod-envoyfilters.yaml │ │ ├── istiod-hpa.yaml │ │ ├── istiod-service-account.yaml │ │ └── istiod-svc.yaml │ ├── tests │ │ ├── apigee-ca-issuer_test.yaml │ │ ├── apigee-ingress-manager-guardrails_test.yaml │ │ ├── apigee-istiod-certificate_test.yaml │ │ ├── istio-config_test.yaml │ │ ├── istiod-deployment-with-apigee-controller_test.yaml │ │ ├── istiod-envoyfilters_test.yaml │ │ └── istiod_hpa_test.yaml │ └── values.yaml ├── apigee-operator │ ├── Chart.yaml │ ├── etc │ │ ├── crds │ │ │ ├── crd │ │ │ │ ├── bases │ │ │ │ │ ├── apigee.cloud.google.com_apigeedatastores.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeedeployments.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeeenvironments.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeeissues.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeeorganizations.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeeredis.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeerouteconfigs.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeeroutes.yaml │ │ │ │ │ ├── apigee.cloud.google.com_apigeetelemetries.yaml │ │ │ │ │ └── apigee.cloud.google.com_cassandradatareplications.yaml │ │ │ │ ├── kustomization.yaml │ │ │ │ ├── kustomizeconfig.yaml │ │ │ │ └── patches │ │ │ │ ├── cainjection_in_apigeedatastores.yaml │ │ │ │ ├── cainjection_in_apigeedeployments.yaml │ │ │ │ ├── cainjection_in_apigeeenvironments.yaml │ │ │ │ ├── cainjection_in_apigeeissues.yaml │ │ │ │ ├── cainjection_in_apigeeorganizations.yaml │ │ │ │ ├── cainjection_in_apigeeroutes.yaml │ │ │ │ ├── cainjection_in_apigeetelemetries.yaml │ │ │ │ ├── k8s_list_map_keys.yaml │ │ │ │ ├── nested_metadata_validation_properties.yaml │ │ │ │ ├── webhook_in_apigeedatastores.yaml │ │ │ │ ├── webhook_in_apigeedeployments.yaml │ │ │ │ ├── webhook_in_apigeeenvironments.yaml │ │ │ │ ├── webhook_in_apigeeissues.yaml │ │ │ │ ├── webhook_in_apigeeorganizations.yaml │ │ │ │ ├── webhook_in_apigeeroutes.yaml │ │ │ │ └── webhook_in_apigeetelemetries.yaml │ │ │ └── default │ │ │ └── kustomization.yaml │ │ ├── examples │ │ │ └── helmfiles │ │ │ ├── helmfile.yaml │ │ │ └── README.md │ │ └── tools │ │ ├── apigee-pull-push.sh │ │ ├── common.sh │ │ ├── create-service-account │ │ └── dump_kubernetes.sh │ ├── templates │ │ ├── apigee-operators-guardrails.yaml │ │ ├── apigee-operators-roles.yaml │ │ ├── apigee-operators.yaml │ │ ├── apigee-resources.yaml │ │ ├── cassandra-backup-clusterrolebinding.yaml │ │ ├── cassandra-backup-clusterrole.yaml │ │ ├── cassandra-restore-clusterrolebinding.yaml │ │ ├── cassandra-restore-clusterrole.yaml │ │ ├── _helpers.tpl │ │ ├── ingress-role-binding.yaml │ │ ├── ingress-role.yaml │ │ ├── istiod-cluster-role-binding.yaml │ │ ├── istiod-cluster-role.yaml │ │ ├── istiod-role-binding.yaml │ │ └── istiod-role.yaml │ ├── tests │ │ └── apigee-operators-guardrails_test.yaml │ └── values.yaml ├── apigee-org │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-org-guardrails.yaml │ │ ├── ax-hash-salt-secret.yaml │ │ ├── connect-agent-gsa-secret.yaml │ │ ├── connect-agent-sa.yaml │ │ ├── data-encryption-secret.yaml │ │ ├── encryption-keys-secret.yaml │ │ ├── _helpers.tpl │ │ ├── mart-gsa-secret.yaml │ │ ├── mart-sa.yaml │ │ ├── NOTES.txt │ │ ├── organization.yaml │ │ ├── udca-gsa-secret.yaml │ │ ├── udca-sa.yaml │ │ ├── watcher-gsa-secret.yaml │ │ └── watcher-sa.yaml │ ├── test-file.txt │ ├── tests │ │ ├── apigee-org-guardrails_test.yaml │ │ ├── ax-hash-salt-secret_test.yaml │ │ ├── connect-agent-gsa-secret_test.yaml │ │ ├── connect-agent-sa_test.yaml │ │ ├── data-encryption-secret_test.yaml │ │ ├── encryption-keys-secret_test.yaml │ │ ├── mart-gsa-secret_test.yaml │ │ ├── mart-sa_test.yaml │ │ ├── organization_test.yaml │ │ ├── test-fwi-values.yaml │ │ ├── test-values.yaml │ │ ├── udca-gsa-secret_test.yaml │ │ ├── udca-sa_test.yaml │ │ ├── watcher-gsa-secret_test.yaml │ │ └── watcher-sa_test.yaml │ └── values.yaml ├── apigee-redis │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-redis-guardrails.yaml │ │ ├── _helpers.tpl │ │ ├── redis-creds-secret.yaml │ │ └── redis.yaml │ ├── tests │ │ ├── apigee-redis-guardrails_test.yaml │ │ ├── redis-creds-secret_test.yaml │ │ └── redis_test.yaml │ └── values.yaml ├── apigee-telemetry │ ├── Chart.yaml │ ├── templates │ │ ├── apigee-logger-gsa-secret.yaml │ │ ├── apigee-logger-sa.yaml │ │ ├── apigee-metrics-gsa-secret.yaml │ │ ├── apigee-metrics-sa.yaml │ │ ├── apigee-telemetry-guardrails.yaml │ │ ├── apigee-telemetry.yaml │ │ ├── _helpers.tpl │ │ └── NOTES.txt │ ├── test-file.txt │ ├── tests │ │ ├── apigee-logger-gsa-secret_test.yaml │ │ ├── apigee-logger-sa_test.yaml │ │ ├── apigee-metrics-gsa-secret_test.yaml │ │ ├── apigee-metrics-sa_test.yaml │ │ ├── apigee-telemetry-guardrails_test.yaml │ │ ├── apigee-telemetry_test.yaml │ │ ├── notes_test.yaml │ │ ├── test-fwi-values.yaml │ │ └── test-values.yaml │ └── values.yaml └── apigee-virtualhost ├── Chart.yaml ├── templates │ ├── apigee-route-config.yaml │ ├── apigee-virtualhost-guardrails.yaml │ ├── ca-cert.yaml │ ├── cert.yaml │ └── _helpers.tpl ├── test-file.txt ├── tests │ ├── apigee-route-config_test.yaml │ ├── apigee-virtualhost-guardrails_test.yaml │ ├── ca-cert_test.yaml │ ├── cert_test.yaml │ └── test-values.yaml └── values.yaml
您现在已有在 Kubernetes 集群中配置、部署和管理 Apigee Hybrid 的工具。接下来,您将创建大多数 Hybrid 组件在其中运行的 Kubernetes 命名空间。