TL;DR; Se você está cansado de todas as horas ficar escrevendo os verbos do kubectl, isto será um facilitador, e ajudará ser mais ágil com o kubectl.
Além de criar alias para o kubectl, e de quebra iremos adicionar alguns plugins para facilitar o seu dia.
KREW:
É um gerenciador de plugins para o kubectl.
Git: https://github.com/GoogleContainerTools/krew
INSTALANDO O KREW:
No terminal execute o comando abaixo:
(
set -x; cd “$(mktemp -d)” &&
curl -fsSLO “https://storage.googleapis.com/krew/v0.2.1/krew.{tar.gz,yaml}” &&
tar zxvf krew.tar.gz &&
./krew-“$(uname | tr ‘[:upper:]’ ‘[:lower:]’)_amd64” install \
–manifest=krew.yaml –archive=krew.tar.gz
)
ADICIONANDO A VARIÁVEL DE AMBIENTE DO KREW NO BASHRC:
echo ‘export PATH=”${KREW_ROOT:-$HOME/.krew}/bin:$PATH”‘ >> ~/.bashrc
PLUGINS:
- access-matrix
- bulk-action
- ca-cert
- change-ns
- cssh
- debug-shell
- exec-as
- get-all
- gke-credentials
- kubesec-scan
- match-name
- mtail
- node-admin
- open-svc
- pod-logs
- pod-shell
- prompt
- rbac-lookup
- rbac-view
- restart
- rm-standalone-pods
- sniff
- ssh-jump
- sudo
- view-secret
- view-serviceaccount-kubeconfig
- view-utilization
- warp
INSTALANDO PLUGINS DO KREW:
kubectl krew install plugin
ALIAS PARA O KUBECTL:
Adicionar as linhas abaixo dentro do bashrc, que está localizado em “/home/seu-usuario/.bashrc”.
#alias kubectl
alias k=’kubectl’
alias kc=’kubectl create -f’
alias kg=’kubectl get’
alias kl=’kubectl logs ‘
alias klf=’kubectl logs -f’
alias kx=’kubectl exec -i -t’
alias kd=’kubectl describe’
alias krm=’kubectl delete’
alias ka=’kubectl apply -fi’
alias kp=’kubectl get po’
alias kpf=’kubectl port-forward’
alias ksvc=’kubectl get svc’
alias kns=’kubectl-change_ns’
alias kga=’kubectl-get_all’
alias kscan=’kubectl-kubesec_scan’
alias klogs=’kubectl-pod_logs’
alias ksniff=’kubectl-sniff’
alias ksudo=’kubectl-sudo’
alias kwarp=’kubectl-warp’
alias kkrew=’kubectl-krew’
alias ktail=’kubectl-mtail’
alias krst=’kubectl-restart’
alias kssh=’kubectl-ssh_jump’
alias kvs=’kubectl-view_secret’
alias kw=’watch -n1 “kubectl get pod | grep -i $1″‘
USANDO OS ATALHOS E PLUGINS NO KUBECTL:
CHANGE NAMESPACE:
Somente altera o namespace ao trocar cluster de kubernetes, mantendo como default, o namespace definido.
Define o namespace padrão para o kubectl:
kubectl-change_ns namespace
Alias:
kns namespace
Retorna para o namespace padrão para o kubectl:
kubectl-change_ns –
Alias:
kns –
PEGA TUDO:
Lista todos os recursos utilizados dentro de um namespace.
kubectl-get_all namespace
Alias:
kga namespace
LOG POR APP LABEL:
Mostra logs dos pods pelo label.
kubectl-mtail -n namespace label do pod
Alias:
ktail -n namespace label do pod
SENHA EM TEXTO PURO:
Mostra a secret em texto puro.
kubectl-view_secret namespace secretname keyvalue
Alias:
kvs namespace secretname keyvalue
BONUS: FACILITANDO SUA VIDA COM KUBECTL:
K:
k = kubectl
Ex.: k get pod
KC:
kc = kubectl create -f
Ex.: kc deployment.yaml
KG:
kg = kubectl get
Ex.: kg po
KL:
kl = kubectl logs
Ex.: kl pod-name
KLF:
Klf = kubectl logs -f
Ex.: klf pod-name
KX:
kx = kubectl exec -i -t
Ex.: kx pod-name bash
KD:
kd = kubectl describe
Ex.: kd deployment
KRM:
krm = kubectl delete
Ex.: krm deployment-name
KA:
ka = kubectl apply -fi
Ex.: ka ingress.yaml
KP:
kp = kubectl get po
Ex.: kp -n namespace
KPF:
kpf = kubectl port-forward
Ex.: kpf svc/svc-name 9090:porta pod
KSVC:
ksvc = kubectl get svc
Ex.: ksvc -n namespace
KNS:
kns = kubectl-change_ns
Ex.: kns namespace
KGA:
kga = kubectl-get_all
Ex.: kga namespace
KLOGS:
klogs = kubectl-pod_logs
Ex.: klogs pod-name
KTAIL:
ktail = kubectl-mtail
Ex.: ktail pod -abel
KVS:
kvs = kubectl-view_secret
Ex.: kvs secret-name user
KW:
kw = watch -n1 “kubectl get pod | grep -i $1”
Ex.: kw pod-name
KKREW:
kkrew = kubectl-krew
Ex.: kkrew install plugin
KRST:
krst = kubectl-restart
Ex.: krst pod-name
KSNIFF:
ksniff = kubectl-sniff
Ex.: ksniff pod-name
KSCAN:
kscan = kubectl-kubesec_scan
Ex.: kscan deployment deployment-name
KSUDO:
ksudo = kubectl-sudo
Ex.: ksudo get nodes
KWARP:
kwarp = kubectl-warp
Ex.: kwarp -it –image debian testing — /bin/bash
Kwarp -it –image node testing-node — npm run watch
Kwarp –image node testing-node –exclude=”node_modules/***” — npm install && npm run watch
KSSH:
kssh = kubectl-ssh_jump
Ex.: kssh node options
Estes atalhos facilitam muito no meu dia à dia, reduzindo a quantidade de verbos do comando kubectl a serem digitados no terminal.
Devolvendo conhecimento para a comunidade!
Espero ter ajudado!
Deixe um comentário