1. kubectl-aliases
kubectl-aliases开源工具是由脚本通过拼接各种kubectl相关元素组成的alias命令别名列表,其中命令别名拼接元素如下:
| base | [system?] | [operation] | [resource] | [flags] |
|---|---|---|---|---|
kubectl |
-n=kube-system |
getdescribe rm:deletelogsexecapply |
podsdeploymentsecretingressnode svcns cm |
oyaml ojsonowide allwatchfilel |
k=kubectl- sys=
--namespace kube-system
- sys=
- commands:
- g=
get - d=
describe - rm=
delete - a:
apply -f - ex:
exec -i -t - lo:
logs -f
- g=
- resources:
- po=
pod - dep=
deployment - ing=
ingress - svc=
service - cm=
configmap - sec=
secret - ns=
namespace - no=
node
- po=
- flags:
- output format: oyaml, ojson, owide
- all:
--allor--all-namespacesdepending on the command - sl:
--show-labels - w=
-w/--watch
- value flags (should be at the end):
- f=
-f/--filename - l=
-l/--selector
- f=
2. 示例
# 示例1
kd → kubectl describe
# 示例2
kgdepallw → kubectl get deployment —all-namespaces —watch
alias get示例:
alias k='kubectl'
alias kg='kubectl get'
alias kgpo='kubectl get pods'
alias kgpoojson='kubectl get pods -o=json'
alias kgpon='kubectl get pods --namespace'
alias ksysgpooyamll='kubectl --namespace=kube-system get pods -o=yaml -l'
3. 安装
# 将 .kubectl_aliases下载到 home 目录
cd ~ && wget https://raw.githubusercontent.com/ahmetb/kubectl-aliases/master/.kubectl_aliases
# 将以下内容添加到 .bashrc中,并执行 source .bashrc
[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases
function kubectl() { command kubectl $@; }
# 如果需要提示别名的完整命令,则将以下内容添加到 .bashrc中,并执行 source .bashrc
[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases
function kubectl() { echo "+ kubectl $@"; command kubectl $@; }
参考: