markdown
如果你认为这篇文章能够帮到你,请一键三连(点赞,收藏,评论),点点关注!
有好的想法或问题,也可以私聊我进行沟通!
文章目录
起因
最近经常做项目,发现常用的kubectl命令,虽然终端有历史记录,但是经常的输入,还是让我很难受,偶尔一次可能还没什么,但是高频的使用,让我觉得,每一次使用都是对自己时间的浪费。
统计了一下,
我最常用的几个命令有
kubectl -n v2-test get pods -w
kubectl -n v2-test describe pod ...
kubectl -n v2-test exec -it ... -- bash
其中命名空间常用的有2个v2-test和v2-dev,那么有什么能够解放我的双手呢?
处理结果
既然是终端命令,那就交给alias吧!
最简单,也是第一个方法,那就是别名(alias)
alias(别名)
这个应该都陌生,怎么操作,那就跟我来吧!
-
- 在终端打开shell 配置文件,根据自己的使用来打开,我这里用的是.zshrc
git
vim ~/.zshrc
- 2.在文件的尾部增加alias
git
alias v2-dev='kubectl -n v2-dev'
alias v2-test='kubectl -n v2-test'
- 3.保存文件后,执行以下命令让配置立即生效
git
source ~/.zshrc
下面来看一下结果


函数
那么,还有没有更简单的方法呢?
当然有了,那就是函数,我们可以将v2-test也进行缩减。方法如下
-
- 在终端打开shell 配置文件,根据自己的使用来打开,我这里用的依旧是.zshrc
git
vim ~/.zshrc
- 2.在文件末尾增加函数内容
git
# 超极简 k8s 快捷命令(vd=v2-dev, vt=v2-test)
vd() { kubectl -n v2-dev get "${1:-pods}" ${@:2}; }
vt() { kubectl -n v2-test get "${1:-pods}" ${@:2}; }
- 3.保存文件后,执行以下命令让配置立即生效
git
source ~/.zshrc
来看使用结果


效果显而易见
那就来解释一下这个命令吧
git
# 超极简 k8s 快捷命令(vd=v2-dev, vt=v2-test)
vd() { kubectl -n v2-dev get "${1:-pods}" ${@:2}; }
vt() { kubectl -n v2-test get "${1:-pods}" ${@:2}; }
vd()直接对应v2-dev命名空间,vt()对应v2-test,省去多余的参数拆分逻辑${1:-pods}:如果第一个参数没传(比如只输vd),默认使用pods,实现 "输啥都能省"${@:2}:取第二个及以后的所有参数(比如-w),自动拼接到命令后面
对比
下面我们用2个命令来进行对比前后差异
| 方案类型 | 具体命令写法 | 输入字符数 | 简化比例 |
|---|---|---|---|
| 原生方法__ | kubectl -n v2-test get pods -w | 30 | 0% |
| alias(别名) | v2-test get pods -w | 19 | 36.7% |
| 函数 | vt get pods -w | 14 | 53.3% |
当然,甚至这也还不是最简单的,如果还想简单,你也可以将一些常用命令设置为自己认为可以的别名,比如
git
alias vd-pw='kubectl -n v2-dev get pods -w'
alias vd-p='kubectl -n v2-dev get pods'
alias vd-dp='kubectl -n v2-dev describe pod'
原生语句
git
kubectl -n v2-dev describe pod podName
使用别名
git
vd-dp podName
总结
结合alias和函数,再进行一些常用函数的兼容,效率提升50%不是问题!
开发者的电脑,在自己熟练掌握各种命令后,进行魔改缩减,是再常见不过的了,提效方法,是所有开发者都应该注意的。