Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Oppsett og Igangsetting av Kubernetes-Distribusjon | CI/CD og Automatisering
Introduksjon til DevOps

bookOppsett og Igangsetting av Kubernetes-Distribusjon

Nå som applikasjonen din kjører stabilt i containere, er neste utfordring å orkestrere og administrere disse containerne i stor skala. Dette er hvor Kubernetes kommer inn for å hjelpe.

For å komme i gang definerer du ønsket tilstand for applikasjonen din ved hjelp av YAML-filer. Én fil beskriver en Deployment, som håndterer oppdateringer og skalering, mens en annen definerer en Service, som eksponerer applikasjonen din til nettverket og gjør den tilgjengelig for brukere.

Note
Les mer

YAML (YAML Ain't Markup Language) er et menneskelesbart format for konfigurasjonsfiler. Det brukes ofte til å beskrive infrastruktur, automatisere prosesser og lagre applikasjonsinnstillinger.

En Deployment sørger for at ønsket antall applikasjonsinstanser (Pods) alltid kjører, og gjør det enkelt å rulle ut oppdateringer eller rulle tilbake til tidligere versjoner. En Service eksponerer disse containerne til nettverket og fordeler innkommende trafikk mellom dem.

Kjøre Minikube

Note
Definisjon

Minikube er et lettvektsverktøy som lar deg kjøre en lokal Kubernetes-klynge på din egen datamaskin. Det oppretter et virtuelt miljø hvor du kan teste og utforske Kubernetes uten å måtte bruke skytjenester.

Etter at du har installert Minikube og lagt det til i systemets PATH, åpne PowerShell (eller ønsket terminal) og kjør:

Denne kommandoen sjekker om Minikube er tilgjengelig og viser den installerte versjonen.

Når du har bekreftet at Minikube er installert, start ditt lokale Kubernetes-klynge med:

Denne kommandoen oppretter og starter en lokal Kubernetes-klynge på maskinen din. Den laster ned nødvendige komponenter og starter kontrollplanet og arbeidsnodene.

Distribusjon: Utrulling av applikasjon

Start med å opprette filen deployment.yaml. En Deployment i Kubernetes sikrer at et spesifikt antall Pods (applikasjonsinstanser) alltid kjører og kan oppdateres eller rulles tilbake uten nedetid.

deployment.yaml

deployment.yaml

copy

I dette manifestet angir parameteren replicas hvor mange Pod-instanser som skal kjøre samtidig — i dette tilfellet to. For å vite hvilke Pods som skal administreres, bruker Deployment en kombinasjon av selector og labels: selector fungerer som et filter for å finne Pods med en spesifikk label, og Pod-malen definerer denne labelen. Når labelene samsvarer, behandler Deployment disse Pods som sine egne og sørger for å opprettholde antallet, oppdatere dem og starte dem på nytt ved behov.

Alle Pods kjører på port 3000. De kan alle bruke samme port fordi hver Pod opererer i sitt eget isolerte nettverksområde, slik at det ikke oppstår konflikt mellom dem.

Service: Nettverkstilgang til applikasjonen

Når Deployment er på plass, er det nødvendig med en Service for å gi nettverkstilgang og lastbalansering mellom Pods. Opprett filen service.yaml:

service.yaml

service.yaml

copy

Dette manifestet definerer en Service med navnet my-app-service som dirigerer trafikk til Pods med etiketten app: my-app. Den lytter på port 80 eksternt og videresender forespørsler til port 3000 inne i Pods.

LoadBalancer-typen er viktig fordi den eksponerer applikasjonen eksternt og fordeler trafikken mellom Pods.

Distribusjon av applikasjonen i Kubernetes

Når YAML-filene er klare, kan de brukes på klyngen:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Kommandoen kubectl apply -f oppretter eller oppdaterer ressurser i klyngen basert på innholdet i YAML-filen.

Sjekke status

Etter at konfigurasjonsfilene er brukt, er det viktig å bekrefte at alt er distribuert som forventet. Siden Pods og Tjenester bruker litt tid på å starte, bør du begynne med å liste opp kjørende Pods:

Hvis deployment.yaml-filen spesifiserer replicas: 2, skal to Pods vises i utdataene.

For å bekrefte at Tjenesten kjører og er tilgjengelig:

Dette vil vise Tjenestens IP-adresse og portene som applikasjonen kan nås gjennom.

Hent tjeneste-URL

For å få tilgang til applikasjonen din, kjør følgende kommando i PowerShell eller terminalen din:

Denne kommandoen ber Minikube om å returnere URL-en hvor applikasjonen din er eksponert. Minikube sjekker tjenesten du har opprettet (my-app-service) og gir en lenke du kan åpne i nettleseren din.

Skalering av applikasjonen

Kubernetes gjør det enkelt å justere antall kjørende Pods uten å stoppe applikasjonen.

For eksempel, for å skalere fra 2 til 4 replikaer:

Å kjøre kubectl get pods igjen vil nå vise fire aktive Pods.

Kubernetes tilbyr kraftige verktøy for å administrere containeriserte applikasjoner i alle skalaer. En Deployment sikrer at riktig antall Pods kjører og kan enkelt oppdateres eller rulles tilbake. En Service eksponerer applikasjonen til nettverket og balanserer innkommende trafikk. YAML-konfigurasjonsfiler gjør oppsettet tydelig og lesbart, mens kubectl-kommandoer gjør det mulig å bruke og administrere disse konfigurasjonene i sanntid.

1. Hva er hovedformålet med en Deployment i Kubernetes?

2. Hvorfor kan flere Pods kjøre på samme portnummer (f.eks. 3000) uten konflikter?

question mark

Hva er hovedformålet med en Deployment i Kubernetes?

Select the correct answer

question mark

Hvorfor kan flere Pods kjøre på samme portnummer (f.eks. 3000) uten konflikter?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 9

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

What should I do if my pods are not starting as expected?

How can I update my application without downtime using Kubernetes?

Can you explain the difference between a Deployment and a Service in Kubernetes?

bookOppsett og Igangsetting av Kubernetes-Distribusjon

Sveip for å vise menyen

Nå som applikasjonen din kjører stabilt i containere, er neste utfordring å orkestrere og administrere disse containerne i stor skala. Dette er hvor Kubernetes kommer inn for å hjelpe.

For å komme i gang definerer du ønsket tilstand for applikasjonen din ved hjelp av YAML-filer. Én fil beskriver en Deployment, som håndterer oppdateringer og skalering, mens en annen definerer en Service, som eksponerer applikasjonen din til nettverket og gjør den tilgjengelig for brukere.

Note
Les mer

YAML (YAML Ain't Markup Language) er et menneskelesbart format for konfigurasjonsfiler. Det brukes ofte til å beskrive infrastruktur, automatisere prosesser og lagre applikasjonsinnstillinger.

En Deployment sørger for at ønsket antall applikasjonsinstanser (Pods) alltid kjører, og gjør det enkelt å rulle ut oppdateringer eller rulle tilbake til tidligere versjoner. En Service eksponerer disse containerne til nettverket og fordeler innkommende trafikk mellom dem.

Kjøre Minikube

Note
Definisjon

Minikube er et lettvektsverktøy som lar deg kjøre en lokal Kubernetes-klynge på din egen datamaskin. Det oppretter et virtuelt miljø hvor du kan teste og utforske Kubernetes uten å måtte bruke skytjenester.

Etter at du har installert Minikube og lagt det til i systemets PATH, åpne PowerShell (eller ønsket terminal) og kjør:

Denne kommandoen sjekker om Minikube er tilgjengelig og viser den installerte versjonen.

Når du har bekreftet at Minikube er installert, start ditt lokale Kubernetes-klynge med:

Denne kommandoen oppretter og starter en lokal Kubernetes-klynge på maskinen din. Den laster ned nødvendige komponenter og starter kontrollplanet og arbeidsnodene.

Distribusjon: Utrulling av applikasjon

Start med å opprette filen deployment.yaml. En Deployment i Kubernetes sikrer at et spesifikt antall Pods (applikasjonsinstanser) alltid kjører og kan oppdateres eller rulles tilbake uten nedetid.

deployment.yaml

deployment.yaml

copy

I dette manifestet angir parameteren replicas hvor mange Pod-instanser som skal kjøre samtidig — i dette tilfellet to. For å vite hvilke Pods som skal administreres, bruker Deployment en kombinasjon av selector og labels: selector fungerer som et filter for å finne Pods med en spesifikk label, og Pod-malen definerer denne labelen. Når labelene samsvarer, behandler Deployment disse Pods som sine egne og sørger for å opprettholde antallet, oppdatere dem og starte dem på nytt ved behov.

Alle Pods kjører på port 3000. De kan alle bruke samme port fordi hver Pod opererer i sitt eget isolerte nettverksområde, slik at det ikke oppstår konflikt mellom dem.

Service: Nettverkstilgang til applikasjonen

Når Deployment er på plass, er det nødvendig med en Service for å gi nettverkstilgang og lastbalansering mellom Pods. Opprett filen service.yaml:

service.yaml

service.yaml

copy

Dette manifestet definerer en Service med navnet my-app-service som dirigerer trafikk til Pods med etiketten app: my-app. Den lytter på port 80 eksternt og videresender forespørsler til port 3000 inne i Pods.

LoadBalancer-typen er viktig fordi den eksponerer applikasjonen eksternt og fordeler trafikken mellom Pods.

Distribusjon av applikasjonen i Kubernetes

Når YAML-filene er klare, kan de brukes på klyngen:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

Kommandoen kubectl apply -f oppretter eller oppdaterer ressurser i klyngen basert på innholdet i YAML-filen.

Sjekke status

Etter at konfigurasjonsfilene er brukt, er det viktig å bekrefte at alt er distribuert som forventet. Siden Pods og Tjenester bruker litt tid på å starte, bør du begynne med å liste opp kjørende Pods:

Hvis deployment.yaml-filen spesifiserer replicas: 2, skal to Pods vises i utdataene.

For å bekrefte at Tjenesten kjører og er tilgjengelig:

Dette vil vise Tjenestens IP-adresse og portene som applikasjonen kan nås gjennom.

Hent tjeneste-URL

For å få tilgang til applikasjonen din, kjør følgende kommando i PowerShell eller terminalen din:

Denne kommandoen ber Minikube om å returnere URL-en hvor applikasjonen din er eksponert. Minikube sjekker tjenesten du har opprettet (my-app-service) og gir en lenke du kan åpne i nettleseren din.

Skalering av applikasjonen

Kubernetes gjør det enkelt å justere antall kjørende Pods uten å stoppe applikasjonen.

For eksempel, for å skalere fra 2 til 4 replikaer:

Å kjøre kubectl get pods igjen vil nå vise fire aktive Pods.

Kubernetes tilbyr kraftige verktøy for å administrere containeriserte applikasjoner i alle skalaer. En Deployment sikrer at riktig antall Pods kjører og kan enkelt oppdateres eller rulles tilbake. En Service eksponerer applikasjonen til nettverket og balanserer innkommende trafikk. YAML-konfigurasjonsfiler gjør oppsettet tydelig og lesbart, mens kubectl-kommandoer gjør det mulig å bruke og administrere disse konfigurasjonene i sanntid.

1. Hva er hovedformålet med en Deployment i Kubernetes?

2. Hvorfor kan flere Pods kjøre på samme portnummer (f.eks. 3000) uten konflikter?

question mark

Hva er hovedformålet med en Deployment i Kubernetes?

Select the correct answer

question mark

Hvorfor kan flere Pods kjøre på samme portnummer (f.eks. 3000) uten konflikter?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 9
some-alt