Uso del Cluster Kind
Creazione di Pod
Specifichiamo un single-container pod, editando il file di manifest scripts/pod.yml
:
mkdir -p ~/scripts
vim ~/scripts/pod.yml
kind: Pod
apiVersion: v1
metadata:
name: hello-pod
labels:
zone: prod
version: v1
spec:
containers:
- name: hello-ctr
image: nigelpoulton/k8sbook:1.0
ports:
- containerPort: 8080
Creazione del pod:
kubectl apply -f scripts/pod.yml
Impiega un po' di tempo poichè deve scaricare un'immagine dalla rete.
Check:
kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-pod 1/1 Running 0 6m53s
Si può monitorare il progresso degli eventi del pod con:
kubectl describe pod hello-pod
Il control-plane decide quale nodo avrà il pod. L’immagine per il container del pod è un pull dal registry principale Docker Hub.
Ispezione del pod
Verifica delle proprietà del pod:
kubectl get pods hello-pod -o yaml
- spec è il desired state
- status è il current state
- col tempo devono convergere
Descrivere il pod:
kubectl describe pods hello-pod
- Include gli eventi del pod
Pod logs:
kubectl logs hello-pod
- Nessuno nel nostro caso
Eseguire un comando nel pod:
kubectl exec hello-pod -- ps aux
PID USER TIME COMMAND
1 root 0:00 node ./app.js
20 root 0:00 ps aux
Connettersi ad un pod
Run di una shell in un pod:
kubectl exec -it hello-pod -- sh
Entro il pod ciò che è possibile fare dipende dal software installato.
Check dello hostname:
env | grep HOSTNAME
HOSTNAME=hello-pod
- Il nome di un pod è il suo hostname DNS
Uscire dal pod:
exit
Rimuovere il pod tramite il suo manifest:
kubectl delete -f scripts/pod.yml
La rimozione di un pod è un'azione relativamente lenta, anche se il messaggio compare subito.
Pulizia Globale
Listare i cluster:
kind get clusters
kind
Rimuovere il cluster:
kind delete cluster --name kind
Deleting cluster "kind" ...