Opsætning og Igangsættelse af Kubernetes-Udrulning
Nu hvor din applikation kører problemfrit i containere, er den næste udfordring at orkestrere og administrere disse containere i stor skala. Her kommer Kubernetes ind i billedet for at hjælpe.
For at komme i gang defineres applikationens ønskede tilstand ved hjælp af YAML-filer. Én fil beskriver en Deployment, som håndterer opdateringer og skalering, mens en anden definerer en Service, der eksponerer applikationen til netværket og gør den tilgængelig for brugere.
YAML (YAML Ain't Markup Language) er et menneskelæsbart format til konfigurationsfiler. Det bruges ofte til at beskrive infrastruktur, automatisere processer og gemme applikationsindstillinger.
En Deployment sikrer, at det ønskede antal applikationsinstanser (Pods) altid kører og gør det nemt at udrulle opdateringer eller rulle tilbage til tidligere versioner. En Service eksponerer disse containere til netværket og fordeler indgående trafik mellem dem.
Kørsel af Minikube
Minikube er et letvægtsværktøj, der giver dig mulighed for at køre en lokal Kubernetes-klynge på din computer. Det opretter et virtuelt miljø, hvor du kan teste og udforske Kubernetes uden at skulle bruge cloud-tjenester.
Når du har installeret Minikube og tilføjet det til din system-PATH, skal du åbne PowerShell (eller din foretrukne terminal) og køre:
Denne kommando kontrollerer, om Minikube er tilgængelig, og viser den installerede version.
Når du har bekræftet, at Minikube er installeret, start dit lokale Kubernetes-klynge med:
Denne kommando opretter og starter en lokal Kubernetes-klynge på din maskine. Den downloader nødvendige komponenter og starter kontrolplanet og arbejdsknuderne.
Deployment: Udrulning af applikation
Start med at oprette filen deployment.yaml
. En Deployment i Kubernetes sikrer, at et bestemt antal Pods (applikationsinstanser) altid kører og kan opdateres eller rulles tilbage uden nedetid.
deployment.yaml
I dette manifest angiver parameteren replicas, hvor mange Pod-instanser der skal køre samtidigt — i dette tilfælde to. For at vide, hvilke Pods der skal administreres, bruger Deployment en kombination af selector og labels: selector fungerer som et filter til at finde Pods med et bestemt label, og Pod-skabelonen definerer dette label. Når labels matcher, betragter Deployment disse Pods som sine egne og sørger for at opretholde deres antal, opdatere dem og genstarte dem om nødvendigt.
Alle Pods kører på port 3000. De kan alle bruge den samme port, fordi hver Pod opererer i sit eget isolerede netværksrum, så der opstår ingen konflikt mellem dem.
Service: Netværksadgang til applikationen
Når Deployment er på plads, er en Service nødvendig for at give netværksadgang og load balancing mellem Pods. Opret filen service.yaml
:
service.yaml
Dette manifest definerer en Service med navnet my-app-service
, som dirigerer trafik til Pods med mærket app: my-app
. Den lytter eksternt på port 80 og videresender forespørgsler til port 3000 inde i Pods.
Typen LoadBalancer
er vigtig, da den eksponerer applikationen eksternt og fordeler trafikken på tværs af Pods.
Udrulning af applikationen i Kubernetes
Når YAML-filerne er klar, kan de anvendes på klyngen:
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
Kommandoen kubectl apply -f
opretter eller opdaterer ressourcer i klyngen baseret på indholdet af YAML-filerne.
Kontrol af status
Efter at have anvendt konfigurationsfilerne er det vigtigt at bekræfte, at alt er blevet udrullet som forventet. Da Pods og Services tager et øjeblik at starte, begynd med at liste de kørende Pods:
Hvis deployment.yaml
-filen angiver replicas: 2
, bør to Pods fremgå af outputtet.
For at bekræfte at Service kører og er tilgængelig:
Dette vil vise Service’s IP-adresse og de porte, hvorigennem applikationen kan tilgås.
Hent Service-URL
For at få adgang til din applikation, kør følgende kommando i PowerShell eller din terminal:
Denne kommando beder Minikube om at returnere den URL, hvor din applikation er tilgængelig. Minikube kontrollerer den Service, du har oprettet (my-app-service
), og giver et link, du kan åbne i din browser.
Skalering af applikationen
Kubernetes gør det nemt at justere antallet af kørende Pods uden at stoppe applikationen.
For eksempel, for at skalere fra 2 til 4 replikaer:
Når du kører kubectl get pods
igen, vil der nu blive vist fire aktive Pods.
Kubernetes tilbyder avancerede værktøjer til håndtering af containeriserede applikationer i enhver skala.
En Deployment sikrer, at det korrekte antal Pods kører og kan nemt opdateres eller rulles tilbage.
En Service eksponerer applikationen til netværket og balancerer indgående trafik.
YAML-konfigurationsfiler gør opsætningen overskuelig og læsbar, mens kubectl
-kommandoer muliggør, at disse konfigurationer kan anvendes og administreres i realtid.
1. Hvad er hovedformålet med en Deployment i Kubernetes?
2. Hvorfor kan flere Pods køre på det samme portnummer (f.eks. 3000
) uden konflikter?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Opsætning og Igangsættelse af Kubernetes-Udrulning
Stryg for at vise menuen
Nu hvor din applikation kører problemfrit i containere, er den næste udfordring at orkestrere og administrere disse containere i stor skala. Her kommer Kubernetes ind i billedet for at hjælpe.
For at komme i gang defineres applikationens ønskede tilstand ved hjælp af YAML-filer. Én fil beskriver en Deployment, som håndterer opdateringer og skalering, mens en anden definerer en Service, der eksponerer applikationen til netværket og gør den tilgængelig for brugere.
YAML (YAML Ain't Markup Language) er et menneskelæsbart format til konfigurationsfiler. Det bruges ofte til at beskrive infrastruktur, automatisere processer og gemme applikationsindstillinger.
En Deployment sikrer, at det ønskede antal applikationsinstanser (Pods) altid kører og gør det nemt at udrulle opdateringer eller rulle tilbage til tidligere versioner. En Service eksponerer disse containere til netværket og fordeler indgående trafik mellem dem.
Kørsel af Minikube
Minikube er et letvægtsværktøj, der giver dig mulighed for at køre en lokal Kubernetes-klynge på din computer. Det opretter et virtuelt miljø, hvor du kan teste og udforske Kubernetes uden at skulle bruge cloud-tjenester.
Når du har installeret Minikube og tilføjet det til din system-PATH, skal du åbne PowerShell (eller din foretrukne terminal) og køre:
Denne kommando kontrollerer, om Minikube er tilgængelig, og viser den installerede version.
Når du har bekræftet, at Minikube er installeret, start dit lokale Kubernetes-klynge med:
Denne kommando opretter og starter en lokal Kubernetes-klynge på din maskine. Den downloader nødvendige komponenter og starter kontrolplanet og arbejdsknuderne.
Deployment: Udrulning af applikation
Start med at oprette filen deployment.yaml
. En Deployment i Kubernetes sikrer, at et bestemt antal Pods (applikationsinstanser) altid kører og kan opdateres eller rulles tilbage uden nedetid.
deployment.yaml
I dette manifest angiver parameteren replicas, hvor mange Pod-instanser der skal køre samtidigt — i dette tilfælde to. For at vide, hvilke Pods der skal administreres, bruger Deployment en kombination af selector og labels: selector fungerer som et filter til at finde Pods med et bestemt label, og Pod-skabelonen definerer dette label. Når labels matcher, betragter Deployment disse Pods som sine egne og sørger for at opretholde deres antal, opdatere dem og genstarte dem om nødvendigt.
Alle Pods kører på port 3000. De kan alle bruge den samme port, fordi hver Pod opererer i sit eget isolerede netværksrum, så der opstår ingen konflikt mellem dem.
Service: Netværksadgang til applikationen
Når Deployment er på plads, er en Service nødvendig for at give netværksadgang og load balancing mellem Pods. Opret filen service.yaml
:
service.yaml
Dette manifest definerer en Service med navnet my-app-service
, som dirigerer trafik til Pods med mærket app: my-app
. Den lytter eksternt på port 80 og videresender forespørgsler til port 3000 inde i Pods.
Typen LoadBalancer
er vigtig, da den eksponerer applikationen eksternt og fordeler trafikken på tværs af Pods.
Udrulning af applikationen i Kubernetes
Når YAML-filerne er klar, kan de anvendes på klyngen:
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
Kommandoen kubectl apply -f
opretter eller opdaterer ressourcer i klyngen baseret på indholdet af YAML-filerne.
Kontrol af status
Efter at have anvendt konfigurationsfilerne er det vigtigt at bekræfte, at alt er blevet udrullet som forventet. Da Pods og Services tager et øjeblik at starte, begynd med at liste de kørende Pods:
Hvis deployment.yaml
-filen angiver replicas: 2
, bør to Pods fremgå af outputtet.
For at bekræfte at Service kører og er tilgængelig:
Dette vil vise Service’s IP-adresse og de porte, hvorigennem applikationen kan tilgås.
Hent Service-URL
For at få adgang til din applikation, kør følgende kommando i PowerShell eller din terminal:
Denne kommando beder Minikube om at returnere den URL, hvor din applikation er tilgængelig. Minikube kontrollerer den Service, du har oprettet (my-app-service
), og giver et link, du kan åbne i din browser.
Skalering af applikationen
Kubernetes gør det nemt at justere antallet af kørende Pods uden at stoppe applikationen.
For eksempel, for at skalere fra 2 til 4 replikaer:
Når du kører kubectl get pods
igen, vil der nu blive vist fire aktive Pods.
Kubernetes tilbyder avancerede værktøjer til håndtering af containeriserede applikationer i enhver skala.
En Deployment sikrer, at det korrekte antal Pods kører og kan nemt opdateres eller rulles tilbage.
En Service eksponerer applikationen til netværket og balancerer indgående trafik.
YAML-konfigurationsfiler gør opsætningen overskuelig og læsbar, mens kubectl
-kommandoer muliggør, at disse konfigurationer kan anvendes og administreres i realtid.
1. Hvad er hovedformålet med en Deployment i Kubernetes?
2. Hvorfor kan flere Pods køre på det samme portnummer (f.eks. 3000
) uden konflikter?
Tak for dine kommentarer!