系列文章:
總目錄索引:九析帶你輕鬆完爆 istio 服務網格系列教程
目錄
1 前言
2 邀約
3 安裝 istio
4 安裝 bookinfo 應用
5 設置 kiali
6 kiali 可視化 bookinfo
7 注入和觀察流量
1 前言
如果你對博客有任何疑問,請告訴我。
2 邀約
你可以從 b 站搜索 “九析”,獲取免費的、更生動的視頻資料:
3 安裝 istio
istio 安裝教程請參考本人的博客《istio 安裝》。
4 安裝 bookinfo 應用
bookinfo 是 istio 官方提供的樣例程序。有關安裝、istio 注入請參考本人的博客《istio bookinfo 應用》。
5 設置 kiali
kiali 是使用 istioctl 客戶端工具安裝 demo profile 時自動就會安裝的組件,kiali 是一款 istio 服務網格可視化工具,提供了服務拓補圖、全鏈路跟蹤、指標遙測、配置校驗、健康檢查等功能。
有關 kiali 的配置和簡單使用請參考本人的博客《kiali 安裝》和《kiali 使用》。
6 kiali 可視化 bookinfo
登錄 kiali,進入 overview 菜單,選中 bookinfo 應用,如下圖所示,本人佈置在 jiuxi 命名空間:
點擊進入 jiuxi 命名空間下的 "4 Applications" , 進入 "Applications" 視圖,可見 bookinfo 樣例下的 4 個微服務,並且當前這 4 個微服務狀態都健康(Health ✔)如下圖所示:
最關鍵的可視化內容可以查看 “Graph” 菜單,如下所示:
下面重點介紹 “Graph” 視圖下的功能:
1 命名空間
2 分類圖展示:app(應用視角,label 名爲 app,並且 app 值相同的資源算作一類 app)、service(k8s服務視角)、versioned app(標記版本應用視角)、workload(k8s工作負載視角,比如 deployment、job、statefulset、daemonset)
3 指標展示:Requests per second(每秒多少請求)、Requests percent(請求分佈佔比)、Response time(響應時間)
4 顯示過濾器:各種顯示開關,用複選框表示;可以選擇 Traffic Animation,爽爽看
5 規格過濾顯示:可以把它類比爲 grep 命令,通過定義好的過濾規則,高亮圖的某些組件或元素,比如在 find 字段輸入 httpout > 0.5 後回車,可看到如下截圖所示
6 三角形表示 k8s 服務
7 圓形表示 k8s workload
8 時間間隔的流量選擇器:比如 1m(分鐘)、5m、10m、30m、1h(小時)、3h、6h
9 頁面刷新頻率:比如每 10 秒、每 15 秒、每 30 秒、每 1 分鐘、每 5 分鐘、每 15 分鐘
10 命名空間
11 入口流量、出口流量和總流量顯示
12 圖例說明:解釋圖中各個形狀各代表什麼意思
13 layout:不同展示風格(共有三種,選擇自己的喜好)
7 注入和觀察流量
選擇 ingressgateway svc,通過如下指令:
kubectl get svc -n istio-system -o wide # jiuxi 是我自定義命名空間
執行結果如下圖:
因爲服務類型是 NodePort,所以 ip 要選擇宿主機 ip,而不是 svc cluster-ip 或者是 pod ip,如下圖所示:
通過 curl 命令打入流量:
while true; do curl http://10.110.101.98:30100/productpage; done
通過 kiali graph 視圖:
自此,九析帶你輕鬆完爆 istio kiali bookinfo 應用。