安装 Apigee Hybrid 运行时组件
在此步骤中,您将使用 Helm 安装以下 Apigee Hybrid 组件:
- Apigee Operator
- Apigee 数据存储区
- Apigee Telemetry
- Apigee Redis
- Apigee Ingress Manager
- Apigee 组织
- 您的 Apigee 环境
您需要逐个为每个环境安装图表。组件的安装顺序很重要。
安装前注意事项
- 如果您尚未安装 Helm v3.14.2+,请按照安装 Helm 中的说明操作。
-
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
命令失败,您都可以使用保护措施输出来帮助诊断原因。请参阅使用保护措施诊断问题。 - 注意:在执行任何 Helm 升级/安装命令之前,请在命令末尾添加
--dry-run
以使用 Helm 试运行功能。您可以使用helm install --h
列出支持的命令、选项和用法。 - 如果要在已使用 Apigee Helm 迁移工具从
apigeectl
管理迁移到 Helm 管理的集群上安装图表,请在以下所有命令中省略--atomic
标志。
安装步骤
验证您是否拥有合适的 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
- 进入
APIGEE_HELM_CHARTS_HOME
目录。从该目录运行以下命令。 - 安装 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.2 1.12.2
通过检查可用性来验证它已启动并正在运行:
kubectl -n apigee-system get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
-
安装 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
-
安装 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
-
安装 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
-
安装 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
-
安装 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
-
安装环境。
一次只能安装一个环境。使用
--set env=
ENV_NAME 指定环境。如果您已在 shell 中设置 $ENV_NAME 环境变量,则可以在以下命令中使用该变量:试运行:
helm upgrade $ENV_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=$ENV_NAME \ -f overrides.yaml \ --dry-run
安装图表:
helm upgrade $ENV_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
-
安装环境组 (
virtualhosts
)。- 一次只能安装一个环境组 (virtualhost)。使用
--set envgroup=
ENV_GROUP 指定环境组。如果您已在 shell 中设置 $ENV_GROUP 环境变量,则可以在以下命令中使用该变量。对overrides.yaml
文件中提到的每个环境组重复运行以下命令:试运行:
helm upgrade $ENV_GROUP apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml \ --dry-run
安装图表:
helm upgrade $ENV_GROUP apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- 检查 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
- 一次只能安装一个环境组 (virtualhost)。使用
下一步
使用 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