k8s fusklapp

Övergripande

En pod kan innehålla en eller flera containrar där en container är en docker image

En pod deployas på ett kubernetes cluster som består av en eller kubernetes noder.

Ett kubernets cluster kan bestå av ett eller flera namespaces vilket göra att man kan grupperar podarn. Några exempel på namespaces kan vara default, kube-system, test, staging, production

En service ett abstraction som gör att man kan integrera med poddarna tjänster.

En deployment är sätt att beskriva önskat status på hur många poddar som skall finnas tillgängliga t.ex om det skall alltid finnas två instanser i gång helatiden. Dvs om en pod skulle dö så kommer det skapas en ny.

Kubectl kommandon

Poddar

För att lista alla poddarna i nuvarande namespace
kubectl get pods

Kolla loggarn för en specifik pod
kubectl logs podnamn

Visa en beskrivning av vad en specifikt pod innehåller
kubectl describe pod podnamn

Indikering på hur mycket en resuser använder
kubectl top pod podnamn    

Ta bort en pod
kubectl delete pod podnamn

Namespaces

För att lista alla poddarna i alla namespaces
kubectl get pods –all-namespaces

För att lista alla poddar i ett specifkt namespace
Kubectl get pods --namespace=test

Lista alla namespaces
Kubectl get namespaces

Byta namespace för kommande commandon
kubectl config set-context --current --namespace=test

Services

Lista services
kubectl get services 

Deployments

Lista depolyments
kubectl get deployments

Tips och Trix

Anslut med ett skal mot pod som container som kör

https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/

Vid felsökningar av nätverks problem kan man skapa en extra container i en befintlig pod som kan innehålla mer verktyg för felsöka.

https://kubernetes.io/docs/tasks/debug-application-cluster/debug-running-pod/

Bra länkar

https://kubernetes.io/docs/reference/kubectl/cheatsheet/