
这个存储库包含脚本 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-system
- commands:
g=getd=describerm=deletea:apply -fak:apply -kk:kustomizeex:exec -i -tlo:logs -f
- resources:
po=pod,dep=deployment,ing=ingress,svc=service,cm=configmap,sec=secret,ns=namespace,no=node
- flags:
- output format:
oyaml,ojson,owide all:--allor--all-namespacesdepending on the commandsl:--show-labelsw=-w/--watch
- output format:
- value 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
本文转载自:「Kubernetes 生态圈」,原文:https://url.hi-linux.com/7iAIL,版权归原作者所有。
推荐阅读 点击标题可跳转
《Docker中Image、Container与Volume的迁移》
免责声明:本文内容来源于网络,所载内容仅供参考。转载仅为学习和交流之目的,如无意中侵犯您的合法权益,请及时联系Docker中文社区!

51工具盒子