kubectl
的命令补全脚本来实现自动补全提示的方法。这可以大大提高在命令行中使用 kubectl
时的效率。
在 Bash 中,可以通过以下方式加载 kubectl
的命令补全脚本:
source <(kubectl completion bash)
## 加入~/.bashrc
bash ##刷新配置
在 Zsh 中,可以使用以下方式加载 kubectl
的命令补全脚本:
source <(kubectl completion zsh)
## 加入~/.zshrc
zsh ##刷新配置
在这之后,你就可以在终端中输入 kubectl
后按下 Tab
键来进行命令自动补全了。例如,输入 kubectl get p
然后按下 Tab
键,它会自动补全为 kubectl get pods
。
这是一种非常方便的方法,尤其在你经常使用 kubectl
进行 Kubernetes 操作时。你可以将这些加载命令添加到你的 Shell 配置文件中,以便每次启动 Shell 时都能自动加载。
kubectl completion -h
可以看自动补全文档
yum install git zsh curl -y
zsh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#中国区加速
zsh -c "$(curl -fsSL http://qiniu.dywlkj.com/install-omz.sh)"
#安装是询问是否设置默认zsh 选是
#生效刷新
zsh
cd ~/.oh-my-zsh/custom/plugins/
#中国区gitee.com加速
git clone https://gitee.com/XiongMingcai/zsh-autosuggestions.git
# 验证
omz plugin list |grep autosuggesti
zsh-autosuggestions
## 启用插件
omz plugin enable zsh-autosuggestions
## 启用
omz plugin enable kubectl
## 查看kubectl 缩写命令
omz plugin info kubectl
Alias | Command | Description |
---|---|---|
k | kubectl |
The kubectl command |
kca | kubectl --all-namespaces |
The kubectl command targeting all namespaces |
kaf | kubectl apply -f |
Apply a YML file |
keti | kubectl exec -ti |
Drop into an interactive terminal on a container |
Manage configuration quickly to switch contexts between local, dev and staging | ||
kcuc | kubectl config use-context |
Set the current-context in a kubeconfig file |
kcsc | kubectl config set-context |
Set a context entry in kubeconfig |
kcdc | kubectl config delete-context |
Delete the specified context from the kubeconfig |
kccc | kubectl config current-context |
Display the current-context |
kcgc | kubectl config get-contexts |
List of contexts available |
General aliases | ||
kdel | kubectl delete |
Delete resources by filenames, stdin, resources and names, or by resources and label selector |
kdelf | kubectl delete -f |
Delete a pod using the type and name specified in -f argument |
Pod management | ||
kgp | kubectl get pods |
List all pods in ps output format |
kgpw | kgp --watch |
After listing/getting the requested object, watch for changes |
kgpwide | kgp -o wide |
Output in plain-text format with any additional information. For pods, the node name is included |
kep | kubectl edit pods |
Edit pods from the default editor |
kdp | kubectl describe pods |
Describe all pods |
kdelp | kubectl delete pods |
Delete all pods matching passed arguments |
kgpl | kgp -l |
Get pods by label. Example: kgpl "app=myapp" -n myns |
kgpn | kgp -n |
Get pods by namespace. Example: kgpn kube-system |
Service management | ||
kgs | kubectl get svc |
List all services in ps output format |
kgsw | kgs --watch |
After listing all services, watch for changes |
kgswide | kgs -o wide |
After listing all services, output in plain-text format with any additional information |
kes | kubectl edit svc |
Edit services(svc) from the default editor |
kds | kubectl describe svc |
Describe all services in detail |
kdels | kubectl delete svc |
Delete all services matching passed argument |
Ingress management | ||
kgi | kubectl get ingress |
List ingress resources in ps output format |
kei | kubectl edit ingress |
Edit ingress resource from the default editor |
kdi | kubectl describe ingress |
Describe ingress resource in detail |
kdeli | kubectl delete ingress |
Delete ingress resources matching passed argument |
Namespace management | ||
kgns | kubectl get namespaces |
List the current namespaces in a cluster |
kcn | kubectl config set-context --current --namespace |
Change current namespace |
kens | kubectl edit namespace |
Edit namespace resource from the default editor |
kdns | kubectl describe namespace |
Describe namespace resource in detail |
kdelns | kubectl delete namespace |
Delete the namespace. WARNING! This deletes everything in the namespace |
ConfigMap management | ||
kgcm | kubectl get configmaps |
List the configmaps in ps output format |
kecm | kubectl edit configmap |
Edit configmap resource from the default editor |
kdcm | kubectl describe configmap |
Describe configmap resource in detail |
kdelcm | kubectl delete configmap |
Delete the configmap |
Secret management | ||
kgsec | kubectl get secret |
Get secret for decoding |
kdsec | kubectl describe secret |
Describe secret resource in detail |
kdelsec | kubectl delete secret |
Delete the secret |
Deployment management | ||
kgd | kubectl get deployment |
Get the deployment |
kgdw | kgd --watch |
After getting the deployment, watch for changes |
kgdwide | kgd -o wide |
After getting the deployment, output in plain-text format with any additional information |
ked | kubectl edit deployment |
Edit deployment resource from the default editor |
kdd | kubectl describe deployment |
Describe deployment resource in detail |
kdeld | kubectl delete deployment |
Delete the deployment |
ksd | kubectl scale deployment |
Scale a deployment |
krsd | kubectl rollout status deployment |
Check the rollout status of a deployment |
kres | kubectl set env $@ REFRESHED_AT=... |
Recreate all pods in deployment with zero-downtime |
Rollout management | ||
kgrs | kubectl get replicaset |
List all ReplicaSets rs created by the deployment |
kdrs | kubectl describe replicaset |
Describe ReplicaSet in detail |
kers | kubectl edit replicaset |
Edit ReplicaSet from the default editor |
krh | kubectl rollout history |
Check the revisions of this deployment |
kru | kubectl rollout undo |
Rollback to the previous revision |
Port forwarding | ||
kpf | kubectl port-forward |
Forward one or more local ports to a pod |
Tools for accessing all information | ||
kga | kubectl get all |
List all resources in ps format |
kgaa | kubectl get all --all-namespaces |
List the requested object(s) across all namespaces |
Logs | ||
kl | kubectl logs |
Print the logs for a container or resource |
klf | kubectl logs -f |
Stream the logs for a container or resource (follow) |
File copy | ||
kcp | kubectl cp |
Copy files and directories to and from containers |
Node management | ||
kgno | kubectl get nodes |
List the nodes in ps output format |
keno | kubectl edit node |
Edit nodes resource from the default editor |
kdno | kubectl describe node |
Describe node resource in detail |
kdelno | kubectl delete node |
Delete the node |
Persistent Volume Claim management | ||
kgpvc | kubectl get pvc |
List all PVCs |
kgpvcw | kgpvc --watch |
After listing/getting the requested object, watch for changes |
kepvc | kubectl edit pvc |
Edit pvcs from the default editor |
kdpvc | kubectl describe pvc |
Describe all pvcs |
kdelpvc | kubectl delete pvc |
Delete all pvcs matching passed arguments |
StatefulSets management | ||
kgss | kubectl get statefulset |
List the statefulsets in ps format |
kgssw | kgss --watch |
After getting the list of statefulsets, watch for changes |
kgsswide | kgss -o wide |
After getting the statefulsets, output in plain-text format with any additional information |
kess | kubectl edit statefulset |
Edit statefulset resource from the default editor |
kdss | kubectl describe statefulset |
Describe statefulset resource in detail |
kdelss | kubectl delete statefulset |
Delete the statefulset |
ksss | kubectl scale statefulset |
Scale a statefulset |
krsss | kubectl rollout status statefulset |
Check the rollout status of a deployment |
Service Accounts management | ||
kdsa | kubectl describe sa |
Describe a service account in details |
kdelsa | kubectl delete sa |
Delete the service account |
DaemonSet management | ||
kgds | kubectl get daemonset |
List all DaemonSets in ps output format |
kgdsw | kgds --watch |
After listing all DaemonSets, watch for changes |
keds | kubectl edit daemonset |
Edit DaemonSets from the default editor |
kdds | kubectl describe daemonset |
Describe all DaemonSets in detail |
kdelds | kubectl delete daemonset |
Delete all DaemonSets matching passed argument |
CronJob management | ||
kgcj | kubectl get cronjob |
List all CronJobs in ps output format |
kecj | kubectl edit cronjob |
Edit CronJob from the default editor |
kdcj | kubectl describe cronjob |
Describe a CronJob in details |
kdelcj | kubectl delete cronjob |
Delete the CronJob |
Job management | ||
kgj | kubectl get job |
List all Job in ps output format |
kej | kubectl edit job |
Edit a Job in details |
kdj | kubectl describe job |
Describe the Job |
kdelj | kubectl delete job |
Delete the Job |