您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本主題說明在 Kubernetes 叢集中將 Edge Microgateway 做為服務安裝前,必須完成的步驟。
本主題將討論以下內容:
- Kubernetes 叢集的最低需求條件。
- 如何安裝及設定 Edge Microgateway。
- 如何將 Edge Microgateway 的基本設定安裝到 Kubernetes 叢集中。
Kubernetes 叢集的相關規定
您的 Kubernetes 叢集需要:
- Kubernetes 1.9 以上版本。
- Kubernetes CLI kubectl 1.9 以上版本。
- 叢集中至少有 3 個節點,每個節點有 2 個 vCPU。
範例:在 Google Kubernetes Engine (GKE) 上建立 Kubernetes 叢集
設定 Kubernetes 管理機器
Kubernetes 管理機器是您用來對 Kubernetes 叢集執行指令的本機機器。這個機器通常是可存取 Kubernetes VM 的桌面機器。
您必須在 Kubernetes 管理機器上安裝下列公用程式:
在 GKE 上建立 Kubernetes 叢集
- 登入 Google Cloud Platform (GCP) 上的 Google Kubernetes Engine (GKE) 資訊主頁。
- 點選「建立叢集」。
- 選取「標準叢集」。
- 輸入叢集的名稱。
- 選取區域。
- 選取
Cluster Version 1.9.7-gke-*
。例如1.9.7-gke.6
。 - 選取 3 個節點的大小。
- 選取 2 個 vCPU 和 7.5 GB 記憶體。
按一下「建立」。
下圖螢幕截圖顯示 GKE 資訊主頁已填入先前步驟所述的資料:
取得叢集憑證
設定 GKE 專案名稱:
gcloud config set project projectName
設定 GKE 專案區域:
gcloud config set compute/zone zoneName
取得 gcloud 容器憑證:
gcloud container clusters get-credentials cluster-name --zone zone --project project-name
其中:
cluster-name
是您建立的 Kubernetes 叢集名稱。zone
是叢集所在的區域。project-name
是您的 GCP 專案名稱。
例如:
gcloud container clusters get-credentials edgemicrogateway-cluster --zone us-central1-a --project edgemicro-project
請按照下列指令執行。這項指令會將叢集管理員權限授予目前使用者。您必須具備管理員權限,才能為 Edge Microgateway 服務建立必要的 RBAC 規則:
kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value core/account)
安裝 Kubernetes 適用的 Edge Microgateway
下載 Kubernetes 適用的 Edge Microgateway。如果您使用的是 MacOS 或 Linux 機器,可以指定版本名稱,下載最新版本或特定版本。
如要取得最新版本,請按照下列步驟操作:
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -
如要根據版本號碼取得特定版本,請注意,版本號碼的開頭必須加上字母「v」。例如:v3.0.2
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s version
例如:
curl -L https://raw.githubusercontent.com/apigee-internal/microgateway/master/kubernetes/release/downloadEdgeMicrok8s.sh | sh -s v3.0.2
將目錄變更為安裝目錄
microgateway_Version_OS_ARCH
。例如:cd microgateway_2.5.26_Darwin_x86_64
檢查安裝目錄:
/install/kubernetes
:要部署至 Kubernetes 的設定.yaml
檔案。/samples
- 用於測試安裝作業的範例應用程式。/bin
- 可執行的edgemicroctl
。edgemicroctl
指令會將 Edge Microgateway 植入 Kubernetes
將
edgemicroctl
用戶端新增至PATH
。舉例來說,請在 MacOS 或 Linux 系統上執行下列指令:export PATH=$PWD/bin:$PATH
將基本 Edge Microgateway 設定套用至 Kubernetes 叢集。下列指令會建立
edgemicro-system
命名空間和叢集角色。kubectl apply -f install/kubernetes/edgemicro.yaml
將 NGINX Ingress 控制器安裝到叢集中。請確認沒有其他 Nginix 控制器正在執行。您可以執行
kubectl get pods
來檢查。kubectl apply -f install/kubernetes/edgemicro-nginx-gke.yaml
驗證安裝
如要檢查 Ingress 控制器是否已啟動,請執行下列指令:
kubectl get pods --all-namespaces -l app=edgemicro-ingress --watch
如以下範例輸出結果所示,啟動程序需要一或兩分鐘的時間。在
STATUS
變更為Running
之前,出現多次錯誤和重新啟動週期是正常現象。NAMESPACE NAME READY STATUS RESTARTS AGE edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 1 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Error 2 33s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 CrashLoopBackOff 2 40s edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 0/1 Running 3 1m edgemicro-system edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 1m
Ingress 執行後,您可以輸入
Ctrl+C
取消上述指令。執行這項指令,檢查 Kubernetes 服務是否已部署。您應該會看到類似以下範例的輸出內容:
kubectl get svc -n edgemicro-system
輸出內容範例:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default-http-backend ClusterIP 10.19.255.106 <none> 80/TCP 2h edgemicro-ingress LoadBalancer 10.19.247.156 35.224.24.13 80:30176/TCP,443:32325/TCP 2h
確認所有 Pod 皆為執行中狀態:
kubectl get pods -n edgemicro-system
輸出內容範例:
NAME READY STATUS RESTARTS AGE default-http-backend-55c6c69b88-2lvtw 1/1 Running 0 4m edgemicro-ingress-controller-64444469bf-wjhrn 1/1 Running 3 4m
安裝 Edge Microgateway
您必須安裝 Edge Microgateway 2.5.26 以上版本。您可以輸入以下指令來查看:
edgemicro --version
如果您尚未安裝 Edge Microgateway 2.5.26 以上版本,請執行安裝指令碼:
npm install edgemicro -g
如果您剛安裝 Edge Microgateway 或升級至最新版本,請執行以下指令:
edgemicro init
如需其他協助,請參閱「安裝 Edge Microgateway」。
下一步
您現在可以將 Edge Microgateway 部署至 Kubernetes。