LLM-applikationer i produktion (RAG + vektordatabase + caching) · Lektion

Orkestrering med Kubernetes for skalerbarhed

Udforsk, hvordan Kubernetes kan administrere, skalere og automatisere implementeringen af Deres containeriserede LLM-tjenester.

Lektion 2 af 411 trin

Orkestrering med Kubernetes for skalerbarhed er en gratis LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i LLM-applikationer i produktion (RAG + vektordatabase + caching), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset indeholder 4 lektioner i alt.

K8s til orkestrering af LLM

Velkommen til orkestrering af LLM-apps! Når din applikation er blevet containeriseret, er den næste udfordring at håndtere containerne i stor skala.

Kubernetes (K8s) er et open source-system til automatisering af udrulning, skalering og håndtering af containeriserede applikationer. Tænk på det som et operativsystem til dit datacenter, der er udviklet til at køre mange containere effektivt.

Ud over enkelte containere

Selvom Docker hjælper med at pakke din LLM-app, kræver det mere at køre den i produktion:

  • Håndtering af mange replikaer: Så brugerbelastningen kan håndteres.
  • Selvheling: Hvad sker der, hvis en container går ned?
  • Belastningsfordeling: Fordeling af anmodninger på tværs af replikaer.
  • Service discovery: Hvordan finder de forskellige dele af dit LLM-system hinanden?

Kubernetes håndterer disse komplekse udfordringer og gør din LLM-applikation robust og skalerbar.

K8s-byggesten: Pods

Den mindste enhed, der kan udrulles i Kubernetes, er en Pod. En Pod kan indeholde en eller flere containere, der deler netværk, lager og livscyklus.

  • Din LLM-inferenscontainer vil typisk køre i en Pod.
  • Hvis din LLM-app har en sidecar (f.eks. en agent til logføring), kan den køre i den samme Pod.

Pods er midlertidige; Kubernetes kan oprette, destruere og planlægge dem igen.

Håndtering af Pods med Deployments

Det er besværligt at håndtere Pods direkte. Det er her, Deployments kommer ind i billedet. En Deployment beskriver den ønskede tilstand for din applikation, f.eks.:

  • Hvor mange identiske Pods (replikaer) der skal køre.
  • Hvilket container-image der skal bruges til din LLM-app.
  • Hvordan applikationen opdateres uden nedetid.

Deployments sikrer, at det angivne antal Pods til din LLM-applikation altid kører.

Adgang til din LLM-app: Services

Pods er midlertidige, og deres IP-adresser kan ændre sig. Hvordan får brugere eller andre tjenester konsekvent adgang til din LLM-applikation?

En Service leverer et stabilt netværksslutpunkt (en fast IP-adresse og et DNS-navn) for et sæt Pods. Den fungerer som en belastningsfordeler, der fordeler indgående anmodninger på tværs af de sunde Pods, som administreres af en Deployment.

Skalering af din LLM-applikation

En af Kubernetes' mest kraftfulde funktioner er automatisk skalering. For LLM-applikationer er det afgørende for at kunne håndtere svingende efterspørgsel.

  • Horizontal Pod Autoscaler (HPA) kan automatisk øge eller mindske antallet af Pod-replikaer i en Deployment.
  • Den skalerer ud fra målinger som CPU-udnyttelse, hukommelsesforbrug eller brugerdefinerede målinger (f.eks. anmodninger pr. sekund til dit LLM-slutpunkt).

Det sikrer, at din LLM-app altid har tilstrækkelig kapacitet uden manuel indgriben.

Selvheling og pålidelighed

Kubernetes er udviklet med henblik på modstandsdygtighed. Hvis en Pod, der kører din LLM-tjeneste, går ned, vil Kubernetes:

  • Automatisk registrere fejlen.
  • Afslutte den usunde Pod.
  • Oprette en ny, sund Pod som erstatning.

Denne selvhelende funktion forbedrer markant pålideligheden og oppetiden for dine LLM-applikationer i produktion.

Opdatering af apps med rollouts

Udrulning af nye versioner af din LLM-model eller applikationskode skal foregå problemfrit. Kubernetes' rolling updates giver dig mulighed for at opdatere din applikation uden nedetid.

I stedet for at lukke alle gamle Pods ned på én gang erstatter Kubernetes gradvist de gamle Pods med nye. På den måde er et minimum af sunde Pods altid tilgængelige til at håndtere anmodninger.

Oversigt over K8s-Deployment

Her er et konceptuelt eksempel på, hvordan en simpel LLM-applikation kan defineres i Kubernetes ved hjælp af YAML. Det opretter en Deployment og en Service.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-llm-app-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-llm-app
  template:
    metadata:
      labels:
        app: my-llm-app
    spec:
      containers:
      - name: llm-container
        image: your-org/my-llm-app:v1.0
        ports:
        - containerPort: 8000
---
apiVersion: v1
kind: Service
metadata:
  name: my-llm-app-service
spec:
  selector:
    app: my-llm-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8000
  type: LoadBalancer

Tjek af K8s-koncepter

Hvilken Kubernetes-komponent har primært ansvaret for at sikre, at det ønskede antal identiske Pods til din LLM-applikation hele tiden kører og bliver opdateret?

Opsummering og næste trin

Du har undersøgt mulighederne i Kubernetes til orkestrering af dine containeriserede LLM-applikationer!

  • K8s muliggør automatisk skalering, selvheling og problemfri opdatering.
  • Vigtige komponenter som Pods, Deployments og Services arbejder sammen om at håndtere din app.

Dernæst dykker vi ned i opsætning af Continuous Integration og Continuous Deployment (CI/CD)-pipelines for at automatisere test- og udgivelsescyklusserne for dine LLM-applikationer.

Gratis at komme i gang

Lær LLM-applikationer i produktion (RAG + vektordatabase + caching) 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 “Orkestrering med Kubernetes for skalerbarhed” gratis?

Ja — hele teksten til “Orkestrering med Kubernetes for skalerbarhed” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset, skal du opgradere til CoddyKit PRO. LLM-applikationer i produktion (RAG + vektordatabase + caching)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Orkestrering med Kubernetes for skalerbarhed”?

Udforsk, hvordan Kubernetes kan administrere, skalere og automatisere implementeringen af Deres containeriserede LLM-tjenester. Du øver dig i LLM-applikationer i produktion (RAG + vektordatabase + caching) 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å LLM-applikationer i produktion (RAG + vektordatabase + caching)?

Der kræves ingen tidligere erfaring. LLM-applikationer i produktion (RAG + vektordatabase + caching) 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 “Orkestrering med Kubernetes for skalerbarhed”?

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 LLM-applikationer i produktion (RAG + vektordatabase + caching)-lektion?

Ja. Alle LLM-applikationer i produktion (RAG + vektordatabase + caching)-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. Containerisering af LLM-applikationer med Docker
  2. Orkestrering med Kubernetes for skalerbarhed
  3. CI/CD til implementering af LLM-applikationer
  4. Håndtering af konfiguration og secrets ved deployment
← Tilbage til LLM-applikationer i produktion (RAG + vektordatabase + caching)