一款 AI 编写的 Kubernetes 实用小工具,助你批量检查容器服务健康状态
公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !check-k8s-network 是一款 AI 编写的 Kubernetes 网络连通性检查小工具,它主要用于检查 Kubernetes 集群中各个容器的网络连通性,支持 ICMP、TCP、UDP 和 HTTP 检查。你可以在指定的命名空间内查找符合条件的 Pod,并对其进行网络连通性进行自动检测。安装check-.
公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你玩转 Linux !
check-k8s-network
是一款 AI 编写的 Kubernetes
网络连通性检查小工具,它主要用于检查 Kubernetes
集群中各个容器的网络连通性,支持 ICMP
、TCP
、UDP
和 HTTP
检查。
你可以在指定的命名空间内查找符合条件的 Pod
,并对其进行网络连通性进行自动检测。
安装
check-k8s-network
使用 Python
编写,需要安装 Python 3.9
版本和一些依赖库。
为了更好的体验,我们发布了 Docker
镜像,你只需要下载 Docker
镜像即可使用。
$ docker pull 80imike/check-k8s-network:latest
常用参数说明
-n, --namespace
:指定 Kubernetes 命名空间,默认值为default
。-c, --container
:指定容器名,根据该容器名匹配 Pod,支持模糊匹配。-i, --icmp
:使用 ICMP 协议进行检查。-t, --tcp
:使用 TCP 协议进行检查,并指定端口号。-u, --udp
:使用 UDP 协议进行检查,并指定端口号。-w, --http
:使用 HTTP 协议进行检查,并指定 URL。--auto-http
:自动查找当前 Pod 的 IP 和服务端口进行 HTTP 检查。--auto-tcp
:自动查找当前 Pod 的 IP 和服务端口进行 TCP 检查。--auto-udp
:自动查找当前 Pod 的 IP 和服务端口进行 UDP 检查。--all
:同时使用 ICMP、TCP、UDP 和 HTTP 四种检查方式进行检测。
输出结果
check-k8s-network
会输出一个包含检查结果的表格,内容包括:
序号
检查类型
源 Pod
目标
结果 (成功 or 失败)
错误信息
该表格会对每个 Pod 进行自动排序,并对结果进行对齐和格式化。
使用示例
常用使用示例
注意:
该工具请在
Kubernetes
集群内的主机上使用,并确保您所在主机上已经配置了 K8s 集群认证文件~/.kube/config
。-v 参数用于将宿主机上的
~/.kube/config
文件映射到容器内的/root/.kube/config
文件中,以便容器内的Python
脚本可以访问Kubernetes
集群。
检查指定命名空间下所有 Pod 的 ICMP 连通性:
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux --icmp
检查指定命名空间和 Pod 的 TCP 连通性 (需指定端口):
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux -c blog --tcp 80
检查指定命名空间下所有 Pod 的 HTTP 连通性 (自动查找端口):
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux --auto-http
检查指定命名空间下所有 Pod 的 TCP 连通性 (自动查找端口):
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux --auto-tcp
检查指定命名空间下所有 Pod 的 UDP 连通性 (自动查找端口):
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n kube-system --auto-udp
同时检查指定命名空间下所有 Pod 的 ICMP、TCP、UDP 和 HTTP 连通性:
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux --all
一些复杂的参数组合示例
对特定命名空间中名为
blog
的容器执行 ICMP 和指定 TCP(端口 80)检查:
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux -c blog --icmp --tcp 80
对特定命名空间中名为
blog
的容器同时执行 ICMP、TCP 、UDP 和 HTTP 检查:
$ docker run --network host --rm \
-v ~/.kube/config:/root/.kube/config \
80imike/check-k8s-network:latest -n hi-linux -c blog --icmp --auto-tcp --auto-udp --auto-http
总结
check-k8s-network
这款小工具,是我尝试 AI
编程的一次小成果。所有代码全部通过和 ChatGPT
对话编写完成,Docker
镜像和使用文档大部分也是 AI
编写的。
check-k8s-network
可以帮助你快速检查 Kubernetes
集群中容器的网络连通性,非常适合需要批量检查容器网络连接状态的场景。
🚀 最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。
🌟『极客视界』科技达人必备综合资讯指南,等你来探索!访问网址 https://bestgeek.org 即可打开新世界。
📕 关注『奇妙的 Linux 世界』公众号,带你开启有趣新生活!更多好用好玩的软件资源,可访问 https://666666.dev 免费获取。
你可能还喜欢
点击下方图片即可阅读
Github 星标 1.2K,一款简约不简单的网易云音乐播放器
点击上方图片,『美团|饿了么』大额外卖红包天天免费领
更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!
更多推荐
所有评论(0)