系列文章:
總目錄索引:九析帶你輕鬆完爆 istio 服務網格系列教程
目錄
1 前言
2 邀約
3 預備知識
4 kiali 組件分析
5 config.yaml 文件
1 前言
如果你對博客有任何疑問,請告訴我。
2 邀約
你可以從 b 站搜索 “九析”,獲取免費的、更生動的視頻資料:
3 預備知識
有關 kiali 介紹、安裝和使用請參考本人上三篇博客《九析帶你輕鬆完爆 istio 服務網格系列教程》。這裏介紹 istio 1.5.0 kiali 組件。
4 kiali 組件分析
使用如下命令查看 kiali pod 詳情:
kubectl edit pod -n istio-system $(kubectl get pods -n istio-system | grep -i kiali | awk '{print $1}')
kiali pod 內只有一個容器,名稱爲 kiali。該容器在啓動的過程中會運行容器內 kiali 進程,該進程會加載 /kiali-configuration/config.yaml 配置文件,該 config.yaml 文件定義了 kiali 進程運行時行爲。pod 詳情截圖如下:
kiali pod 內 /kiali-configuration/config.yaml 配置文件是通過掛載 configmap 獲取到的,如下:
configmap 信息如下:
可以通過語句查看 kiali configmap 內容:
kubectl edit configmap -n istio-system kiali
kiali configmap 內容截圖如下:
由上圖可知,configmap 最終會以 config.yaml 文件的形式掛載到 kiali pod 中的 /kiali-configuration 目錄下,登錄 kiali pod 查看,如下圖所示:
5 config.yaml 文件
config.yaml 內容截圖如下:
該配置文件定義了 kiali 行爲,下面分別介紹如下:
首先聲明 istio 自身以及 istio 插件在 k8s 哪個命名空間下:
# istio 插件 grafana、tracing、pilot、prometheus
grafana: istio-system
tracing: istio-system
pilot: istio-system
prometheus: istio-system
# istio 自身
istio_namespace: istio-system
其次介紹 kiali 鑑權方式:
auth:
strategy: login # 通過 login 方式進行鑑權
再次介紹 kiali deployment 可以訪問的 k8s 命名空間:
deployment:
accessible_namespaces: ['**'] # 沒有限制,可訪問任何命名空間
接着介紹 kiali 對外服務的端口號和訪問路徑:
server:
port: 20001
web_root: /kiali
最後介紹 kiali 訪問 istio、istio 插件(tracing、grafana、promethues)的 url 地址。注意該 url 必須是可以直接訪問到的真實地址。
external_services:
istio:
url_service_version: http://istio-pilot.istio-system:8080/version
tracing:
url:
in_cluster_url: http://tracing/jaeger
grafana:
url:
in_cluster_url: http://grafana:3000
prometheus:
url: http://prometheus.istio-system:9090