如何通过抓包来查看Kubernetes API流量
当我们通过kubectl来查看、修改Kubernetes资源时,有没有想过后面的接口到底是怎样的?有没有办法探查这些交互数据呢?
Kuberenetes客户端和服务端交互的接口,是基于http协议的。所以只需要能够捕捉并解析https流量,我们就能看到kubernetes的API流量。
但是由于kubenetes使用了客户端私钥来实现对客户端的认证,所以抓包配置要复杂一点。具体是如下的结构:
如果想了解更多Kubernetes证书的知识,可以看下这篇Kubernetes证书解析的文章
从kubeconfig中提取出客户端证书和私钥
kubeconfig中包含了客户端的证书和私钥,我们首先要把它们提取出来:
1 | # 提取出客户端证书 |
参考自Reddit