第 11 步:使用 Helm 安装 Apigee Hybrid

安装 Apigee Hybrid 运行时组件

在此步骤中,您将使用 Helm 安装以下 Apigee Hybrid 组件:

  • Apigee Operator
  • Apigee 数据存储区
  • Apigee Telemetry
  • Apigee Redis
  • Apigee Ingress Manager
  • Apigee 组织
  • 您的 Apigee 环境

您需要逐个为每个环境安装图表。组件的安装顺序很重要。

安装前注意事项

  1. 如果您尚未安装 Helm v3.14.2+,请按照安装 Helm 中的说明操作。
  2. Apigee Hybrid 先使用 Helm 保护措施来验证配置,然后再安装或升级图表。您可能会在本部分中的每个命令的输出中看到特定于保护措施的信息,例如:

    # Source: apigee-operator/templates/apigee-operators-guardrails.yaml
    apiVersion: v1
    kind: Pod
    metadata:
      name: apigee-hybrid-helm-guardrail-operator
      namespace: apigee-system
      annotations:
        helm.sh/hook: pre-install,pre-upgrade
        helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
      labels:
        app: apigee-hybrid-helm-guardrail
    

    如果任何 helm upgrade 命令失败,您都可以使用保护措施输出来帮助诊断原因。请参阅使用保护措施诊断问题

  3. 注意:在执行任何 Helm 升级/安装命令之前,请在命令末尾添加 --dry-run 以使用 Helm 试运行功能。您可以使用 helm install --h 列出支持的命令、选项和用法。
  4. 如果要在已使用 Apigee Helm 迁移工具apigeectl 管理迁移到 Helm 管理的集群上安装图表,请在以下所有命令中省略 --atomic 标志。

安装步骤

  1. 验证您是否拥有合适的 Helm 版本。

    helm version

    此安装所需的 Helm 版本为 v3.14.2+。如果显示的版本不令人满意,请运行以下命令以升级 Helm。get_helm.sh 脚本将提取最新版本并进行安装。

    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh

    之后,重新检查 Helm 的版本。

    helm version
  2. 进入 APIGEE_HELM_CHARTS_HOME 目录。从该目录运行以下命令。
  3. 安装 Apigee Operator/Controller:

    试运行:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      --atomic \
      -f overrides.yaml
    

    验证 Apigee Operator 安装:

    helm ls -n apigee-system
    
    NAME       NAMESPACE       REVISION   UPDATED                                STATUS     CHART                                       APP VERSION
    operator   apigee-system   3          2023-06-26 00:42:44.492009 -0800 PST   deployed   apigee-operator-1.12.3   1.12.3
    

    通过检查可用性来验证它已启动并正在运行:

    kubectl -n apigee-system get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
    
  4. 安装 Apigee 数据存储区:

    试运行:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade datastore apigee-datastore/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    在继续下一步之前,通过检查 apigeedatastore 的状态来验证它是否已启动并运行:

    kubectl -n apigee get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
    
  5. 安装 Apigee 遥测:

    试运行:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade telemetry apigee-telemetry/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    通过检查状态来验证它已启动并正在运行:

    kubectl -n apigee get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
    
  6. 安装 Apigee Redis:

    试运行:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade redis apigee-redis/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    通过检查状态来验证它已启动并正在运行:

    kubectl -n apigee get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
    
  7. 安装 Apigee 入站流量管理器:

    试运行:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade ingress-manager apigee-ingress-manager/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    通过检查可用性来验证它已启动并正在运行:

    kubectl -n apigee get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
    
  8. 安装 Apigee 组织。如果您已在 shell 中设置 $ORG_NAME 环境变量,则可以在以下命令中使用该变量:

    试运行:

    helm upgrade $ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml \
      --dry-run
    

    安装图表:

    helm upgrade $ORG_NAME apigee-org/ \
      --install \
      --namespace apigee \
      --atomic \
      -f overrides.yaml
    

    通过检查相应组织的状态来验证它已启动并正在运行:

    kubectl -n apigee get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
    
  9. 安装环境。

    一次只能安装一个环境。使用 --set env=ENV_NAME 指定环境。如果您已在 shell 中设置 $ENV_NAME 环境变量,则可以在以下命令中使用该变量:

    试运行:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=$ENV_NAME \
      -f overrides.yaml \
      --dry-run
    

      ENV_RELEASE_NAME 是用于跟踪 apigee-env 图表的安装和升级情况的名称。此名称必须与您安装中的其他 Helm 版本名称不同。通常,这与 ENV_NAME 相同。但是,如果您的环境与环境组具有相同的名称,您必须为环境和环境组使用不同的版本名称,例如 dev-env-releasedev-envgroup-release。如需详细了解 Helm 中的版本,请参阅 Helm 文档中的三大概念

    安装图表:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace apigee \
      --atomic \
      --set env=$ENV_NAME \
      -f overrides.yaml
    

    通过检查相应环境的状态来验证它已启动并正在运行:

    kubectl -n apigee get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
    
  10. 安装环境组 (virtualhosts)。
    1. 一次只能安装一个环境组 (virtualhost)。使用 --set envgroup=ENV_GROUP 指定环境组。如果您已在 shell 中设置 $ENV_GROUP 环境变量,则可以在以下命令中使用该变量。对 overrides.yaml 文件中提到的每个环境组重复运行以下命令:

      试运行:

      helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --atomic \
        --set envgroup=$ENV_GROUP \
        -f overrides.yaml \
        --dry-run
      

        ENV_GROUP_RELEASE_NAME 是用于跟踪 apigee-virtualhosts 图表的安装和升级情况的名称。此名称必须与您安装中的其他 Helm 版本名称不同。通常,这与 ENV_GROUP 相同。但是,如果您的环境组与安装中的环境具有相同的名称,则必须为环境组和环境使用不同的版本名称,例如 dev-envgroup-releasedev-env-release。如需详细了解 Helm 中的版本,请参阅 Helm 文档中的三大概念

      安装图表:

      helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
        --install \
        --namespace apigee \
        --atomic \
        --set envgroup=$ENV_GROUP \
        -f overrides.yaml
      
    2. 检查 ApigeeRoute (AR) 的状态。

      安装 virtualhosts 会创建 ApigeeRouteConfig (ARC),它会在 Apigee Watcher 从控制平面拉取环境组相关详细信息后在内部创建 ApigeeRoute (AR)。因此,请检查相应 AR 的状态是否为正在运行:

      kubectl -n apigee get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      
      kubectl -n apigee get ar
      
      NAME                                        STATE     AGE
      apigee-org1-dev-egroup-xxxxxx                running   2d
      

下一步

使用 Workload Identity 进行安装

如果您要在 GKE 上安装 Apigee Hybrid,并且要配置 Workload Identity 以对服务账号进行身份验证,请在下一步配置集群的 Kubernetes 服务账号与 Google 服务账号之间的关联。

1 2 3 4 5 6 7 8 9 10 11 (下一步)第 12 步:设置 Workload Identity

所有其他安装

在下一步,您将配置 Apigee 入站流量网关并部署代理以测试安装。

(下一步)第 1 步:公开 Apigee 入站流量 2