使用mizu,查看Pod之间的API访问流量

介绍

一个简单但功能强大的 Kubernetes中的 API 流量查看器,可以用来查看pod之间的所有 API 通信,以帮助调试和排除故障。可以理解为TCPDump 和 Chrome Dev Tools 的结合。
在这里插入图片描述

使用

  • 安装

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

  • 配置

在运行前我们先创建使用mizu config -r创建一下配置文件。把配置文件中的image-pull-policy: Always改为image-pull-policy: IfNotPresent,这是因为mizu运行时创建的pod使用的镜像是gcr.io上的,无法正常拉取。

  • 运行

运行mizu 有下面几步:

在 Kubernetes 集群中查找您想要点击的 Pod

运行mizu tap或mizu tap PODNAME

在 CLI上http://localhost:8899/mizu 或按照 CLI 中的说明打开浏览器

观察 API 流量

键入 ^C 停止

这里我把要使用的镜像上传到了dockerhub,运行之前,我们需要在k8s集群所有节点先下载镜像,然后修改镜像名称。

# docker pull misterli/mizu-main:0.16.0 

# docker tag misterli/mizu-main:0.16.0 gcr.io/up9-docker-hub/mizu/main:0.16.0

运行mizu tap命令后,mizu会在k8s集群的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
  • 查看
// monitoringk命名空间的所有pod
# mizu tap ".*" -n monitoring

// monitoringk命名空间的特定pod
# mizu tap -n monitoring prometheus-k8s-0

在这里插入图片描述


参考文章

https://www.lishuai.fun/2021/09/28/k8s-mizu/

https://getmizu.io

https://mp.weixin.qq.com/s/9yl09lkp-XQgUDOFcufgqw

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值