安裝 ASM
Apigee hybrid 會使用 Anthos 服務網格 (ASM) 提供的 Istio 發行版本。請按照下列步驟在叢集中安裝 ASM。
支援的 ASM 版本
如要瞭解混合式 1.6 版支援的 ASM 版本,請參閱「Apigee hybrid:支援的平台」。
執行 ASM 設定步驟
如要完成 ASM 安裝程序,您必須先按照 ASM 說明文件中的 ASM 專屬設定步驟操作。接著,您必須返回這裡完成混合型專屬設定,才能將設定套用至叢集。
安裝及設定 ASM 的操作說明會因平台而異。平台分為下列類別:
- GKE:在 Google Cloud 上執行的 Google Kubernetes Engine 叢集。
- Google Cloud 以外:在下列系統上執行的 Anthos 叢集:
- VMware 中的 Anthos 叢集 (GKE On-Prem)
- 裸機中的 Anthos
- 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
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 是您要讓
asmcli
設定 ASM 安裝作業 (包括所有子目錄) 的輸出目錄。 - overlay.yaml 是您在先前步驟中建立的疊加檔案。
請在按照「安裝附加功能」一節中的操作說明進行時,使用這些設定。
- dir_path 是您要讓
疑難排解
如果您在參照 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
- AWS 中的 Anthos 叢集
- Amazon EKS
準備安裝 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 是您要讓
asmcli
設定 ASM 安裝作業 (包括所有子目錄) 的輸出目錄。 - overlay.yaml 是您在先前步驟中建立的疊加檔案。
請在按照「安裝附加功能」一節中的操作說明進行時,使用這些設定。
- dir_path 是您要讓
疑難排解
如果您在參照 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 服務網格 (ASM) 版本 的全新安裝作業。您可以參考本指南在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- 在 Kubernetes 上執行 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos 服務網格
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-linux-amd64.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature -linux-amd64.tar.gz.1.sig -linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -linux-amd64.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-osx.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature -osx.tar.gz.1.sig -osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -osx.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-win.zip
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-win.zip.1.sig
openssl dgst -verify - -signature -win.zip.1.sig -win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -win.zip
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制平面元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos 服務網格
- 建立名為
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="" \ --filename overlay.yaml
--set revision
引數會將以istio.io/rev=
格式編寫的修訂版本標籤新增至 istiod。自動附加元件注入器 webhook 會使用修訂版本標籤,將注入的附加元件與特定 istiod 修訂版本建立關聯。如要為命名空間啟用自動補充插入功能,您必須使用與 istiod 上的標籤相符的修訂版本標記命名空間。 - 使用
kubectl get pods
檢查istiod
Pod 是否正在執行: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--dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod--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- ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
EKS
設定及下載 ASM
開始前,請詳閱下列步驟。我們會請您執行 ASM 說明文件中列出的部分步驟,然後返回此處完成安裝作業。
本指南說明如何在 Anthos 已連結叢集中,執行 Anthos 服務網格 (ASM) 版本 的全新安裝作業。您可以參考本指南在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- 在 Kubernetes 上執行 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos 服務網格
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-linux-amd64.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature -linux-amd64.tar.gz.1.sig -linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -linux-amd64.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-osx.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature -osx.tar.gz.1.sig -osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -osx.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /bin 目錄中的工具新增至 PATH:
export PATH=$PWD/bin:$PATH
- 將 Anthos 服務網格安裝檔案下載至目前的工作目錄:
curl -LO https://storage.googleapis.com/gke-release/asm/-win.zip
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-win.zip.1.sig
openssl dgst -verify - -signature -win.zip.1.sig -win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -win.zip
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制平面元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos 服務網格
- 建立名為
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="" \ --filename overlay.yaml
--set revision
引數會將以istio.io/rev=
格式編寫的修訂版本標籤新增至 istiod。自動附加元件注入器 webhook 會使用修訂版本標籤,將注入的附加元件與特定 istiod 修訂版本建立關聯。如要為命名空間啟用自動補充插入功能,您必須使用與 istiod 上的標籤相符的修訂版本標記命名空間。 - 使用
kubectl get pods
檢查istiod
Pod 是否正在執行: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--dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod--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- ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
OpenShift
設定及下載 ASM
開始前,請詳閱下列步驟。我們會請您執行 ASM 說明文件中列出的部分步驟,然後返回此處完成安裝作業。
本指南說明如何在 Anthos 已連結叢集中,執行 Anthos 服務網格 (ASM) 版本 的全新安裝作業。您可以參考本指南在下列環境中安裝 Anthos 服務網格:
- Kubernetes 上的 Amazon Elastic Kubernetes Service (Amazon EKS)
- 在 Kubernetes 上執行 Microsoft Azure Kubernetes Service (Microsoft AKS)
- Red Hat OpenShift
準備安裝 Anthos 服務網格
- 使用下列
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/-linux-amd64.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature -linux-amd64.tar.gz.1.sig -linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -linux-amd64.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /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/-osx.tar.gz
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature -osx.tar.gz.1.sig -osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -osx.tar.gz
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests/profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 /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/-win.zip
- 下載簽章檔案,然後使用 openssl 驗證簽章:
curl -LO https://storage.googleapis.com/gke-release/asm/-win.zip.1.sig
openssl dgst -verify - -signature -win.zip.1.sig -win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - 將檔案的內容解壓縮到您檔案系統上的任何位置,例如,如要將內容擷取至目前的工作目錄:
tar xzf -win.zip
這個指令會在目前工作目錄中建立名為
的安裝目錄,其中包含:
samples
目錄中的範例應用程式。- 用來安裝 Anthos 服務網格的
istioctl
指令列工具位於bin
目錄中。 - Anthos 服務網格設定檔位於
manifests\profiles
目錄中。
- 請確認您位於 Anthos 服務網格安裝的根目錄中:
cd
- 為方便起見,請將 \bin 目錄中的工具新增至 PATH:
set PATH=%CD%\bin:%PATH%
- 安裝 ASM Istio 後,請檢查
istioctl
的版本:istioctl version
- 為控制平面元件建立名為 istio-system 的命名空間:
kubectl create namespace istio-system
Linux
Mac OS
Windows
安裝 Anthos 服務網格
- 建立名為
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="" \ --filename overlay.yaml
--set revision
引數會將以istio.io/rev=
格式編寫的修訂版本標籤新增至 istiod。自動附加元件注入器 webhook 會使用修訂版本標籤,將注入的附加元件與特定 istiod 修訂版本建立關聯。如要為命名空間啟用自動補充插入功能,您必須使用與 istiod 上的標籤相符的修訂版本標記命名空間。 - 使用
kubectl get pods
檢查istiod
Pod 是否正在執行: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--dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod--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- ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
自訂 ASM 安裝作業
您剛才執行的 ASM 安裝作業是最低安裝作業,足以測試及使用 Apigee Hybrid 進行基本用途。如要瞭解如何處理更進階的用途,例如新增、移除或修改負載平衡器埠號碼,請參閱「啟用選用功能」。
摘要
您現在已安裝 cert-manager 和 ASM,可以開始在本機電腦上安裝 Apigee 混合指令列工具。
1 2 3 5 6 9