DevOps-bootcamp · Lektion

Distribuera en enkel app

Använd kubectl för att distribuera en grundläggande containeriserad applikation till ditt Minikube-kluster.

Lektion 3 av 411 steg

Distribuera en enkel app är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Er första app i Kubernetes

Välkomna! I den här lektionen tar ni ett stort steg: ni distribuerar er allra första applikation till ert Minikube-kluster.

Vi använder ett kraftfullt kommandoradsverktyg som heter kubectl för att hantera appens väg från kod till en körande tjänst.

Distribuera en enkel app — illustration 1

Introduktion till Deployments

I Kubernetes är en Deployment sättet ni anger för klustret att köra er applikation.

  • Den hanterar en uppsättning identiska kopior av applikationen (Pods).
  • Den ser till att ett angivet antal kopior alltid körs.
  • Se den som ritningen och hanteraren för appens instanser.

Distribuera med `kubectl`

Det enklaste sättet att köra en app är med kommandot kubectl create deployment.

Ni behöver bara ange ett namn på er Deployment och specificera den containeravbildning ni vill köra. Kubernetes hanterar resten!

Skapa er första Deployment

Vi distribuerar en enkel Nginx-webbserver. Det här kommandot instruerar Kubernetes att skapa en Deployment med namnet nginx-deployment och använda Docker-avbildningen nginx.

kubectl create deployment nginx-deployment --image=nginx

Kör kommandot i den terminal där Minikube körs.

Verifiera er Deployment

När ni har kört kommandot börjar Kubernetes skapa de nödvändiga resurserna. Ni kan kontrollera deras status:

  • Om ni vill se er Deployment: kubectl get deployments
  • Om ni vill se de Pods som Deployment har skapat: kubectl get pods

Leta efter nginx-deployment och dess tillhörande Pods!

Varför Services är viktiga

Er Nginx-Pod körs, men hur får användarna åtkomst till den?

  • Pods har tillfälliga IP-adresser.
  • Pods kan avslutas och ersättas, vilket ger dem nya IP-adresser.
  • En Service tillhandahåller en stabil nätverksslutpunkt och fungerar som en gateway till era Pods.

Den ser till att trafiken alltid når en felfri Pod, även om Pods försvinner och ersätts.

Exponera er applikation

Om vi vill göra Nginx tillgänglig skapar vi en Service med kubectl expose. Vi anger Deployment-namnet och porten.

kubectl expose deployment nginx-deployment --type=NodePort --port=80

Det här skapar en Service som dirigerar extern trafik till port 80 på era Nginx-Pods.

Åtkomst till appen lokalt

Nu när er Nginx-Deployment exponeras av en Service kan Minikube hjälpa er att komma åt den.

Kör följande kommando så öppnar Minikube ett webbläsarfönster till er Nginx-webbserver!

minikube service nginx-deployment

Ni bör se sidan ”Welcome to nginx!”.

Rensa klustret

Det är en god vana att rensa bort resurser som ni inte längre behöver. Det frigör resurser i ert Minikube-kluster.

  • Om ni vill ta bort Servicen: kubectl delete service nginx-deployment
  • Om ni vill ta bort Deployment (vilket även tar bort dess Pods): kubectl delete deployment nginx-deployment

Ta alltid bort Servicen först och därefter Deployment.

Snabb kontroll

Ni har distribuerat och exponerat en applikation! Vilken sekvens av kubectl-kommandon skulle ni använda för att först distribuera en app med namnet my-app med avbildningen busybox och sedan exponera den som en NodePort-tjänst på port 8080?

Sammanfattning: appen är live!

Grattis! Ni har distribuerat, exponerat och fått åtkomst till er första applikation i Kubernetes med Minikube.

  • Vi använde kubectl create deployment för att köra vår container.
  • Vi använde kubectl expose deployment för att göra den tillgänglig via en Service.
  • Vi fick åtkomst till den med minikube service och rensade upp med kubectl delete.

Nu är ni ett steg närmare att bemästra Kubernetes!

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Distribuera en enkel app” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Distribuera en enkel app”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Distribuera en enkel app”?

Använd kubectl för att distribuera en grundläggande containeriserad applikation till ditt Minikube-kluster. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Distribuera en enkel app”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Installation och konfiguration av Minikube
  2. Kubeconfig och kontexter
  3. Distribuera en enkel app
  4. Inspektera och felsök klustret
← Tillbaka till DevOps-bootcamp