Deployment per app stateless
Utilizzi i Deployment per gestire applicazioni stateless, abilitando gli aggiornamenti progressivi e i rollback.
Deployment per app stateless è una lezione DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?
Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?
Sì. Ogni lezione DevOps Bootcamp 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