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. Det er her Kubernetes kommer inn i bildet.

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 gå 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 å ha 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-cluster med:

Denne kommandoen oppretter og starter et lokalt Kubernetes-cluster på maskinen din. Den laster ned nødvendige komponenter og starter kontrollplanet og arbeidsnodene.

Deployment: Utrulling av applikasjon

Start med å opprette filen deployment.yaml. En Deployment i Kubernetes sørger for 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, så det oppstår ingen konflikt mellom dem.

Service: Nettverkstilgang til applikasjonen

Når Deployment er på plass, trengs 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 statusen

Etter at konfigurasjonsfilene er brukt, er det viktig å bekrefte at alt har blitt distribuert som forventet. Siden Pods og Tjenester bruker litt tid på å starte, begynn med å liste opp de 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 der applikasjonen din er eksponert. Minikube sjekker tjenesten du opprettet (my-app-service) og gir en lenke du kan åpne i nettleseren.

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:

Hvis du kjører kubectl get pods igjen, vil du nå se fire aktive Pods.

Kubernetes tilbyr kraftige verktøy for administrasjon av 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 for nettverket og balanserer innkommende trafikk. YAML-konfigurasjonsfiler gjør oppsettet tydelig og lettlest, mens kubectl-kommandoer lar deg 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?

Awesome!

Completion rate improved to 3.7

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. Det er her Kubernetes kommer inn i bildet.

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 gå 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 å ha 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-cluster med:

Denne kommandoen oppretter og starter et lokalt Kubernetes-cluster på maskinen din. Den laster ned nødvendige komponenter og starter kontrollplanet og arbeidsnodene.

Deployment: Utrulling av applikasjon

Start med å opprette filen deployment.yaml. En Deployment i Kubernetes sørger for 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, så det oppstår ingen konflikt mellom dem.

Service: Nettverkstilgang til applikasjonen

Når Deployment er på plass, trengs 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 statusen

Etter at konfigurasjonsfilene er brukt, er det viktig å bekrefte at alt har blitt distribuert som forventet. Siden Pods og Tjenester bruker litt tid på å starte, begynn med å liste opp de 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 der applikasjonen din er eksponert. Minikube sjekker tjenesten du opprettet (my-app-service) og gir en lenke du kan åpne i nettleseren.

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:

Hvis du kjører kubectl get pods igjen, vil du nå se fire aktive Pods.

Kubernetes tilbyr kraftige verktøy for administrasjon av 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 for nettverket og balanserer innkommende trafikk. YAML-konfigurasjonsfiler gjør oppsettet tydelig og lettlest, mens kubectl-kommandoer lar deg 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