系列文章
- istio 實戰 一 Kubernetes 中快速搭建 istio
- istio 實戰 二 bookinfo 部署
- istio 實戰 三 智能路由
- istio 實戰 四 權重路由以及監控
- istio 實戰 五 網格可視化 - kiali
- istio 實戰 六 全鏈路監控 - Jaeger
簡介
kiali 爲我們提供了查看相關服務與配置提供了統一化的可視化界面,並且能在其中展示他們的關聯;同時他還提供了界面讓我們可以很方便的驗證 istio 配置與錯誤提示;
前提
- kubernetes 集羣 基於centos7 搭建 1.14 kubernetes 集羣
- Istio 1.2.4: istio 實戰 一 Kubernetes 中快速搭建 istio
- bookinfo: istio 實戰 二 bookinfo 部署
操作步驟
安裝istio時候內置了kiali
注意: 因爲麼有負載均衡器,下面的操作步驟都基於nodeport的模式,公有云部署並且有lb的忽略。官網設置鏈接
之前已經做過的可以省略 第 2 步。
1. 檢測服務是否正常
➜ ~ kubectl -n istio-system get svc kiali
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kiali ClusterIP 10.110.143.163 <none> 20001/TCP 25h
2. 設置INGRESS_HOST
設置INGRESS_PORT:
➜ ~ export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
設置 INGRESS_HOST:
➜ ~ export INGRESS_HOST=127.0.0.1
設置GATEWAY_URL:
➜ ~ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
3. 映射 kiali pod 端口
➜ ~ kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=kiali -o jsonpath='{.items[0].metadata.name}') 20001:20001 &
4. 持續發送請求
如果系統中安裝了 watch 命令,就可以用它來持續發送請求
➜ ~ watch -n 1 curl -o /dev/null -s -w %{http_code} $GATEWAY_URL/productpage
5. 測試
瀏覽器打開kiali地址 http://nodeip:20001
截圖能看到整體的微服務結構、請求的流量等。
kiali 還有很多強大功能
- 可視化配置istio config virtualservice、destination 等規則
- 可視化日誌查看
- 資源監控
- service、pod application 等監控
等等 有興趣的可以自己研究kiali