使用 kubectl mexec 批量并行在 Pod 中执行命令和传送文件

263 天前
 eddy314

日常总有些场景需要在多个 Pod 中并行查看一些问题和执行些脚本,因此搞了一个 kubectl 插件 https://github.com/major1201/kubectl-mexec/ 来并行执行命令或本地脚本。希望大家多多 Star 支持~,效果如下:

# 并行执行命令
kubectl mexec -l app.kubernetes.io/name=foo -p 3 -- bash -c "ip a | grep eth0"
footest-2 456: eth0@if142: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1430 qdisc noqueue state UP group default
footest-2     inet 172.16.1.101/32 scope global eth0
footest-0 460: eth0@if211: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1430 qdisc noqueue state UP group default
footest-0     inet 172.16.1.103/32 scope global eth0
footest-1 458: eth0@if434: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1430 qdisc noqueue state UP group default
footest-1     inet 172.16.1.102/32 scope global eth0

# 并行执行本地脚本
kubectl mexec -l app.kubernetes.io/name=foo -p 3 -F ./test.sh

# 批量上传文件
kubectl mexec upload -l app.kubernetes.io/name=myapp --local-file ./local-file --remote-path /tmp/local-file

# 批量下载文件
kubectl mexec download -l app.kubernetes.io/name=myapp --remote-path /tmp/local-file

推荐 krew 安装

kubectl krew update
kubectl krew install mexec
964 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1018280

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX