系列文章:
总目录索引:九析带你轻松完爆 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