安裝 Apigee Hybrid 執行階段元件
在本步驟中,您將使用 Helm 安裝下列 Apigee Hybrid 元件:
- Apigee 運算子
- Apigee 資料存放區
- Apigee 遙測
- Apigee Redis
- Apigee Ingress 管理員
- Apigee 機構
- 您的 Apigee 環境
您將逐一為每個環境安裝圖表。安裝元件的順序十分重要。
安裝前注意事項
- 如果尚未安裝 Helm 3.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。 - 如果您要將圖表安裝在從
apigeectl管理遷移至 Helm 管理的叢集上,請使用 Apigee Helm 遷移工具,並從下列所有指令中省略--atomic旗標。
安裝步驟
確認您使用的是適當版本的 Helm。
helm version安裝時必須使用 v3.14.2 以上版本的 Helm。 如果顯示的版本不符合要求,請執行下列指令升級 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.4 1.12.4
檢查可用性,確認該服務已啟動並正常運作:
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 Ingress 管理工具:
模擬測試:
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 機構。如果您已在殼層中設定 $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 指定環境。如果您已在殼層中設定 $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-release和dev-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
-
安裝環境群組 (
virtualhosts)。- 一次只能安裝一個環境群組 (虛擬主機)。使用
--set envgroup=ENV_GROUP 指定環境群組。如果您已在殼層中設定 $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-release和dev-env-release。如要進一步瞭解 Helm 中的發布內容,請參閱 Helm 說明文件中的「 三大概念」。安裝圖表:
helm upgrade $ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f overrides.yaml
- 檢查 ApigeeRoute (AR) 的狀態。
安裝
virtualhosts會建立 ApigeeRouteConfig (ARC),一旦 Apigee 監控程式從控制層提取環境群組相關詳細資料,ARC 就會在內部建立 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 (NEXT) Step 12: Set up Workload Identity所有其他安裝項目
在下一個步驟中,您將設定 Apigee Ingress 閘道,並部署 Proxy 來測試安裝作業。
(下一步) 步驟 1:公開 Apigee Ingress 2