Oppsett 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.
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
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
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
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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Oppsett 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.
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
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
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
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?
Takk for tilbakemeldingene dine!