又一开源力作,超强大的 Kubernetes API 流量查看器 『Mizu』

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !

fb999b17958ae6c8c15838bdd0f898e2.png

介绍

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

7fe03e5b5cb4fc98317f67e9fab3dde4.png

项目地址:https://github.com/up9inc/mizu

安装

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

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

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

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

$ 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 运行时候会在 kubernetes 集群创建资源(pod,service,namespace), 在命令终止时会自行清理资源。

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

  1. 在 Kubernetes 集群中查找你想要查看的 Pod

  2. 运行 mizu tap 或者 mizu tap PODNAME 命令

  3. 在浏览器中打开 http://localhost:8899/mizu 页面

  4. 在打开的页面中即可观察 API 的流量

  5. 输入 ^C 即可停止

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

498815604d8a4be508edb03469824d84.png

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

➜  ~ mizu tap catalogue-b87b45784-sxc8q
+catalogue-b87b45784-sxc8q
 Web interface is now available at http://localhost:8899
 ^C

我们运行 mizu tap 命令后会在 mizu 命名空间临时创建pod

➜  ~ kubectl get pod -n mizu
NAME                           READY   STATUS    RESTARTS   AGE
mizu-api-server                1/1     Running   0          5m39s
mizu-tapper-daemon-set-4w5hc   1/1     Running   0          5m39s

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

➜  ~ mizu tap "(catalo*|front-end*)"

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

  • catalogue-6676dc489b-6tx9h

  • catalogue-db-69bd898747-7p8rq

  • front-end-946fd755f-8t6gp

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

➜  ~ mizu tap ".*" -n sock-shop

然后,我们可以在浏览器中打开 http://localhost:8899/mizu 页面观察 API 的流量。

5acb0982807c0e53878acc4f2b511d52.png

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

本文转载自:「Github爱好者」,原文:https://tinyurl.com/y7y3btk6,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。

2e0ca8134b07e8d04c2cc57ebc812f53.gif

bee01d6edb77809bbf66c1a52ada3a91.png

你可能还喜欢

点击下方图片即可阅读

561a1b085ee0924032ea05bbaadb1591.png

如何优雅的通过 ApiServer 远程访问 Kubernetes 集群

eb5208ab4b55813dbf0a142610454594.png
点击上方图片,『美团|饿了么』外卖红包天天免费领

97e74ba9fe18553ae2aac5fe8e2c4d6d.png

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值