Deployments for tilstandsløse apper
Bruk Deployments til å administrere tilstandsløse applikasjoner, med støtte for løpende oppdateringer og tilbakerullinger.
Deployments for tilstandsløse apper er en gratis leksjon i Grunnleggende Docker og DevOps på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Grunnleggende Docker og DevOps, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Grunnleggende Docker og DevOps inneholder totalt 4 leksjoner.
Møt Kubernetes Deployments
Velkommen til et grunnleggende Kubernetes-konsept: Deployments! De er standardressursen for å administrere tilstandsløse applikasjoner.
Tenk på en Deployment som en mal for applikasjonen Deres. Den forteller Kubernetes hvor mange kopier (replikater) av applikasjonen De ønsker skal kjøre, og hvordan de skal oppdateres uten nedetid.

Mer enn Pods og ReplicaSets
De har lært om Pods (den minste enheten) og ReplicaSets (som sørger for et bestemt antall Pods).
En Deployment ligger oppå et ReplicaSet. Den tilbyr et abstraksjonslag på høyere nivå for:
- Å opprette og oppdatere ReplicaSets.
- Å rulle ut nye versjoner av applikasjonen.
- Å rulle tilbake til tidligere versjoner hvis noe går galt.
Dette gjør det mye enklere og tryggere å administrere applikasjonene Deres.
Inne i en Deployment-YAML
I likhet med andre Kubernetes-ressurser defineres Deployments ved hjelp av YAML. La oss se på grunnstrukturen:
apiVersion: Angir Kubernetes API-versjonen (for eksempelapps/v1).kind: Er alltidDeploymentfor en Deployment-ressurs.metadata: Inneholder informasjon som Deployment-ensnameog valgfrielabels.
Disse feltene hjelper Kubernetes med å identifisere og organisere Deployment-ene Deres.
Angi replikaer og mal
Kjernen i en Deployment er spec-delen. Her definerer De:
replicas: Det ønskede antallet identiske Pods for applikasjonen.selector: Hvordan Deployment-en finner Pods den administrerer (ved hjelp av etiketter).template: Dette er i praksis en Pod-definisjon som beskriver containere, volumer og så videre for hver Pod.
template er det Deployment-en bruker til å opprette nye Pods.
Vår Nginx-Deployment
Her er et enkelt Deployment-manifest for en Nginx-webserver. Det forteller Kubernetes å holde tre Nginx-Pods kjørende.
Prøv å forstå hver del!
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: 80Opprette Deres Deployment
Når De har YAML-filen for Deployment-en (for eksempel nginx-deployment.yaml), kan De opprette Deployment-en i Kubernetes-klyngen ved hjelp av kommandoen kubectl apply.
Kubernetes sørger deretter for at ønsket antall Pods opprettes og opprettholdes.
kubectl apply -f nginx-deployment.yamlDe kan kontrollere statusen med:
kubectl get deploymentsSkalere opp og ned
Trenger De flere eller færre instanser av applikasjonen? Deployments gjør skalering enkelt! De kan justere feltet replicas i YAML-filen og bruke apply på nytt, eller bruke en direkte kommando:
kubectl scale deployment nginx-deployment --replicas=5Denne kommandoen ber Deployment-en umiddelbart opprette to ekstra Nginx-Pods, slik at totalen blir fem.
Oppdateringer uten nedetid
En av de største fordelene med Deployments er muligheten til å utføre rullerende oppdateringer. Når De oppdaterer Pod-malen (for eksempel ved å endre bildeversjonen), avslutter ikke Kubernetes alle de gamle Pod-ene samtidig.
I stedet erstattes de gamle Pod-ene gradvis med nye, slik at applikasjonen forblir tilgjengelig gjennom hele oppdateringen.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Enkel tilbakerulling
Gjorde De en feil i en oppdatering? Ingen grunn til bekymring! Deployment-objekter beholder en historikk over endringene, slik at De enkelt kan gå tilbake til en tidligere, stabil versjon.
Dette kalles en rollback, og det er et viktig sikkerhetsnett for deployments.
kubectl rollout undo deployment/nginx-deploymentDe kan også se historikken med kubectl rollout history deployment/nginx-deployment.
Tid for en deployment-quiz
En utvikler oppdaterer en Nginx-Deployment fra imaget nginx:1.14.2 til nginx:1.16.1. Hva er den viktigste fordelen ved å bruke en Kubernetes-Deployment til denne oppdateringen?
Deployments: Viktige punkter
Godt jobbet! De har lært om Kubernetes Deployments, en kraftig ressurs for å administrere stateless-applikasjoner.
- Deployments administrerer ReplicaSets, som igjen administrerer Pods.
- De definerer ønsket tilstand, inkludert antallet
replicas. - Viktige funksjoner omfatter enkel skalering, rolling updates uten nedetid og ukompliserte rollbacks til tidligere versjoner.
Deretter skal vi utforske Services for å eksponere applikasjonene Deres!
Lær deg Grunnleggende Docker og DevOps med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Deployments for tilstandsløse apper» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Grunnleggende Docker og DevOps, inkludert «Deployments for tilstandsløse apper», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Grunnleggende Docker og DevOps inneholder totalt 4 leksjoner.
Hva lærer jeg i «Deployments for tilstandsløse apper»?
Bruk Deployments til å administrere tilstandsløse applikasjoner, med støtte for løpende oppdateringer og tilbakerullinger. Du øver på Grunnleggende Docker og DevOps med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Grunnleggende Docker og DevOps?
Ingen tidligere erfaring er nødvendig. Grunnleggende Docker og DevOps på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Deployments for tilstandsløse apper»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Grunnleggende Docker og DevOps-leksjonen?
Ja. Alle Grunnleggende Docker og DevOps-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Deployments for tilstandsløse apper
- Services for nettverkstilgang
- ConfigMaps og Secrets
- Ingress og ekstern ruting