系列文章:


总目录索引:九析带你轻松完爆 istio 服务网格系列教程

目录

1 前言

2 邀约

3 预备知识

4 kiali 组件分析

5 config.yaml 文件


1 前言

        如果你对博客有任何疑问,请告诉我。第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第1张图片


2 邀约

        你可以从 b 站搜索 “九析”,获取免费的、更生动的视频资料:第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第2张图片


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 详情截图如下:第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第3张图片

        kiali pod 内 /kiali-configuration/config.yaml 配置文件是通过挂载 configmap 获取到的,如下:clipboard4.png

        configmap 信息如下:第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第4张图片

        可以通过语句查看 kiali configmap 内容:

kubectl edit configmap -n istio-system kiali

        kiali configmap 内容截图如下:第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第5张图片

        由上图可知,configmap 最终会以 config.yaml 文件的形式挂载到 kiali pod 中的 /kiali-configuration 目录下,登录 kiali pod 查看,如下图所示:clipboard7.png


5 config.yaml 文件

        config.yaml 内容截图如下:第十四章 九析带你轻松完爆 service mesh - istio kiali 内部介绍_第6张图片

        该配置文件定义了 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