Skala applikationer med ReplicaSets
Använd ReplicaSets för att garantera att ett angivet antal identiska Pods körs hela tiden.
Skala applikationer med ReplicaSets är en gratis lektion i Grunderna i Kubernetes på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Grunderna i Kubernetes, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Grunderna i Kubernetes innehåller totalt 4 lektioner.
Varför skalning är viktigt
I en värld med molnnativa applikationer är skalning avgörande. Den säkerställer att era applikationer kan hantera varierande arbetsbelastningar och förblir tillgängliga även om komponenter slutar fungera.
Skalning innebär att justera antalet instanser av applikationen som körs för att möta efterfrågan. För få instanser gör applikationen långsam eller okänslig. För många innebär slöseri med resurser.
Lär känna ReplicaSet
En ReplicaSet är ett centralt Kubernetes-objekt vars huvudsakliga uppgift är att upprätthålla en stabil uppsättning Pods som körs vid varje given tidpunkt.
Tänk på det som en beskyddare för era Pods. Det säkerställer att antalet identiska Pods som ni önskar alltid är det antal som faktiskt körs.
ReplicaSets huvuduppgift
ReplicaSets främsta mål är att garantera tillgängligheten för ett angivet antal identiska Pods.
- Om en Pod slutar fungera (till exempel på grund av ett nodfel) skapar ReplicaSet automatiskt en ny.
- Om en extern process skapar för många Pods avslutar ReplicaSet de överflödiga.
- Denna självläkande funktion är avgörande för applikationens tillförlitlighet.
ReplicaSets YAML-struktur
Precis som andra Kubernetes-objekt definieras en ReplicaSet med hjälp av en YAML-fil. Här är en titt på dess grundläggande struktur:
apiVersion: Definierar Kubernetes API-version (till exempelapps/v1).kind: Anger objekttypen, som ärReplicaSet.metadata: Innehåller identifierande information, till exempelname.spec: Beskriver ReplicaSets önskade tillstånd.
Önskat tillstånd: repliker och selector
I avsnittet spec är replicas och selector två viktiga fält:
replicas: Ett tal som anger hur många identiska Pods ni vill ska köras.selector: Definierar hur ReplicaSet hittar och hanterar Pods. Det använder etiketter för att matcha Pods. Endast Pods som matchar dessa etiketter räknas som en del av denna ReplicaSet.
Pod-mallen
Fältet spec.template innehåller ritningen för de Pods som ReplicaSet ska skapa. Det är i praktiken en standarddefinition av en Pod.
Denna mall innehåller Podens metadata (till exempel etiketter) och dess specifikation (till exempel containeravbildningar, portar och så vidare). Etiketterna i mallen måste matcha spec.selector!
Definiera en enkel ReplicaSet
Låt oss definiera en ReplicaSet som säkerställer att två Pods med Nginx-webbservern alltid körs. Observera hur Pod-mallens etiketter (app: nginx) matchar selectorn.
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-replicaset
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Skapa och kontrollera status
Spara YAML-filen som nginx-rs.yaml och tillämpa den för att skapa denna ReplicaSet. Kontrollera sedan dess status och de Pods som den hanterar:
kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginxSkala upp och ned
Ni kan ändra antalet önskade Pods för en ReplicaSet dynamiskt med kommandot kubectl scale. Låt oss skala vår Nginx-ReplicaSet till fyra Pods:
kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginxObservera skalningen
När ni skalar en ReplicaSet skapar eller tar Kubernetes automatiskt bort Pods så att de matchar det nya antalet replicas. Ni kan se detta hända i realtid:
kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -wSkalningsutmaning
Ni har en ReplicaSet med namnet my-app-rs som för närvarande kör tre Pods. Ni vill öka antalet till fem Pods. Vilket kubectl-kommando skulle ni använda?
Sammanfattning och nästa steg
Ni har lärt er att ReplicaSets är avgörande för att upprätthålla ett önskat antal identiska Pods och ger självläkning samt hög tillgänglighet för era applikationer. Ni kan definiera dem i YAML och skala dem med kubectl scale.
Även om ReplicaSets är kraftfulla använder ni i praktiken ofta Deployments, som hanterar ReplicaSets åt er och erbjuder mer avancerade funktioner, till exempel rolling updates. Härnäst utforskar vi Deployments!
Lär dig Grunderna i Kubernetes med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Skala applikationer med ReplicaSets” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Grunderna i Kubernetes, inklusive ”Skala applikationer med ReplicaSets”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Grunderna i Kubernetes innehåller totalt 4 lektioner.
Vad lär jag mig i ”Skala applikationer med ReplicaSets”?
Använd ReplicaSets för att garantera att ett angivet antal identiska Pods körs hela tiden. Ni övar på Grunderna i Kubernetes med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Grunderna i Kubernetes?
Du behöver inga förkunskaper. Utbildningen i Grunderna i Kubernetes på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Skala applikationer med ReplicaSets”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Grunderna i Kubernetes-lektionen?
Ja. Varje Grunderna i Kubernetes-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Förstå Deployments
- Skala applikationer med ReplicaSets
- Rullande uppdateringar och återställningar
- Distributionsstrategier: blue-green och canary