Service Mesh (ASM)支援開啟Ambient Sidecarless模式。本文將介紹這種模式的入門樣本應用的部署步驟,協助您提前準備環境,以便儘快體驗Sidecarless模式的特性。
前提條件
-
已建立合格Kubernetes叢集。更多資訊,請參見適合的Kubernetes叢集及配置。
-
已為ASM執行個體啟用Ambient Mesh模式。
-
建立執行個體:在建立服務網格頁面的數據面模式地區,選中啟用Ambient Mesh模式,其他配置項請按照實際情況進行配置。具體操作,請參見建立ASM執行個體。
-
現有執行個體:在執行個體的基本資料頁面,單擊Ambient Mesh模式後的啟用。
-
-
已為ASM執行個體添加ACK叢集。具體操作,請參見添加叢集到ASM執行個體。
-
已建立入口網關。具體操作,請參見建立入口網關。
部署樣本應用
本文使用bookinfo作為樣本應用。更多資訊,請參見在ASM執行個體關聯的叢集中部署應用。
在ACK叢集中部署樣本應用
登入ASM控制台,在左側導覽列,選擇。
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇。
-
從Github的Istio專案庫Bookinfo應用中下載Bookinfo的YAML檔案,然後執行以下命令,在default命名空間中部署該樣本應用。
kubectl apply -f bookinfo.yaml -
部署sleep應用。
-
使用以下內容建立sleep.yaml。
-
執行以下命令,在default命名空間中部署該樣本應用。
kubectl apply -f sleep.yaml
-
-
部署notsleep應用。
-
使用以下內容建立notsleep.yaml。
-
執行以下命令,在default命名空間中部署該樣本應用。
kubectl apply -f notsleep.yaml
-
在ASM執行個體中部署網格資源
-
使用以下內容,建立bookinfo-gateway.yaml檔案。
YAML檔案用於建立網關規則Gateway對象和虛擬服務VirtualService對象。
-
在ASM執行個體對應的kubeconfig環境下,執行以下命令,部署網格資源。
kubectl apply -f bookinfo-gateway.yaml
驗證準系統
-
執行以下命令,設定入口網關的環境變數。
export GATEWAY_HOST=istio-ingressgateway.istio-system export GATEWAY_SERVICE_ACCOUNT=ns/istio-system/sa/istio-ingressgateway -
查看通過網關是否可以正常訪問bookinfo應用。
kubectl exec deploy/sleep -- curl -s "http://$GATEWAY_HOST/productpage" | grep -o "<title>.*</title>"預期輸出:
<title>Simple Bookstore App</title> -
查看不通過網關是否可以正常訪問bookinfo應用。
-
通過sleep應用訪問:
kubectl exec deploy/sleep -- curl -s http://productpage:9080/productpage | grep -o "<title>.*</title>"預期輸出:
<title>Simple Bookstore App</title> -
通過notsleep應用訪問:
kubectl exec deploy/notsleep -- curl -s http://productpage:9080/productpage | grep -o "<title>.*</title>"預期輸出:
<title>Simple Bookstore App</title>
-
可以看到,無論是否經過網關,均可以正常訪問bookinfo應用。