Hacky & Tipy
Kubernetes: 20 kubectl příkazů pro denní práci
Kubectl je váš nejlepší přítel při práci s Kubernetes. Tady je 20 příkazů pro denní práci.
Kontext a namespace
kubectl config get-contexts
kubectl config use-context production
kubectl config set-context --current --namespace=app
kubectl config use-context production
kubectl config set-context --current --namespace=app
Přehled resources
kubectl get pods -A
kubectl get pods -o wide
kubectl get pods --sort-by=.status.startTime
kubectl get pods -o wide
kubectl get pods --sort-by=.status.startTime
Logy
kubectl logs -f my-pod
kubectl logs --previous my-pod
kubectl logs -l app=frontend --all-containers
kubectl logs --previous my-pod
kubectl logs -l app=frontend --all-containers
Exec a port forward
kubectl exec -it my-pod -- /bin/sh
kubectl port-forward svc/my-app 8080:80
kubectl port-forward svc/my-app 8080:80
Resource usage
kubectl top pods --sort-by=memory
kubectl top nodes
kubectl top nodes
Scale a rollout
kubectl scale deployment my-app --replicas=5
kubectl rollout undo deployment/my-app
kubectl rollout status deployment/my-app
kubectl rollout undo deployment/my-app
kubectl rollout status deployment/my-app
Apply a delete
kubectl apply -f manifest.yaml
kubectl delete pod my-pod --grace-period=0 --force
kubectl delete pod my-pod --grace-period=0 --force
JSONPath a dry run
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
kubectl create deployment nginx --image=nginx --dry-run=client -o yaml
kubectl create deployment nginx --image=nginx --dry-run=client -o yaml
Labels a selektory
kubectl label pods my-pod env=production
kubectl get pods -l env=production
kubectl get pods -l env=production
Debug a events
kubectl debug my-pod -it --image=busybox
kubectl get events --sort-by=.lastTimestamp
kubectl describe pod my-pod
kubectl get events --sort-by=.lastTimestamp
kubectl describe pod my-pod
ConfigMap a Secret
kubectl create configmap my-config --from-file=config.yaml
kubectl create secret generic db-pass --from-literal=password=s3cret
kubectl get secret db-pass -o jsonpath='{.data.password}' | base64 -d
kubectl create secret generic db-pass --from-literal=password=s3cret
kubectl get secret db-pass -o jsonpath='{.data.password}' | base64 -d
Aliasy
alias k=kubectl
alias kgp="kubectl get pods"
alias kl="kubectl logs -f"
alias kgp="kubectl get pods"
alias kl="kubectl logs -f"
Tip
Nainstalujte kubectx, kubens a nastavte zsh completion — game changer.