Connetti il tuo cluster ⏱️ 10m
Il tuo kubeconfig punta già al tuo cluster k3d e il tuo pair ID è local. Salta direttamente al passo del pod hello. Vedi Setup locale solo (k3d) se non l'hai ancora configurato.
2.1 Prima di iniziare ⏱️ 2m
kubectl parla con un cluster — quello descritto dal kubeconfig a cui la tua shell punta in questo momento. Per i prossimi cinque moduli, ogni comando deve atterrare nel tuo cluster del workshop, non in qualche altro cluster che potresti aver configurato sulla tua macchina.
Un kubeconfig è semplicemente un file YAML con l'indirizzo del cluster, un certificato e le credenziali. Stai per scaricare il tuo, dire alla shell di usarlo, e dimostrare che funziona applicando un manifest Pod di una sola riga.
Stai per: scaricare un kubeconfig, esportarlo e applicare un pod hello.
2.2 Carica il tuo kubeconfig ⏱️ 5m
1. Scarica il file kubeconfig
Il tuo istruttore ti ha mostrato un QR code sulla board Miro. Inquadralo dal laptop (oppure clicca sul link che l'istruttore condivide) e scarica <pair-id>.zip — il kubeconfig è racchiuso in uno ZIP protetto da password, così un link leakato da solo non basta a entrare nel cluster.
2. Estrai con la password condivisa dall'operatore
L'istruttore condivide la password dello ZIP a voce o sulla board Miro dal vivo. Estrai il file YAML del kubeconfig dall'archivio — la password è la stessa per tutte le coppie.
- macOS / Linux:
cd ~/Downloads
unzip <pair-id>.zip
# chiede la password, poi scrive <pair-id>.yaml accanto allo zip - Windows: click destro su
<pair-id>.zip→ Estrai tutto… → inserisci la password condivisa dall'operatore → conferma. Otterrai<pair-id>.yamlnella stessa cartella.
3. Punta la tua shell al file
export KUBECONFIG=$PWD/<pair-id>.yaml
kubectl config current-context
(Su Windows / PowerShell: $env:KUBECONFIG = "$PWD\<pair-id>.yaml".)
Il comando current-context stampa il nome del context — considera qualsiasi output non vuoto come successo. Se kubectl stampa un errore, ricontrolla il percorso del file e che l'estrazione abbia effettivamente prodotto il YAML.
4. Elenca i namespace come smoke test
kubectl get namespaces
Dovresti vedere i namespace di sistema standard (default, kube-system, kube-public, …). Se vedi un errore di permessi, controlla di stare usando il kubeconfig della tua coppia — ogni coppia ha accesso solo al proprio cluster.
5. (Opzionale) Installa qualche tool comodo
Non sono richiesti, ma renderanno il resto del workshop più rapido. Salta se sei stretto col tempo.
brew install kubectx k9s helm # macOS / Linuxbrew
I link di installazione per Windows / Linux puro sono nel Cheatsheet.
2.3 Smoke test — applica un pod hello ⏱️ 3m
Applica un Pod a un container così il validator ha qualcosa di concreto su cui confermare che la tua pipeline kubectl apply scriva davvero nel cluster.
kubectl apply -f - <<'EOF'
apiVersion: v1
kind: Pod
metadata:
name: hello
namespace: default
spec:
containers:
- name: hello
image: public.ecr.aws/docker/library/busybox:1.36
command: ["sh", "-c", "echo hello && sleep 3600"]
EOF
Aspetta qualche secondo per il pull dell'immagine, poi conferma:
kubectl get pod hello -n default
Output atteso:
NAME READY STATUS RESTARTS AGE
hello 1/1 Running 0 15s
Quando la tile diventa verde, il tuo kubeconfig è a posto e kubectl apply funziona end-to-end.
2.4 Cosa è appena successo
Hai detto alla tua shell con quale cluster parlare e hai dimostrato la connessione scrivendo una risorsa che il validator può rileggere. Tutto dal modulo 3 in poi assume che questo funzioni.
Per approfondire
- Documentazione di kubectl config — tutto ciò che
kubectl configpuò fare. - Riferimento del file kubeconfig — cosa c'è dentro lo YAML che hai appena scaricato.
- Puoi lasciare il pod
helloin esecuzione — non usa risorse significative e i moduli successivi lo ignorano. Se preferisci ripartire pulito:kubectl delete pod hello -n default.