Deployment per app stateless
Utilizzi i Deployment per gestire applicazioni stateless, abilitando gli aggiornamenti progressivi e i rollback.
Deployment per app stateless è una lezione Docker & DevOps Fundamentals gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Docker & DevOps Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.
Scopra i Deployment Kubernetes
Benvenuto a un concetto fondamentale di Kubernetes: i Deployment! Sono la risorsa principale per gestire le applicazioni stateless.
Consideri un Deployment come il progetto della sua applicazione. Indica a Kubernetes quante copie (repliche) dell'applicazione devono essere in esecuzione e come aggiornarle senza tempi di inattività.

Oltre i Pod e i ReplicaSet
Ha imparato a conoscere i Pod (l'unità più piccola) e i ReplicaSet (che garantiscono un determinato numero di Pod).
Un Deployment si basa su un ReplicaSet. Fornisce un'astrazione di livello superiore per:
- Creare e aggiornare i ReplicaSet.
- Distribuire nuove versioni dell'applicazione.
- Tornare alle versioni precedenti se qualcosa va storto.
In questo modo, gestire le applicazioni diventa molto più semplice e sicuro.
Struttura di un Deployment YAML
Come le altre risorse Kubernetes, i Deployment vengono definiti usando YAML. Vediamo la struttura di base:
apiVersion: specifica la versione dell'API di Kubernetes (ad esempio,apps/v1).kind: per una risorsa Deployment è sempreDeployment.metadata: contiene informazioni come ilnamedel Deployment e lelabelsopzionali.
Questi campi aiutano Kubernetes a identificare e organizzare i deployment.
Specificare repliche e template
Il cuore di un Deployment è la sezione spec. Qui si definiscono:
replicas: il numero desiderato di Pod identici per l'applicazione.selector: il modo in cui il Deployment individua i Pod che gestisce, usando le label.template: essenzialmente una definizione di Pod, che descrive i container, i volumi e così via per ogni Pod.
Il template è ciò che il Deployment usa per creare nuovi Pod.
Il nostro Deployment Nginx
Ecco un semplice manifest Deployment per un server web Nginx. Indica a Kubernetes di mantenere in esecuzione 3 Pod Nginx.
Provi a comprendere ogni parte!
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Creazione del Deployment
Una volta creato il file YAML del Deployment (ad esempio, nginx-deployment.yaml), può creare il Deployment nel cluster Kubernetes usando il comando kubectl apply.
Kubernetes garantirà quindi che venga creato e mantenuto il numero desiderato di Pod.
kubectl apply -f nginx-deployment.yamlPuò controllarne lo stato con:
kubectl get deploymentsAumento e riduzione della scala
Ha bisogno di più o meno istanze dell'applicazione? I Deployment semplificano lo scaling! Può modificare il campo replicas nel file YAML e applicarlo di nuovo, oppure usare un comando diretto:
kubectl scale deployment nginx-deployment --replicas=5Questo comando indicherà immediatamente al Deployment di creare altri 2 Pod Nginx, portando il totale a 5.
Aggiornamenti senza tempi di inattività
Uno dei principali vantaggi dei Deployment è la possibilità di eseguire rolling update. Quando aggiorna il template del Pod (ad esempio, modificando la versione dell'immagine), Kubernetes non arresta tutti i Pod precedenti contemporaneamente.
Li sostituisce gradualmente con Pod nuovi, assicurando che l'applicazione rimanga disponibile durante l'intero processo di aggiornamento.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Ripristino semplificato
Avete commesso un errore in un aggiornamento? Nessun problema! I deployment conservano una cronologia delle revisioni, consentendo di tornare facilmente a una versione precedente e stabile.
Questa operazione si chiama rollback ed è una rete di sicurezza fondamentale per i deployment.
kubectl rollout undo deployment/nginx-deploymentPotete anche controllare la cronologia con kubectl rollout history deployment/nginx-deployment.
È il momento del quiz sui deployment
Un developer aggiorna un Deployment Nginx dall'immagine nginx:1.14.2 a nginx:1.16.1. Qual è il principale vantaggio dell'utilizzo di un Deployment Kubernetes per questo aggiornamento?
Deployment: concetti chiave
Ottimo lavoro! Avete imparato a conoscere i Deployment Kubernetes, una potente risorsa per gestire le applicazioni stateless.
- I Deployment gestiscono i ReplicaSet, che a loro volta gestiscono i Pod.
- Definiscono lo stato desiderato, incluso il numero di
replicas. - Le funzionalità principali includono un facile ridimensionamento, rolling update senza downtime e semplici rollback alle versioni precedenti.
Ora esploreremo i Service per rendere accessibili le vostre applicazioni!
Domande Frequenti
La lezione «Deployment per app stateless» è gratuita?
Sì — il testo completo di «Deployment per app stateless» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Docker & DevOps Fundamentals, passa a CoddyKit PRO. Il corso Docker & DevOps Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Deployment per app stateless»?
Utilizzi i Deployment per gestire applicazioni stateless, abilitando gli aggiornamenti progressivi e i rollback. Eserciti Docker & DevOps Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Docker & DevOps Fundamentals?
Non è richiesta alcuna esperienza precedente. Docker & DevOps Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Deployment per app stateless»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Docker & DevOps Fundamentals?
Sì. Ogni lezione Docker & DevOps Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Deployment per app stateless
- Service per l'accesso di rete
- ConfigMap e Secret
- Ingress e routing esterno