Intensiv DevOps-uddannelse · Lektion

Forstå Kubernetes Operators

Opdag, hvordan Operators udvider Kubernetes' funktionalitet og automatiserer kompleks administration af applikationers livscyklus.

Lektion 3 af 411 trin

Forstå Kubernetes Operators er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 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 Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Mød Kubernetes Operators

Kubernetes Operators er stærke udvidelser, der gør det muligt at automatisere håndteringen af komplekse applikationer.

Tænk på dem som "robotter", der forstår, hvordan bestemt software, for eksempel en database eller en meddelelseskø, skal installeres, skaleres og vedligeholdes, når den kører i Kubernetes.

Automatisering af komplekse applikationer

Selvom Kubernetes er fremragende til at håndtere stateless-applikationer med Deployments, har stateful-applikationer som databaser særlige behov:

  • Opsætning: Indledende konfiguration og indlæsning af data.
  • Skalering: Sikker tilføjelse eller fjernelse af replikaer.
  • Sikkerhedskopiering og gendannelse: Afgørende for dataintegriteten.
  • Opgraderinger: Løbende opdateringer uden datatab.

Operators er udviklet til at håndtere disse "dag 2-handlinger" automatisk.

Udvidelse af Kubernetes-API'et

Operators introducerer nye objekttyper i Kubernetes, som kaldes Custom Resources (CRs). De minder om indbyggede Kubernetes-objekter, for eksempel Pods og Deployments, men er specifikke for din applikation.

En database-Operator kan for eksempel introducere en tilpasset ressource som PostgreSQL eller MySQL.

Definition af nye objekter (CRD'er)

Før du kan oprette en Custom Resource, skal du definere dens skema ved hjælp af en Custom Resource Definition (CRD). En CRD fortæller Kubernetes, hvilke felter dit nye objekt skal have.

Det svarer til at definere en skabelon for dit tilpassede objekt.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: myapps.example.com
spec:
  group: example.com
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                message:
                  type: string
                  description: A message to display
  scope: Namespaced
  names:
    plural: myapps
    singular: myapp
    kind: MyApp
    shortNames:
      - ma

En Operators rolle

En Operator er grundlæggende en specialiseret controller, der udvider Kubernetes' kontrolplan. Den overvåger ændringer i sine Custom Resources og udfører derefter bestemte handlinger.

Den omsætter menneskelig driftsviden til software.

Sådan fungerer Operators: Afstemning

Operatorens centrale del er dens "afstemningsloop". Dette loop gør konstant følgende:

  • Observerer: Kontrollerer den aktuelle tilstand for sine Custom Resources og relaterede Kubernetes-objekter.
  • Sammenligner: Sammenligner den observerede tilstand med den ønskede tilstand, der er defineret i CR'en.
  • Handler: Udfører de nødvendige trin, for eksempel oprettelse af Pods, tjenester og ConfigMaps, for at bringe den observerede tilstand på linje med den ønskede tilstand.

Database-Operator i praksis

Forestil dig en PostgreSQL Operator. Når du opretter en tilpasset ressource af typen PostgreSQL, gør Operator'en følgende:

  • Opretter en PostgreSQL-klynge (Pods og Persistent Volumes).
  • Konfigurerer netværk (tjenester).
  • Håndterer automatisk sikkerhedskopier, opgraderinger og failover.

Du erklærer "Jeg vil have en PostgreSQL-database", og Operator'en sørger for, at det sker.

apiVersion: example.com/v1
kind: PostgreSQL
metadata:
  name: my-db
spec:
  version: "14"
  replicas: 3
  storage: 10Gi
  backupSchedule: "0 0 * * *"

Sådan får du en Operator til at køre

For at bruge en Operator skal du først implementere den i din Kubernetes-klynge. Det indebærer normalt, at du anvender dens egne implementeringer, servicekonti og regler for rollebaseret adgangskontrol (RBAC).

Når den er implementeret, begynder den at holde øje med sine specifikke brugerdefinerede ressourcer.

# This is a conceptual command.
# Actual operator deployment varies.
kubectl apply -f https://operatorhub.io/install/example-operator.yaml

Hvorfor bruge Operators?

Operators giver betydelige fordele ved administration af applikationer på Kubernetes:

  • Automatisering: Automatisér komplekse driftsopgaver.
  • Pålidelighed: Reducér menneskelige fejl, og sørg for ensartede implementeringer.
  • Skalerbarhed: Håndtér skalering og genoprettelse automatisk.
  • Domæneekspertise: Indkapsl applikationsspecifik viden.

De gør det enklere at køre avanceret software.

Vidensquiz om Operators

Lad os teste din forståelse af Kubernetes Operators!

Operators: Intelligent automatisering

I denne lektion undersøgte vi Kubernetes Operators, som er effektive værktøjer, der udvider Kubernetes' funktionalitet.

Vi lærte, at Operators bruger brugerdefinerede ressourcer (CR'er) og definitioner af brugerdefinerede ressourcer (CRD'er) til at introducere nye API-objekter, og at de fungerer som specialiserede controllere, der konstant afstemmer den ønskede tilstand for dine applikationer.

Operators automatiserer komplekse "dag 2-driftsopgaver" for tilstandsfulde og avancerede applikationer, så de bliver nemmere at administrere på Kubernetes.

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse 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
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Forstå Kubernetes Operators” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Forstå Kubernetes Operators”, 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. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Forstå Kubernetes Operators”?

Opdag, hvordan Operators udvider Kubernetes' funktionalitet og automatiserer kompleks administration af applikationers livscyklus. Du øver dig i Intensiv DevOps-uddannelse 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å Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse 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 3 af 4.

Hvor lang tid tager lektionen “Forstå Kubernetes Operators”?

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 Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-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. StatefulSets til stateful-apps
  2. DaemonSets til nodespecifikke opgaver
  3. Forstå Kubernetes Operators
  4. Custom Resource Definitions (CRD'er)
← Tilbage til Intensiv DevOps-uddannelse