疼点:
繁琐:每次登录pod都要执行n条命令,kubectl get pod 获取pod名字,然后kubectl exec -it 登录pod
联系作者:如有疑问可评论区留言, 或加本人微信咨询q613230000, 请说明CSDN文章
躺着运维:
备注:如通过一键脚本工具,解决了哪些问题
1)快速登录:bash pod.sh -p <pod_name> -e 即可快速登录pod,用于替代kubectl exec -it
2)常见问题排查:是否有僵尸进程、pod端口是否监听、到底有多少cpu_limit、node cpu多少
3) 一键输出史上最相信的pod配额, 你无需再各种命令,一次过打印明细给你。躺着运维
目标:
开发一个一键脚本, 输出pod信息如:
1)配额:cpu_limit, ram_limit,
2)路径: 对应node上的存储路径, pod占用存储空间信息,
3)Pod状态: used cpu, used ram , 以及其他信息
功能说明:
1) 参数说明
-e 一键登录等效kubectl exec -it <pod_name> -- /bin/bash
-p 输入pod_name , 无需输入nameSpace(自动匹配), 且只需输入pod_name关键字如dep2即可(完整pod_name dep2-647d655dfb-6bfvh)
2)命令示例 @一键登录 dep2 (pod_name)
bash pod.sh -p dep2 -e
3)命令示例 @查看pod明细信息 (cpu/ram) (path/container_id/其他)
bash pod.sh -p dep2
脚本代码
前言:ok上干货,效果图请看上文, 脚本源码如下
使用:将以下源码copy到本地,明明为pod.sh/k8s_pod.sh都可以,bash pod.sh -p <你的pod名字>即可运行
备注: 原创不易,兄弟路过可点个赞, 如有新需求可留言,下个版本迭代
#!/bin/bash
# how to use: this shell script is to lookup container merge dir via pod_name
# usage: sh k8s_pod.sh -p <pod_name>
#. /tmp/import_function.sh
script_name=$0
while getopts "p:i:e" INPUT_OPT; do
case $INPUT_OPT in
p)INPUT_POD_NAME=$OPTARG;;
i)IS_LOOKUP_DOCKER_INSPECT=enable;;
e)IS_LOGIN_CONTAINER_VIA_KUBECTL_EXEC=enable;;