Skip to content

一个功能强大的命令行工具,用于快速查找和登录 Kubernetes Pod,支持多容器场景、状态显示和智能 Shell 配置。

Notifications You must be signed in to change notification settings

leeworker/k8s-login-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Kubernetes Pod 快速登录工具

一个功能强大的命令行工具,用于快速查找和登录 Kubernetes Pod,支持多容器场景、状态显示和智能 Shell 配置。

功能特点

  • 智能搜索:支持模糊搜索和精确匹配 Pod 名称
  • 彩色显示:使用不同颜色直观展示 Pod 状态和信息
  • 表格展示:结构化展示 Pod 详细信息
  • 快速登录:一键登录到指定 Pod 容器
  • 智能容器选择:自动处理多容器场景
  • 全局搜索:支持跨命名空间查询
  • 精确定位:支持指定命名空间查询
  • 智能 Shell:自动配置容器内 Shell 环境

环境要求

必需组件

  • Python 3.6+
  • kubectl 命令行工具
  • 可访问的 Kubernetes 集群

配置要求

  • kubectl 已正确安装并添加到 PATH
  • kubernetes 集群配置文件(~/.kube/config)正确配置
  • 具有相应的集群访问权限

安装方法

  1. 下载工具:
git clone [repository_url]
cd k8s-login-tool
  1. 添加执行权限:
chmod +x k8s_login

使用方法

基本命令格式

./k8s_login [pod_name] [namespace]

使用案例

  1. 查看所有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   |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
  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   |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
  1. 搜索特定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   |
+----+-----------+------------------+-------+--------+----------+-------+-------------+------------------+
  1. 登录多容器Pod
$ ./k8s_login web-app
选择的 Pod: web-app-pod
命名空间: default

在 Pod web-app-pod 中找到多个容器:
1. nginx
2. redis
3. app
请选择容器序号: 1

颜色说明

表格中的颜色含义:

  • 蓝色:序号、IP地址
  • 绿色:正常运行的状态、命名空间、Pod名称
  • 黄色:警告状态、少量重启
  • 红色:错误状态、频繁重启
  • 紫色:节点名称

使用技巧

  1. 快速查找

    • 使用模糊搜索快速定位Pod
    • 支持部分名称匹配
  2. 状态监控

    • 通过颜色快速识别Pod状态
    • 重启次数颜色区分严重程度
  3. 容器操作

    • 自动检测可用的Shell
    • 智能配置容器环境

常见问题

  1. 无法连接集群
错误: kubectl 未安装或无法访问集群

解决方案:

  • 检查 kubectl 安装
  • 验证集群配置
  • 确认网络连接
  1. 容器访问受限
错误: 无法访问容器

解决方案:

  • 检查权限配置
  • 确认容器状态
  • 验证网络策略

故障排除

如果遇到问题,请检查:

  1. kubectl 命令是否可用
  2. 集群连接是否正常
  3. Pod 和容器状态是否正常
  4. 是否有足够的访问权限

反馈与支持

如有问题或建议,请联系:

许可证

Copyright © 2024

更新日志

v1.0.0

  • 初始版本发布
  • 支持基本的Pod查找和登录功能
  • 添加颜色显示支持
  • 增加多容器支持

About

一个功能强大的命令行工具,用于快速查找和登录 Kubernetes Pod,支持多容器场景、状态显示和智能 Shell 配置。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages