Deployments til stateless-apps
Brug Deployments til at administrere stateless-applikationer med mulighed for løbende opdateringer og tilbagerulninger.
Deployments til stateless-apps er en gratis Grundlæggende Docker og DevOps-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Grundlæggende Docker og DevOps, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Mød Kubernetes-implementeringer
Velkommen til et grundlæggende koncept i Kubernetes: Deployments! De er din foretrukne ressource til administration af tilstandsløse applikationer.
Forestil dig en Deployment som en plan for din applikation. Den fortæller Kubernetes, hvor mange kopier (replikater) af din applikation du vil have kørende, og hvordan de skal opdateres uden nedetid.

Ud over Pods og ReplicaSets
Du har lært om Pods (den mindste enhed) og ReplicaSets (som sikrer et bestemt antal Pods).
En Deployment ligger oven på et ReplicaSet. Den giver en abstraktion på højere niveau til:
- Oprettelse og opdatering af ReplicaSets.
- Udrulning af nye versioner af din applikation.
- Tilbageførsel til tidligere versioner, hvis noget går galt.
Det gør administrationen af dine applikationer meget nemmere og sikrere.
Indholdet i en Deployment-YAML
Ligesom andre Kubernetes-ressourcer defineres Deployments ved hjælp af YAML. Lad os se på den grundlæggende struktur:
apiVersion: Angiver Kubernetes-API-versionen (for eksempelapps/v1).kind: Er altidDeploymentfor en Deployment-ressource.metadata: Indeholder oplysninger som Deployment'ensnameog valgfrilabels.
Disse felter hjælper Kubernetes med at identificere og organisere dine deployments.
Angivelse af replikater og skabelon
Hjertet i en Deployment er dens spec-sektion. Her definerer du:
replicas: Det ønskede antal identiske Pods til din applikation.selector: Hvordan Deployment'en finder de Pods, den administrerer (ved hjælp af labels).template: Dette er grundlæggende en Pod-definition, der beskriver containere, volumener og så videre for hver Pod.
template er det, Deployment'en bruger til at oprette nye Pods.
Vores Nginx-Deployment
Her er et simpelt Deployment-manifest til en Nginx-webserver. Det fortæller Kubernetes, at 3 Nginx-Pods skal holdes kørende.
Prøv at 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: 80Oprettelse af din Deployment
Når du har din Deployment-YAML-fil (for eksempel nginx-deployment.yaml), kan du oprette Deployment'en i din Kubernetes-klynge ved hjælp af kommandoen kubectl apply.
Kubernetes sørger derefter for, at det ønskede antal Pods oprettes og vedligeholdes.
kubectl apply -f nginx-deployment.yamlDu kan kontrollere status med:
kubectl get deploymentsOpskalering og nedskalering
Har du brug for flere eller færre instanser af din applikation? Deployments gør skalering nemt! Du kan justere feltet replicas i din YAML og anvende den igen eller bruge en direkte kommando:
kubectl scale deployment nginx-deployment --replicas=5Denne kommando fortæller straks din Deployment, at den skal oprette 2 ekstra Nginx-Pods, så det samlede antal bliver 5.
Opdateringer uden nedetid
En af de største fordele ved Deployments er muligheden for at udføre løbende opdateringer. Når du opdaterer Pod-skabelonen (for eksempel ændrer image-versionen), lukker Kubernetes ikke alle gamle Pods ned på én gang.
I stedet erstatter den gradvist gamle Pods med nye, så din applikation forbliver tilgængelig under hele opdateringen.
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Nem tilbagerulning
Har du lavet en fejl i en opdatering? Bare rolig! Udrulninger gemmer en historik over dine revisioner, så du nemt kan vende tilbage til en tidligere, stabil version.
Det kaldes en tilbagerulning og er et vigtigt sikkerhedsnet for udrulninger.
kubectl rollout undo deployment/nginx-deploymentDu kan også kontrollere historikken med kubectl rollout history deployment/nginx-deployment.
Tid til quiz om udrulninger
En udvikler opdaterer en Nginx-udrulning fra imaget nginx:1.14.2 til nginx:1.16.1. Hvad er den primære fordel ved at bruge en Kubernetes-udrulning til denne opdatering?
Udrulninger: Vigtigste pointer
Godt gået! Du har lært om Kubernetes-udrulninger, en effektiv ressource til administration af dine tilstandsløse applikationer.
- Udrulninger administrerer ReplicaSets, som igen administrerer Pods.
- De definerer den ønskede tilstand, herunder antallet af
replicas. - Vigtige funktioner omfatter nem skalering, løbende opdateringer uden nedetid og enkle tilbagerulninger til tidligere versioner.
Derefter udforsker vi Services, som gør dine applikationer tilgængelige!
Lær Grundlæggende Docker og DevOps med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Deployments til stateless-apps” gratis?
Ja — alle 3 lektioner i læringssporet Grundlæggende Docker og DevOps, inklusive “Deployments til stateless-apps”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Grundlæggende Docker og DevOps-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Deployments til stateless-apps”?
Brug Deployments til at administrere stateless-applikationer med mulighed for løbende opdateringer og tilbagerulninger. Du øver dig i Grundlæggende Docker og DevOps med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Grundlæggende Docker og DevOps?
Der kræves ingen tidligere erfaring. Grundlæggende Docker og DevOps på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Deployments til stateless-apps”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Grundlæggende Docker og DevOps-lektion?
Ja. Alle Grundlæggende Docker og DevOps-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Deployments til stateless-apps
- Services til netværksadgang
- ConfigMaps og Secrets
- Ingress og ekstern routing