Kubernetes API 流量查看神器 - Mizu

开发 开发工具
Mizu 是一个简单但功能强大的 Kubernetes API 流量查看器,可以让我们查看微服务之间的所有 API 通信,以帮助你调试和排查故障,相当于 TCPDump 和 Chrome Dev Tools 工具的结合。

[[429027]]

Mizu 是一个简单但功能强大的 Kubernetes API 流量查看器,可以让我们查看微服务之间的所有 API 通信,以帮助你调试和排查故障,相当于 TCPDump 和 Chrome Dev Tools 工具的结合。

安装

Mizu 是一个 Golang 开发的二进制工具包,只需要单独下载即可运行。

如果是 MAC 系统直接使用下面的命令下载安装即可:

  1. curl -Lo mizu \ https://github.com/up9inc/mizu/releases/latest/download/mizu_darwin_amd64 \ && chmod 755 mizu 

如果是 Linux 系统则可以使用下面的命令:

  1. curl -Lo mizu \ https://github.com/up9inc/mizu/releases/latest/download/mizu_linux_amd64 \ && chmod 755 mizu 

Mizu 使用的是 KUBECONFIG 环境变量来查找 kubeconfig 文件,如果没有设置则使用默认的 $HOME/.kube/config 文件,所以只需要保证我们的 kubectl 能正常控制 Kubernetes 集群,那么 Mizu 就可以正常运行了。

此外 Mizu 会假设运行该命令的用户有权在你的 Kubernetes 集群上创建资源对象(比如 pod、service、namespace)。

运行

要使用 Mizu 来查看流量,只需要按照下面的步骤操作即可:

  1. 在 Kubernetes 集群中查找你想要查看的 Pod
  2. 运行 mizu tap 或者 mizu tap PODNAME 命令
  3. 在浏览器中打开 http://localhost:8899/mizu 页面
  4. 在打开的页面中即可观察 API 的流量
  5. 输入 ^C 即可停止

假设我们正在运行的 Pod 列表如下所示:

要查看指定 Pod 的流量,只需要输入 Pod 名即可:

  1. mizu tap catalogue-b87b45784-sxc8q 
  2. +catalogue-b87b45784-sxc8q 
  3.  Web interface is now available at http://localhost:8899 
  4.  ^C 

如果要查看多个 Pod 的流量,则可以通过一个正则表达式来进行匹配:

  1. mizu tap "(catalo*|front-end*)" 

该命令将观察以下 Pod 的流量,因为它们的名字符合正则表达式。

  • catalogue-6676dc489b-6tx9h
  • catalogue-db-69bd898747-7p8rq
  • front-end-946fd755f-8t6gp

如果要查看所有的 API 流量,则更简单了,直接执行 mizu tap ".*" 即可。查看某个命名空间的 Pod 中的所有 API 流量:

  1. mizu tap ".*" -n sock-shop 

除此之外还有安全配置和高级用法,可以查看官方网站(https://getmizu.io/)了解更多详情。

 

责任编辑:姜华 来源: Github爱好者
相关推荐

2023-11-08 00:23:08

网关API

2020-04-08 13:05:03

TraefikKubernetes树莓派

2022-07-01 17:57:45

KubernetesAPI

2021-08-03 14:12:57

API攻击流量安全

2022-09-26 14:24:18

Linux网络流量审计

2022-06-21 08:12:17

K8sAPI对象Kubernetes

2023-06-20 08:10:00

2022-06-07 16:17:45

KubernetesAPI Schema

2023-12-25 07:46:35

GatewayAPI开源

2023-10-27 12:36:37

gRPCKubernetes

2022-06-27 19:16:12

KubernetesK8s 集群

2024-01-30 07:58:41

KubernetesGAMMA网关

2024-01-29 01:15:11

HelmKubernetesKustomize

2020-11-05 11:00:21

KubernetesKustomize开源

2019-02-25 10:18:43

工具代码测试

2023-11-07 07:08:57

2023-10-16 12:12:28

2021-10-14 09:51:17

架构运维技术

2022-01-06 07:46:01

Traefik 开源Gateway API

2022-01-06 07:06:52

KubernetesResourceAPI
点赞
收藏

51CTO技术栈公众号