# ktl
**Repository Path**: tmjgit/ktl
## Basic Information
- **Project Name**: ktl
- **Description**: 一个针对开发人员kubectl命令简化工具.
- **Primary Language**: Go
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2024-03-06
- **Last Updated**: 2024-03-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ktl
#### 介绍
一个针对开发人员的kubectl命令简化工具.用于简化常用的Kubectl命令,提高开发效率,应用程序通常使用~/.Kube /config配置文件, 如果您的配置文件不在此目录中,则可以配置 环境变量KTL_CONFIG_PATH指定配置文件路径。
#### 有kubectl了,为什么还要造轮子?
因为kubectl命令太复杂了,命令本身对模糊搜索POD名称的支持不是太好,WebUI工具跟踪日志经常过一段时间就自动断开,对于开发人员来,一般常用的操作:
1.看POD的日志
2.查看POD状态和Image版本
3.进入到POD里面执行几个命令(看之前的日志)
4.多个集群环境中切换查找POD,查看日志
ktl针对这几个高频命令,提供一种更简单的,可交互式的操作.
#### 二进制包下载
https://gitee.com/tmjgit/ktl/releases/tag/v1.0.0
#### 源码安装教程
`git clone git@gitee.com:tmjgit/ktl.git`
`cd ktl`
`go mod tidy & go clean & go build`
`chmod 777 ktl`
`mv ktl /usr/local/bin/`
#### 使用说明
`ktl dm`
查找pod名称包含`dm`的所有容器,返回结果后可以选择序号进入容器内部,相当于`kubectl get pod & kubectl exec -ti`
`ktl dm-data -l`
查找pod名称包含`dm`的所有容器的日志,相当于`kubectl get pod & kubectl logs -f`
`ktl -c`
列出kube/config配置的所有context, 相当于 `kubectl config get-contexts`,用于查看有多个k8s集群
`ktl prod -c`
切换kube/config配置的current context,相当于 `kubectl config use-context`,用于有多个k8s集群切换
`ktl -n`
列出当前所在命名空间
`ktl kube-sys -n`
切换命名空间到kube-sys