mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2025-12-06 07:20:40 +01:00
Merge branch 'master' into master
This commit is contained in:
88
plugins/kubectl/README.md
Normal file
88
plugins/kubectl/README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Kubectl plugin
|
||||
|
||||
This plugin adds completion for the [Kubernetes cluster manager](https://kubernetes.io/docs/reference/kubectl/kubectl/),
|
||||
as well as some aliases for common kubectl commands.
|
||||
|
||||
To use it, add `kubectl` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... kubectl)
|
||||
```
|
||||
|
||||
## Aliases
|
||||
|
||||
| Alias | Command | Description |
|
||||
|:--------|:------------------------------------|:-------------------------------------------------------------------------------------------------|
|
||||
| k | `kubectl` | The kubectl command |
|
||||
| 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 |
|
||||
| | | **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 pod by label. Example: `kgpl "app=myapp" -n myns` |
|
||||
| | | **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 |
|
||||
| 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 |
|
||||
| | | **Rollout management** |
|
||||
| kgrs | `kubectl get rs` | To see the ReplicaSet `rs` created by the deployment |
|
||||
| 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 |
|
||||
@@ -1,51 +1,108 @@
|
||||
# Autocompletion for kubectl, the command line interface for Kubernetes
|
||||
#
|
||||
# Author: https://github.com/pstadler
|
||||
if (( $+commands[kubectl] )); then
|
||||
__KUBECTL_COMPLETION_FILE="${ZSH_CACHE_DIR}/kubectl_completion"
|
||||
|
||||
if [ $commands[kubectl] ]; then
|
||||
source <(kubectl completion zsh)
|
||||
if [[ ! -f $__KUBECTL_COMPLETION_FILE ]]; then
|
||||
kubectl completion zsh >! $__KUBECTL_COMPLETION_FILE
|
||||
fi
|
||||
|
||||
[[ -f $__KUBECTL_COMPLETION_FILE ]] && source $__KUBECTL_COMPLETION_FILE
|
||||
|
||||
unset __KUBECTL_COMPLETION_FILE
|
||||
fi
|
||||
|
||||
# This command is used ALOT both below and in daily life
|
||||
# This command is used a LOT both below and in daily life
|
||||
alias k=kubectl
|
||||
|
||||
# Apply a YML file
|
||||
alias kaf='kubectl apply -f'
|
||||
|
||||
# Drop into an interactive terminal on a container
|
||||
alias keti='k exec -ti'
|
||||
alias keti='kubectl exec -ti'
|
||||
|
||||
# Manage configuration quickly to switch contexts between local, dev ad staging.
|
||||
alias kcuc='k config use-context'
|
||||
alias kcsc='k config set-context'
|
||||
alias kcdc='k config delete-context'
|
||||
alias kccc='k config current-context'
|
||||
alias kcuc='kubectl config use-context'
|
||||
alias kcsc='kubectl config set-context'
|
||||
alias kcdc='kubectl config delete-context'
|
||||
alias kccc='kubectl config current-context'
|
||||
|
||||
# General aliases
|
||||
alias kdel='kubectl delete'
|
||||
alias kdelf='kubectl delete -f'
|
||||
|
||||
# Pod management.
|
||||
alias kgp='k get pods'
|
||||
alias klp='k logs pods'
|
||||
alias kep='k edit pods'
|
||||
alias kdp='k describe pods'
|
||||
alias kdelp='k delete pods'
|
||||
alias kgp='kubectl get pods'
|
||||
alias kgpw='kgp --watch'
|
||||
alias kgpwide='kgp -o wide'
|
||||
alias kep='kubectl edit pods'
|
||||
alias kdp='kubectl describe pods'
|
||||
alias kdelp='kubectl delete pods'
|
||||
alias kgpall='k get pods --all-namespaces -o wide'
|
||||
|
||||
# get pod by label: kgpl "app=myapp" -n myns
|
||||
alias kgpl='kgp -l'
|
||||
|
||||
# Service management.
|
||||
alias kgs='k get svc'
|
||||
alias kes='k edit svc'
|
||||
alias kds='k describe svc'
|
||||
alias kdels='k delete svc'
|
||||
alias kgs='kubectl get svc'
|
||||
alias kgsw='kgs --watch'
|
||||
alias kgswide='kgs -o wide'
|
||||
alias kes='kubectl edit svc'
|
||||
alias kds='kubectl describe svc'
|
||||
alias kdels='kubectl delete svc'
|
||||
|
||||
# Ingress management
|
||||
alias kgi='kubectl get ingress'
|
||||
alias kei='kubectl edit ingress'
|
||||
alias kdi='kubectl describe ingress'
|
||||
alias kdeli='kubectl delete ingress'
|
||||
|
||||
# Namespace management
|
||||
alias kgns='kubectl get namespaces'
|
||||
alias kens='kubectl edit namespace'
|
||||
alias kdns='kubectl describe namespace'
|
||||
alias kdelns='kubectl delete namespace'
|
||||
|
||||
# ConfigMap management
|
||||
alias kgcm='kubectl get configmaps'
|
||||
alias kecm='kubectl edit configmap'
|
||||
alias kdcm='kubectl describe configmap'
|
||||
alias kdelcm='kubectl delete configmap'
|
||||
|
||||
# Secret management
|
||||
alias kgsec='k get secret'
|
||||
alias kdsec='k describe secret'
|
||||
alias kdelsec='k delete secret'
|
||||
alias kgsec='kubectl get secret'
|
||||
alias kdsec='kubectl describe secret'
|
||||
alias kdelsec='kubectl delete secret'
|
||||
|
||||
# Deployment management.
|
||||
alias kgd='k get deployment'
|
||||
alias ked='k edit deployment'
|
||||
alias kdd='k describe deployment'
|
||||
alias kdeld='k delete deployment'
|
||||
alias ksd='k scale deployment'
|
||||
alias krsd='k rollout status deployment'
|
||||
alias kgd='kubectl get deployment'
|
||||
alias kgdw='kgd --watch'
|
||||
alias kgdwide='kgd -o wide'
|
||||
alias ked='kubectl edit deployment'
|
||||
alias kdd='kubectl describe deployment'
|
||||
alias kdeld='kubectl delete deployment'
|
||||
alias ksd='kubectl scale deployment'
|
||||
alias krsd='kubectl rollout status deployment'
|
||||
|
||||
# Rollout management.
|
||||
alias kgrs='k get rs'
|
||||
alias krh='k rollout history'
|
||||
alias kru='k rollout undo'
|
||||
alias kgrs='kubectl get rs'
|
||||
alias krh='kubectl rollout history'
|
||||
alias kru='kubectl rollout undo'
|
||||
|
||||
# Port forwarding
|
||||
alias kpf="kubectl port-forward"
|
||||
|
||||
# Tools for accessing all information
|
||||
alias kga='kubectl get all'
|
||||
alias kgaa='kubectl get all --all-namespaces'
|
||||
|
||||
# Logs
|
||||
alias kl='kubectl logs'
|
||||
alias klf='kubectl logs -f'
|
||||
|
||||
# File copy
|
||||
alias kcp='kubectl cp'
|
||||
|
||||
# Node Management
|
||||
alias kgno='kubectl get nodes'
|
||||
alias keno='kubectl edit node'
|
||||
alias kdno='kubectl describe node'
|
||||
alias kdelno='kubectl delete node'
|
||||
|
||||
Reference in New Issue
Block a user