Containerisering og orkestrering
Lær, hvordan containere og orchestrators som Kubernetes pakker og kører SaaS-applikationer ensartet på tværs af miljøer i en CI/CD-pipeline.
Containerisering og orkestrering er en gratis SaaS-arkitektur og iværksætterudvikling-lektion på CoddyKit. Dette er lektion 4 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 SaaS-arkitektur og iværksætterudvikling, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SaaS-arkitektur og iværksætterudvikling-kurset indeholder 4 lektioner i alt.
Problemet, som containere løser
Software opfører sig forskelligt på forskellige maskiner på grund af biblioteker og konfigurationer, der ikke stemmer overens. Containere pakker en app sammen med alle dens afhængigheder, så den kører ens overalt.
Det løser det klassiske problem: "Det virker på min maskine".
Containere sammenlignet med virtuelle maskiner
VM'er virtualiserer et helt operativsystem og er tunge. Containere deler værtskernel'en og isolerer kun applikationen, så de er lette og starter hurtigt.
Du kan køre mange containere dér, hvor du ellers ville køre få VM'er.
Definition af et image
Et container-image er et bygget artefakt, der beskrives af en Dockerfile. Det angiver base-imaget, afhængighederne og startkommandoen.
FROM node:20-alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "server.js"]Images og registre
Byggede images gemmes i et register (Docker Hub, ECR, GCR). Hvert image får et tag som myapp:1.4.2.
I CI/CD bygger pipelinen et image, skubber det til registret og implementerer det på servere.
Hvorfor orkestrering
Det er nemt at køre én container. Hvis du skal køre hundredvis på mange maskiner med sundhedstjek, skalering og løbende opdateringer, har du brug for en orkestrator.
Kubernetes er det dominerende valg til SaaS i stor skala.
Pods og implementeringer
I Kubernetes kører en Pod én eller flere containere. En Deployment angiver, hvor mange replika-Pods du ønsker, og sørger for, at de kører.
apiVersion: apps/v1
kind: Deployment
metadata:
name: api
spec:
replicas: 3
template:
spec:
containers:
- name: api
image: myapp:1.4.2Tjenester og netværk
Pods er kortlivede og får nye IP-adresser. En Kubernetes-Service giver en stabil adresse og fordeler trafikken mellem de matchende Pods.
Det afkobler kaldere fra de enkelte Pods' livscyklusser.
Deklarativ ønsket tilstand
Kubernetes er deklarativt: Du beskriver den ønskede tilstand, og kontrolsløjfen arbejder løbende på at få virkeligheden til at stemme overens med den.
Hvis en Pod går ned, starter controlleren automatisk en ny. Du administrerer hensigten, ikke de enkelte trin.
Løbende opdateringer
Orkestratorer udfører løbende opdateringer: Pods med den nye version starter, mens de gamle tømmes, så tjenesten forbliver tilgængelig hele tiden.
Hvis den nye version ikke består sundhedstjekkene, standses udrulningen, og den kan automatisk rulles tilbage.
Automatisk skalering af Pods
Horizontal Pod Autoscaler tilføjer eller fjerner Pod-replikaer baseret på CPU, hukommelse eller brugerdefinerede målinger.
Det tilpasser automatisk kapaciteten til efterspørgslen, hvilket giver SaaS en vigtig fordel med hensyn til omkostninger og pålidelighed.
Containere i CI/CD-pipelinen
Et typisk forløb: En commit udløser CI, som bygger og tester et image, skubber det til et register og opdaterer Kubernetes-implementeringen til det nye tag.
Det gør implementeringer gentagelige, revisionssporbare og hurtige.
Hurtigt tjek
Test din viden om containerisering.
Opsummering
Du har lært om containerisering og orkestrering:
- Containere pakker apps, så de kører ensartet, og er lettere end VM'er
- Images og registre føder pipelinen
- Kubernetes-Deployments, Services, løbende opdateringer og automatisk skalering kører SaaS i stor skala
Deklarativ ønsket tilstand binder det hele sammen med CI/CD.
Lær SaaS-arkitektur og iværksætterudvikling 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 “Containerisering og orkestrering” gratis?
Ja — alle 3 lektioner i læringssporet SaaS-arkitektur og iværksætterudvikling, inklusive “Containerisering og orkestrering”, 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. SaaS-arkitektur og iværksætterudvikling-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Containerisering og orkestrering”?
Lær, hvordan containere og orchestrators som Kubernetes pakker og kører SaaS-applikationer ensartet på tværs af miljøer i en CI/CD-pipeline. Du øver dig i SaaS-arkitektur og iværksætterudvikling 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å SaaS-arkitektur og iværksætterudvikling?
Der kræves ingen tidligere erfaring. SaaS-arkitektur og iværksætterudvikling 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 4 af 4.
Hvor lang tid tager lektionen “Containerisering og orkestrering”?
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 SaaS-arkitektur og iværksætterudvikling-lektion?
Ja. Alle SaaS-arkitektur og iværksætterudvikling-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
- Infrastructure as Code (IaC)
- Automatiserede udrulninger og rollbacks
- Udrulningsstrategier og blue/green
- Containerisering og orkestrering