在所有微服務上啟用 Istio

先前,您已在單一微服務 productpage 上啟用 Istio。您可以逐步在更多微服務上啟用 Istio,以取得更多微服務的 Istio 功能。在本教學課程中,您將在一個步驟中在所有剩餘的微服務上啟用 Istio。

  1. 在本教學課程中,請將微服務的部署縮減為 1

    $ kubectl scale deployments --all --replicas 1
    
  2. 重新部署已啟用 Istio 的 Bookinfo 應用程式。由於服務 productpage 已注入 Istio,因此不會重新部署,且其 Pod 不會變更。這次您只會使用一個微服務複本。

    $ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - | kubectl apply -l app!=reviews -f -
    $ curl -s https://raw.githubusercontent.com/istio/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml | istioctl kube-inject -f - | kubectl apply -l app=reviews,version=v2 -f -
    service/details unchanged
    serviceaccount/bookinfo-details unchanged
    deployment.apps/details-v1 configured
    service/ratings unchanged
    serviceaccount/bookinfo-ratings unchanged
    deployment.apps/ratings-v1 configured
    serviceaccount/bookinfo-reviews unchanged
    service/productpage unchanged
    serviceaccount/bookinfo-productpage unchanged
    deployment.apps/productpage-v1 configured
    deployment.apps/reviews-v2 configured
    
  3. 多次存取應用程式的網頁。請注意,Istio 是 透明地 新增的,原始應用程式並未變更。它是動態新增的,無需取消部署並重新部署整個應用程式。

  4. 檢查應用程式 Pod,並確認現在每個 Pod 都有兩個容器。一個容器是微服務本身,另一個是附加於其上的 Sidecar 代理。

    $ kubectl get pods
    details-v1-58c68b9ff-kz9lf        2/2       Running   0          2m
    productpage-v1-59b4f9f8d5-d4prx   2/2       Running   0          2m
    ratings-v1-b7b7fbbc9-sggxf        2/2       Running   0          2m
    reviews-v2-dfbcf859c-27dvk        2/2       Running   0          2m
    curl-88ddbcfdd-cc85s              1/1       Running   0          7h
    
  5. 使用您在 /etc/hosts 檔案中 先前 設定的自訂 URL 來存取 Istio 儀表板。

    http://my-istio-dashboard.io/dashboard/db/istio-mesh-dashboard
    
  6. 在左上角的下拉式選單中,選擇Istio Mesh Dashboard。請注意,現在您命名空間中的所有服務都會出現在服務列表中。

    Istio Mesh Dashboard
    Istio Mesh 儀表板
  7. Istio Service Dashboard 中檢查其他微服務,例如 ratings

    Istio Service Dashboard
    Istio Service 儀表板
  8. 使用 Kiali 控制台視覺化您的應用程式拓撲,它不是 Istio 的一部分,而是作為 demo 組態的一部分安裝。使用您在 /etc/hosts 檔案中 先前 設定的自訂 URL 來存取儀表板。

    http://my-kiali.io/kiali/console
    

    如果您是按照入門說明安裝 Kiali,您的 Kiali 控制台使用者名稱是 admin,密碼是 admin

  9. 點擊 Graph 標籤,並在頂層角落的 Namespace 下拉式選單中選擇您的命名空間。在 Display 下拉式選單中,勾選 Traffic Animation 核取方塊以查看一些酷炫的流量動畫。

    Kiali Graph Tab, display drop-down menu
    Kiali Graph 標籤,顯示下拉式選單
  10. 嘗試 Edge Labels 下拉式選單中的不同選項。將滑鼠懸停在圖表的節點和邊緣上。請注意右側的流量指標。

    Kiali Graph Tab, edge labels drop-down menu
    Kiali Graph 標籤,邊緣標籤下拉式選單
    Kiali Graph Tab
    Kiali Graph 標籤

您已準備好設定 Istio Ingress Gateway

這些資訊對您有幫助嗎?
您有任何改進建議嗎?

感謝您的回饋!