Grundlæggende Kubernetes · Lektion

Skalering af applikationer med ReplicaSets

Brug ReplicaSets til at sikre, at et angivet antal identiske Pods altid kører.

Lektion 2 af 412 trin

Skalering af applikationer med ReplicaSets er en gratis Grundlæggende Kubernetes-lektion på CoddyKit. Dette er lektion 2 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 Kubernetes, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Grundlæggende Kubernetes-kurset indeholder 4 lektioner i alt.

Hvorfor skalering er vigtig

I verdenen af cloud-native-applikationer er skalering afgørende. Det sikrer, at dine applikationer kan håndtere skiftende belastninger og forblive tilgængelige, selv hvis komponenter svigter.

Skalering betyder, at antallet af kørende instanser af applikationen justeres, så det matcher efterspørgslen. Hvis der er for få, bliver din app langsom eller holder op med at svare. Hvis der er for mange, spilder du ressourcer.

Mød ReplicaSet

En ReplicaSet er et centralt Kubernetes-objekt, hvis primære opgave er at vedligeholde et stabilt sæt af kørende Pods på ethvert tidspunkt.

Tænk på det som en vogter for dine Pods. Det sikrer, at antallet af identiske Pods, du ønsker, altid svarer til det antal, der faktisk kører.

ReplicaSets kerneopgave

ReplicaSets vigtigste mål er at garantere tilgængeligheden af et angivet antal identiske Pods.

  • Hvis en Pod stopper (f.eks. på grund af en fejl på en node), opretter ReplicaSet automatisk en ny.
  • Hvis en ekstern proces opretter for mange Pods, afslutter ReplicaSet de overskydende.
  • Denne selvhelende funktion er afgørende for applikationers pålidelighed.

ReplicaSet-YAML-struktur

Ligesom andre Kubernetes-objekter defineres et ReplicaSet ved hjælp af en YAML-fil. Her kan du se den grundlæggende struktur:

  • apiVersion: Definerer Kubernetes API-versionen (f.eks. apps/v1).
  • kind: Angiver objekttypen, som er ReplicaSet.
  • metadata: Indeholder identificerende oplysninger som f.eks. name.
  • spec: Beskriver ReplicaSets ønskede tilstand.

Ønsket tilstand: Replikater og vælger

I sektionen spec er to afgørende felter replicas og selector:

  • replicas: Dette er et tal, der angiver, hvor mange identiske Pods du ønsker skal køre.
  • selector: Dette definerer, hvordan ReplicaSet finder og administrerer Pods. Det bruger labels til at matche Pods. Kun Pods, der matcher disse labels, betragtes som en del af dette ReplicaSet.

Pod-skabelonen

Feltet spec.template indeholder tegningen for de Pods, som ReplicaSet opretter. Det er grundlæggende en standarddefinition af en Pod.

Denne skabelon indeholder Pod'ens metadata (f.eks. labels) og dens specifikation (f.eks. containerafbildninger, porte osv.). Labels i skabelonen skal matche spec.selector!

Definition af et simpelt ReplicaSet

Lad os definere et ReplicaSet, der sikrer, at 2 Pods med Nginx-webserveren altid kører. Bemærk, hvordan Pod-skabelonens labels (app: nginx) matcher vælgeren.

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: 80

Oprettelse og kontrol af status

Gem YAML-filen som nginx-rs.yaml, og anvend den for at oprette dette ReplicaSet. Kontrollér derefter status og de Pods, det administrerer:

kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginx

Skalering op og ned

Du kan dynamisk ændre antallet af ønskede Pods for et ReplicaSet ved hjælp af kommandoen kubectl scale. Lad os skalere vores Nginx-ReplicaSet til 4 Pods:

kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginx

Overvågning af skaleringen

Når du skalerer et ReplicaSet, opretter eller sletter Kubernetes automatisk Pods, så det nye antal replicas matches. Du kan følge dette i realtid:

kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -w

Skaleringsudfordring

Du har et ReplicaSet med navnet my-app-rs, som i øjeblikket kører 3 Pods. Du vil øge antallet til 5 Pods. Hvilken kubectl-kommando vil du bruge?

Opsummering og næste trin

Du har lært, at ReplicaSets er afgørende for at vedligeholde et ønsket antal identiske Pods og dermed give dine applikationer selvheling og høj tilgængelighed. Du kan definere dem i YAML og skalere dem ved hjælp af kubectl scale.

Selvom ReplicaSets er effektive, bruger du i praksis ofte Deployments, som administrerer ReplicaSets for dig og tilbyder mere avancerede funktioner som løbende opdateringer. Nu ser vi nærmere på Deployments!

Gratis at komme i gang

Lær Grundlæggende Kubernetes 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 “Skalering af applikationer med ReplicaSets” gratis?

Ja — alle 3 lektioner i læringssporet Grundlæggende Kubernetes, inklusive “Skalering af applikationer med ReplicaSets”, 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 Kubernetes-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Skalering af applikationer med ReplicaSets”?

Brug ReplicaSets til at sikre, at et angivet antal identiske Pods altid kører. Du øver dig i Grundlæggende Kubernetes 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 Kubernetes?

Der kræves ingen tidligere erfaring. Grundlæggende Kubernetes 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 2 af 4.

Hvor lang tid tager lektionen “Skalering af applikationer med ReplicaSets”?

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 Kubernetes-lektion?

Ja. Alle Grundlæggende Kubernetes-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

  1. Forstå Deployments
  2. Skalering af applikationer med ReplicaSets
  3. Løbende opdateringer og tilbagerulninger
  4. Deploymentstrategier: blue-green og canary
← Tilbage til Grundlæggende Kubernetes