tags: K8s, kubernetes
KubeCtl
kubectl
kubecontrol kubecâtâl: Utilizado para implantar e gerenciar aplicações em um cluster k8s
Habilita o autocomplete
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc
kubectl get --raw='/healthz?verbose'
`
Recuperar informações sobre um determinado recurso
kubectl explain pod --recursive #explicação sobre qualquer conteudo de um objeto
Criar um manifesto de pod
export kdry="--dry-run=client -o yaml"
kubectl run nginx --image nginx $kdry
Editar informações de um recurso
kubectl edit pod meu-pod
Editar informações com replace
export kdry="--dry-run=client -o yaml"
kubectl get pod meu-pod $kdry > meu-pod.yaml
kubectl replace -f meu-pod.yaml
Executa uma operação em todos os recursos filtrados
for i in $(k get po --namespace default --output jsonpath="{.items[*].metadata.name}" ); do; echo $i ; done;
Executar um comando em um pod
kubectl exec -ti meu-pod -- command
Remover recurso sem esperar
kubectl delete pod sleep --force --grace-period 0 #ignorará o pod.spec.terminationGracePeriodSeconds
Replace sem esperar
kubectl replace -f pod-sleep.yaml --force --grace-period 0
Efetua um patch em um recurso
metadata:
labels:
labelaaaa: dsds
dlsldslds: asda
kubectl patch -f pod-sleep-patch.yaml pod sleep
Recuperar informações mais informações dos pods
kubectl get pods -o wide
Aumentar o número de replicas de um replicationController
kubectl scale --replicas NUMREPLICAS -f arquivoreplicationcontroller.yaml
kubectl scale rs replicaset-teste --replicas NUMREPLICAS
Cria um pod com um command definido
export kdry="--dry-run=client -o yaml"
kubectl run --image nginx $kdry --command -- /bin/bash -c sleep
kubectl exec -ti pod-with-configmap -- env
kubectl port-forward pod/svc resource 8080:80 # A primeira porta é a do host, a segunda do POD/SERVICE