安裝 ASM
Apigee Hybrid 會使用 Anthos 服務網格 (ASM) 提供的 Istio 發行版本。 請按照下列步驟,在叢集中安裝 ASM。
支援的 ASM 版本
如要瞭解 1.7 版混合式環境支援的 ASM 版本,請參閱「Apigee hybrid:支援的平台」。
執行 ASM 設定步驟
如要完成 ASM 安裝作業,請先按照 ASM 說明文件中的步驟,完成 ASM 專屬的設定。然後,您必須返回這裡完成混合專屬設定,再將設定套用至叢集。
安裝及設定 ASM 的操作說明會因平台而異。平台可分為下列類別:
- GKE:在 Google Cloud 上執行的 Google Kubernetes Engine 叢集。
- Google Cloud 以外:在下列項目上執行的 Anthos 叢集:
- VMware 中的 Anthos 叢集 (GKE On-Prem)
- Anthos on bare metal
- AWS 中的 Anthos 叢集
- Amazon EKS
- 其他 Kubernetes 平台:在下列項目中建立及執行的相容叢集:
- AKS
- EKS
- OpenShift
GKE
準備安裝 ASM
- 檢查下列步驟所需的環境變數,並視需要設定:
echo $PROJECT_ID
echo $CLUSTER_NAME
echo $CLUSTER_LOCATION
- 建立名為
overlay.yaml
的疊加檔案,並在當中加入下列內容:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- 節點選取器的預設值為
apigee-runtime
。這是您在步驟 1:建立叢集中建立的apigee-runtime
節點集區。如果您使用其他節點選取器或未使用節點選取器,請變更或省略nodeSelector
屬性。 - STATIC_IP 是負載平衡器的 IP 位址。如果尚未設定,請省略
loadBalancerIP
屬性,但保留type
和ports
屬性。
- 節點選取器的預設值為
- 按照操作說明準備安裝 ASM:
- 按照「安裝必要工具」一文中的操作說明,安裝
asmcli
和所有必要工具,例如 git、kubectl 和 jq。 - 繼續執行步驟,授予叢集管理員權限,然後停止。請勿執行「驗證專案和叢集」步驟。
- 安裝 ASM,並啟用選用功能。
使用
--option legacy-default-ingressgateway
指定舊版輸入閘道。 例如:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path 是您要設定 ASM 安裝作業的輸出目錄,包括所有子目錄。
asmcli
- overlay.yaml 是您在先前步驟中建立的疊加檔案。
按照「安裝選用功能」一文中的指示操作時,請使用這些設定。
- dir_path 是您要設定 ASM 安裝作業的輸出目錄,包括所有子目錄。
疑難排解
如果遇到與 gcloud container hub memberships register
相關的錯誤,可能是因為您向 GKE Hub 註冊的叢集數量已達上限。例如:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
請按照下列步驟修正這項錯誤,然後再次執行 asmcli install
:
- 列出專案的 GKE Hub 成員資格:
gcloud container hub memberships list --project=$PROJECT_ID
- 刪除 GKE Hub 成員資格:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
如要進一步瞭解 GKE Hub 限制,請參閱配額與限制。
Google Cloud 以外
以下操作說明適用於使用 Anthos 在下列項目上執行的 Apigee Hybrid 執行個體,安裝及設定 ASM:
- VMware 中的 Anthos 叢集 (GKE On-Prem)
- Anthos on bare metal
- AWS 中的 Anthos 叢集
- Amazon EKS
準備安裝 ASM
- 檢查下列步驟所需的環境變數,並視需要設定:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- 請記下
ASMCLI
中所需的值。按照 ASM 文件中的步驟操作時,系統會要求您提供下列值:- FLEET_PROJECT_ID:叢集要與哪個專案建立關聯。
使用您為這次安裝作業建立的專案,並儲存在
${PROJECT_ID}
環境變數中。 - KUBECONFIG_FILE kubeconfig 檔案的完整路徑。預設路徑為
$HOME/.kube/config
。詳情請參閱 Kubernetes 說明文件的「使用 kubeconfig 檔案整理叢集存取權」。 - DIR_PATH ASMCLI 的輸出目錄。這是指建立 Istio 設定檔的路徑。例如:
./asm
。 - GATEWAY_NAMESPACE Istio 輸入閘道的命名空間,例如:
istio
。 - REVISION這個 ASM 版本的修訂版本標籤。使用
asm-1260-11
- CONTEXTKubernetes 環境。使用下列指令,確認 Kubernetes 是否使用叢集的內容:
kubectl config get-contexts
如果目前的叢集不是目前的內容,您可以使用下列指令設定:
kubectl config use-context CONTEXT
- USER_ACCOUNT 您用來管理叢集的帳戶,必須具備叢集管理員權限。
- FLEET_PROJECT_ID:叢集要與哪個專案建立關聯。
使用您為這次安裝作業建立的專案,並儲存在
- 使用下列指令將內容設為專案和區域:
設定預設專案 ID:
gcloud config set project ${PROJECT_ID}
如果您使用地區叢集,請設定預設的運算區域:
gcloud config set compute/region ${CLUSTER_LOCATION}
- 使用下列指令取得憑證:
gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
- 建立名為
overlay.yaml
的疊加檔案,並在當中加入下列內容:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- 節點選取器的預設值為
apigee-runtime
。這是您在步驟 1:建立叢集中建立的apigee-runtime
節點集區。如果您使用其他節點選取器或未使用節點選取器,請變更或省略nodeSelector
屬性。 - STATIC_IP 是負載平衡器的 IP 位址。如果尚未設定,請省略
loadBalancerIP
屬性,但保留type
和ports
屬性。
- 節點選取器的預設值為
- 按照操作說明準備安裝 ASM:
- 按照「安裝必要工具」一文中的操作說明,安裝
asmcli
和所有必要工具,例如 git、kubectl 和 jq。 - 繼續執行步驟,授予叢集管理員權限,然後停止。請勿執行「驗證專案和叢集」步驟。
- 安裝 ASM,並啟用選用功能。
使用
--option legacy-default-ingressgateway
指定舊版輸入閘道。 例如:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path 是您要設定 ASM 安裝作業的輸出目錄,包括所有子目錄。
asmcli
- overlay.yaml 是您在先前步驟中建立的疊加檔案。
按照「安裝選用功能」一文中的指示操作時,請使用這些設定。
- dir_path 是您要設定 ASM 安裝作業的輸出目錄,包括所有子目錄。
疑難排解
如果遇到與 gcloud container hub memberships register
相關的錯誤,可能是因為您向 GKE Hub 註冊的叢集數量已達上限。例如:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
請按照下列步驟修正這項錯誤,然後再次執行 asmcli install
:
- 列出專案的 GKE Hub 成員資格:
gcloud container hub memberships list --project=$PROJECT_ID
- 刪除 GKE Hub 成員資格:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
如要進一步瞭解 GKE Hub 限制,請參閱配額與限制。
其他 Kubernetes 平台
AKS
設定及下載 ASM
開始前,請詳閱下列步驟。 我們會請您執行 ASM 說明文件列出的一些步驟,然後返回這個頁面完成安裝。
本指南說明如何在 Anthos 附加叢集上,乾淨安裝 Anthos Service Mesh (ASM) 版本 1.26.0-asm.11 。請參閱本指南,在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- Kubernetes 上的 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos Service Mesh
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-win.zip
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制層元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos Service Mesh
- 建立名為
overlay.yaml
的檔案,並在當中加入下列內容:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- 使用
asm-multicloud
設定檔,透過istioctl
安裝 Anthos 服務網格:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11" \ --filename overlay.yaml
--set revision
引數會將修訂版本標籤新增至 istiod,格式為istio.io/rev=asm-1260-11
。自動 Sidecar 注入器 Webhook 會使用修訂版本標籤,將注入的 Sidecar 與特定 istiod 修訂版本建立關聯。如要為命名空間啟用 Sidecar 自動插入功能,您必須使用與 istiod 標籤相符的修訂版本標記命名空間。 - 確認
istiod
Pod 正在執行kubectl get pods
:kubectl get pods -n istio-system
輸出內容應如下所示:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- 確認安裝完成:
kubectl get svc -n istio-system
輸出內容應如下所示:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
EKS
設定及下載 ASM
開始前,請詳閱下列步驟。 我們會請您執行 ASM 說明文件列出的一些步驟,然後返回這個頁面完成安裝。
本指南說明如何在 Anthos 附加叢集上,乾淨安裝 Anthos Service Mesh (ASM) 版本 1.26.0-asm.11 。請參閱本指南,在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- Kubernetes 上的 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos Service Mesh
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-win.zip
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制層元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos Service Mesh
- 建立名為
overlay.yaml
的檔案,並在當中加入下列內容:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- 使用
asm-multicloud
設定檔,透過istioctl
安裝 Anthos 服務網格:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11" \ --filename overlay.yaml
--set revision
引數會將修訂版本標籤新增至 istiod,格式為istio.io/rev=asm-1260-11
。自動 Sidecar 注入器 Webhook 會使用修訂版本標籤,將注入的 Sidecar 與特定 istiod 修訂版本建立關聯。如要為命名空間啟用 Sidecar 自動插入功能,您必須使用與 istiod 標籤相符的修訂版本標記命名空間。 - 確認
istiod
Pod 正在執行kubectl get pods
:kubectl get pods -n istio-system
輸出內容應如下所示:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- 確認安裝完成:
kubectl get svc -n istio-system
輸出內容應如下所示:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
設定及下載 ASM
開始前,請詳閱下列步驟。 我們會請您執行 ASM 說明文件列出的一些步驟,然後返回這個頁面完成安裝。
本指南說明如何在 Anthos 附加叢集上,乾淨安裝 Anthos Service Mesh (ASM) 版本 1.26.0-asm.11 。請參閱本指南,在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- Kubernetes 上的 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos Service Mesh
- 使用下列
oc
指令,將anyuid
安全性內容限制 (SCC) 授予 istio-system:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.26.0-asm.11-linux-amd64.tar.gz.1.sig istio-1.26.0-asm.11-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-linux-amd64.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 使用下列
oc
指令,將anyuid
安全性內容限制 (SCC) 授予 istio-system:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.26.0-asm.11-osx.tar.gz.1.sig istio-1.26.0-asm.11-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-osx.tar.gz
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 使用下列 OpenShift CLI (
oc
) 指令,將anyuid
安全性環境限制 (SCC) 授予 istio-system:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip
- 下載簽名檔,並使用 openssl 驗證簽名:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.26.0-asm.11-win.zip.1.sig
openssl dgst -verify - -signature istio-1.26.0-asm.11-win.zip.1.sig istio-1.26.0-asm.11-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,舉例來說,如要將內容解壓縮至目前的工作目錄,請執行下列指令:
tar xzf istio-1.26.0-asm.11-win.zip
這個指令會在目前的工作目錄中建立名為
istio-1.26.0-asm.11
的安裝目錄,其中包含:samples
目錄中的範例應用程式。- 您用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 確認您位於 Anthos Service Mesh 安裝的根目錄中:
cd istio-1.26.0-asm.11
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制層元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos Service Mesh
- 建立名為
overlay.yaml
的檔案,並在當中加入下列內容:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- 使用
asm-multicloud
設定檔,透過istioctl
安裝 Anthos 服務網格:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1260-11" \ --filename overlay.yaml
--set revision
引數會將修訂版本標籤新增至 istiod,格式為istio.io/rev=asm-1260-11
。自動 Sidecar 注入器 Webhook 會使用修訂版本標籤,將注入的 Sidecar 與特定 istiod 修訂版本建立關聯。如要為命名空間啟用 Sidecar 自動插入功能,您必須使用與 istiod 標籤相符的修訂版本標記命名空間。 - 確認
istiod
Pod 正在執行kubectl get pods
:kubectl get pods -n istio-system
輸出內容應如下所示:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1260-11-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1260-11-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- 確認安裝完成:
kubectl get svc -n istio-system
輸出內容應如下所示:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1260-11 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
自訂 ASM 安裝作業
您剛執行的 ASM 安裝作業是最低限度的安裝,足以測試及使用 Apigee Hybrid 的基本用途。如要瞭解如何處理更進階的用途,例如新增、移除或修改負載平衡器連接埠號碼,請參閱「啟用選用功能」。
摘要
您現在已安裝 cert-manager 和 ASM,可以開始在本機安裝 Apigee Hybrid 指令列工具。
1 2 3 (NEXT) Step 4: Install apigeectl 5 6 7 8 9