第 2 步:下载 Apigee Helm 图表

此步骤介绍了如何下载用于安装和管理 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 环境变量。

  1. 为 Hybrid 安装创建一个基本目录,并在该目录中创建一个图表目录:
    mkdir APIGEE_HYBRID_BASE
    mkdir APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME

    例如:

    mkdir apigee-hybrid/helm-charts
  2. 为方便起见,将 Helm 图表目录的位置保存到环境变量:
    cd APIGEE_HYBRID_BASE/APIGEE_HELM_CHARTS_HOME
    export APIGEE_HELM_CHARTS_HOME=$PWD

拉取 Apigee Helm 图表

  1. $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.14.0
    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
    
  2. 可选:使用 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 命名空间。

下一步

1 2 (下一步)第 3 步:创建 Apigee 命名空间 4 5 6 7 8 9 10 11