一个功能强大的命令行工具,用于快速查找和登录 Kubernetes Pod,支持多容器场景、状态显示和智能 Shell 配置。
- 智能搜索:支持模糊搜索和精确匹配 Pod 名称
- 彩色显示:使用不同颜色直观展示 Pod 状态和信息
- 表格展示:结构化展示 Pod 详细信息
- 快速登录:一键登录到指定 Pod 容器
- 智能容器选择:自动处理多容器场景
- 全局搜索:支持跨命名空间查询
- 精确定位:支持指定命名空间查询
- 智能 Shell:自动配置容器内 Shell 环境
- Python 3.6+
- kubectl 命令行工具
- 可访问的 Kubernetes 集群
- kubectl 已正确安装并添加到 PATH
- kubernetes 集群配置文件(~/.kube/config)正确配置
- 具有相应的集群访问权限
- 下载工具:
git clone [repository_url]
cd k8s-login-tool- 添加执行权限:
chmod +x k8s_login./k8s_login [pod_name] [namespace]- 查看所有Pod
$ ./k8s_login
获取所有命名空间的 Pods:
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 序号 | NAMESPACE | NAME | READY | STATUS | RESTARTS | AGE | IP | NODE |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 1 | default | nginx-pod | 1/1 | Running| 0 | 2d | 10.1.0.123 | worker-node-1 |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+- 搜索特定Pod
$ ./k8s_login nginx
在所有命名空间中搜索 Pod: nginx
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 序号 | NAMESPACE | NAME | READY | STATUS | RESTARTS | AGE | IP | NODE |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 1 | default | nginx-pod | 1/1 | Running| 0 | 2d | 10.1.0.123 | worker-node-1 |
| 2 | web | nginx-frontend | 1/1 | Running| 1 | 5d | 10.1.0.124 | worker-node-2 |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+- 搜索特定namespace下的特定Pod
$ ./k8s_login nginx web
在 web 命名空间中搜索 Pod: nginx
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 序号 | NAMESPACE | NAME | READY | STATUS | RESTARTS | AGE | IP | NODE |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
| 2 | web | nginx-frontend | 1/1 | Running| 1 | 5d | 10.1.0.124 | worker-node-2 |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+- 登录多容器Pod
$ ./k8s_login web-app
选择的 Pod: web-app-pod
命名空间: default
在 Pod web-app-pod 中找到多个容器:
1. nginx
2. redis
3. app
请选择容器序号: 1表格中的颜色含义:
- 蓝色:序号、IP地址
- 绿色:正常运行的状态、命名空间、Pod名称
- 黄色:警告状态、少量重启
- 红色:错误状态、频繁重启
- 紫色:节点名称
-
快速查找
- 使用模糊搜索快速定位Pod
- 支持部分名称匹配
-
状态监控
- 通过颜色快速识别Pod状态
- 重启次数颜色区分严重程度
-
容器操作
- 自动检测可用的Shell
- 智能配置容器环境
- 无法连接集群
错误: kubectl 未安装或无法访问集群解决方案:
- 检查 kubectl 安装
- 验证集群配置
- 确认网络连接
- 容器访问受限
错误: 无法访问容器解决方案:
- 检查权限配置
- 确认容器状态
- 验证网络策略
如果遇到问题,请检查:
- kubectl 命令是否可用
- 集群连接是否正常
- Pod 和容器状态是否正常
- 是否有足够的访问权限
如有问题或建议,请联系:
- 邮箱:lee.wokerr@gmail.com
- 版本:1.0.0
Copyright © 2024
- 初始版本发布
- 支持基本的Pod查找和登录功能
- 添加颜色显示支持
- 增加多容器支持