步驟 10:使用 Helm 安裝 Apigee Hybrid

安裝 Apigee Hybrid 執行階段元件

在這個步驟中,您將使用 Helm 安裝下列 Apigee Hybrid 元件:

  • Apigee 運算子
  • Apigee 資料儲存庫
  • Apigee 遙測
  • Apigee Redis
  • Apigee 入口管理工具
  • Apigee 機構
  • 您的 Apigee 環境

您將逐一安裝每個環境的圖表。安裝元件的順序很重要。

安裝前注意事項

  1. 如果您尚未安裝 Helm 3.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_NAMESPACE
      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 指令失敗,您可以使用 Guardrails 輸出內容來診斷原因。請參閱「使用護欄診斷問題」一文。

  3. 在執行任何 Helm 升級/安裝指令之前,請在指令結尾加上 --dry-run=server,使用 Helm 模擬功能。請參閱 helm install --h,查看支援的指令、選項和用法。

安裝步驟

  1. 如果尚未建立,請前往 APIGEE_HELM_CHARTS_HOME 目錄。在該目錄中執行下列指令。
  2. 安裝 Apigee Operator/Controller:

    模擬測試:

    helm upgrade operator apigee-operator/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --atomic \
      -f overrides.yaml \
      --dry-run=server
    

    安裝圖表:

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

    確認 Apigee Operator 安裝作業:

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

    確認可用性,確認該服務是否已啟用:

    kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager
    
    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-controller-manager   1/1     1            1           7d20h
    
  3. 安裝 Apigee 資料儲存庫:

    模擬測試:

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

    安裝圖表:

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

    請先確認 apigeedatastore 已啟用並執行,再繼續進行下一個步驟:

    kubectl -n APIGEE_NAMESPACE get apigeedatastore default
    
    NAME      STATE       AGE
    default   running    2d
    
  4. 安裝 Apigee 遙測:

    模擬測試:

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

    安裝圖表:

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

    查看狀態,確認服務已啟用及執行:

    kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry
    
    NAME               STATE     AGE
    apigee-telemetry   running   2d
    
  5. 安裝 Apigee Redis:

    模擬測試:

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

    安裝圖表:

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

    查看狀態,確認服務已啟用及執行:

    kubectl -n APIGEE_NAMESPACE get apigeeredis default
    
    NAME      STATE     AGE
    default   running   2d
    
  6. 安裝 Apigee 入口管理工具:

    模擬測試:

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

    安裝圖表:

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

    確認可用性,確認該服務是否已啟用:

    kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager
    
    NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
    apigee-ingressgateway-manager   2/2     2            2           2d
    
  7. 安裝 Apigee 機構。如果您已在 Shell 中設定 $ORG_NAME 環境變數,則可在下列指令中使用該變數:

    模擬測試:

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

    安裝圖表:

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

    檢查相關機構的狀態,確認該機構是否已啟用及運作:

    kubectl -n APIGEE_NAMESPACE get apigeeorg
    
    NAME                      STATE     AGE
    apigee-org1-xxxxx          running   2d
    
  8. 安裝環境。

    您一次只能安裝一個環境。使用 --set env=ENV_NAME 指定環境。如果您已在 Shell 中設定 $ENV_NAME 環境變數,則可在下列指令中使用該變數:

    模擬測試:

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

      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_NAMESPACE \
      --atomic \
      --set env=$ENV_NAME \
      -f overrides.yaml
    

    檢查相應環境的狀態,確認環境已啟用並執行:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    apigee-org1-dev-xxx            running     2d
    
  9. 安裝環境群組 (virtualhosts)。
    1. 您必須一次安裝一個環境群組 (虛擬主機)。使用 --set envgroup=ENV_GROUP 指定環境群組。如果您已在 Shell 中設定 $ENV_GROUP 環境變數,則可在下列指令中使用該變數。針對 overrides.yaml 檔案中提到的每個 env 群組重複執行下列指令:

      模擬測試:

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

        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_NAMESPACE \
        --atomic \
        --set envgroup=$ENV_GROUP \
        -f overrides.yaml
      
    2. 檢查 ApigeeRoute (AR) 的狀態。

      安裝 virtualhosts 會建立 ApigeeRouteConfig (ARC),而 ApigeeRoute (AR) 會在 Apigee 監控器從控制平面擷取環境群組相關詳細資料後,在內部建立。因此,請檢查對應的 AR 狀態是否正在執行:

      kubectl -n APIGEE_NAMESPACE get arc
      
      NAME                                STATE   AGE
      apigee-org1-dev-egroup                       2d
      
      kubectl -n APIGEE_NAMESPACE 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 4 5 7 8 8 9 10 (NEXT) 步驟 11:設定 Workload Identity

所有其他安裝

在下一個步驟中,您將設定 Apigee 入口網關,並部署 Proxy 來測試安裝作業。

(NEXT) 步驟 1:公開 Apigee 入口 2