Passa al contenuto principale

Connetti il tuo cluster ⏱️ 10m

Your pair:
Stai lavorando in solo, in locale?

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>.zipEstrai tutto… → inserisci la password condivisa dall'operatore → conferma. Otterrai <pair-id>.yaml nella 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 config può fare.
  • Riferimento del file kubeconfig — cosa c'è dentro lo YAML che hai appena scaricato.
  • Puoi lasciare il pod hello in esecuzione — non usa risorse significative e i moduli successivi lo ignorano. Se preferisci ripartire pulito: kubectl delete pod hello -n default.