关注「Raymond运维」公众号,并设为「星标」,第一时间获取更多运维等文章,不再错过精彩内容。

转载:Kubernetes 生态圈
原文:https://url.hi-linux.com/7iAIL
这个存储库包含脚本 gener_ aliases.py
可以生成数百个方便的 kubectl shell 别名,您不再需要拼写出每个命令和--flag
参数。
https://github.com/ahmetb/kubectl-aliases/blob/master/generate_aliases.py
通过命令/标志排列创建的 shell 别名示例如下:
alias ksysgdepwslowidel='kubectl --namespace=kube-system get deployment --watch --show-labels -o=wide -l'
示例
800 个别名,下面列出一部分:
alias k='kubectl'
alias kg='kubectl get'
alias kgpo='kubectl get pod'
alias ksysgpo='kubectl --namespace=kube-system get pod'
alias krm='kubectl delete'
alias krmf='kubectl delete -f'
alias krming='kubectl delete ingress'
alias krmingl='kubectl delete ingress -l'
alias krmingall='kubectl delete ingress --all-namespaces'
alias kgsvcoyaml='kubectl get service -o=yaml'
alias kgsvcwn='kubectl get service --watch --namespace'
alias kgsvcslwn='kubectl get service --show-labels --watch --namespace'
alias kgwf='kubectl get --watch -f'
...
访问下面地址,查看所有别名:
https://github.com/ahmetb/kubectl-aliases/blob/master/.kubectl_aliases
安装
您可以直接下载 bash/zsh 的文件.kubectl_aliases
:
https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases
或者 fish 的文件.kubectl_aliases.fish
,并将其保存到$HOME
目录中。
https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases.fish
Bash/Zsh
将以下内容添加到您的.bashrc/.zshrc
文件中:
[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases
建议:如果想使用 GNU watch 命令而不是 kubectl [...] --watch,请这样运行:
[ -f ~/.kubectl_aliases ] && source \
<(cat ~/.kubectl_aliases | sed -r 's/(kubectl.*) --watch/watch \1/g')
在运行之前打印完整的命令:将其添加到您的.bashrc
或 .zshrc
文件中:
function kubectl() { echo "+ kubectl $@">&2; command kubectl $@; }
Fish
添加下面内容到你的~/.config/fish/config.fish
文件:
test -f ~/.kubectl_aliases.fish && source ~/.kubectl_aliases.fish
这实际上增加了更强大的 fish 缩写:
https://fishshell.com/docs/current/cmds/abbr.html
而不是别名,这样在执行前按空格显示完整的命令。
建议:如果想使用 GNU watch 命令而不是 kubectl [...] --watch,请这样运行:
test -f ~/.kubectl_aliases.fish && source \
(cat ~/.kubectl_aliases.fish | sed -r 's/(kubectl.*) --watch/watch \1/g' | psub)
语法解释
k
=kubectlsys
=--namespace kube-systemcommands: g
=getd
=describerm
=deletea
:apply -fak
:apply -kk
:kustomizeex
:exec -i -tlo
:logs -fresources: po
=pod,dep
=deployment
,ing
=ingress
,svc
=service
,cm
=configmap
,sec
=secret
,ns
=namespace
,no
=nodeflags: output format: oyaml
,ojson
,owideall
:--all
or--all-namespaces
depending on the commandsl
:--show-labelsw
=-w/--watchvalue flags (should be at the end): n
=-n/--namespacef
=-f/--filenamel
=-l/--selector
运行脚本
该脚本只有一个可选参数,即:将生成别名的 shell。如果不指定,则默认为bash
。例如:
# Generate aliases for bash/zsh
python generate_aliases.py > .kubectl_aliases
# Generate abbr for fish
python generate_aliases.py fish > .kubectl_aliases.fish
微
信
群
WeChat group

为方便大家更好的交流运维等相关技术问题,特创建了微信交流群。需要加群的小伙伴们在关注微信公众号后,点击底部菜单关于→联系我,即可获取加群方式。
博客
客
Blog


CSDN博客

掘金博客
长按识别二维码访问博客网站,查看更多优质原创运维等文章。




