Vad är Minikube?
Minikube utvecklades för att tillåta användare att köra Kubernetes lokalt. När du installerar och kör Minikube på din dator körs ett Kubernetes-kluster med en nod inuti en virtuell maskin.
Varför Minikube?
Minikube är avsedd för både nya användare och vanliga utvecklare. Installera Kubernetes är tidskrävande och resurskrävande. Med Minikube får du en mindre fungerande version av ett Kubernetes-kluster med en enda nod på din persondator.
Om du är elev får du möjlighet att leka och förstå de grundläggande begreppen. När du har blivit vanlig utövare kan du fortfarande använda Minikube för att testa dina idéer lokalt innan du distribuerar dem i ditt datacenter eller server. Det kan fungera som din testmiljö.
Vad kan du göra med Minikube?
Minikube är utmärkt för att lära dig Kubernetes och testa dina koncept och idéer under utveckling.
Nödvändig förutsättning
Även om det inte är nödvändigt för denna handledning, är en grundläggande kunskap om behållare som Docker till hjälp för att förstå Minikube / Kubernetes.
Grundläggande definitioner av Minikube / Kubernetes-begrepp
För att använda Minikube måste du förstå de grundläggande idéer som diskuteras nedan. Definitionerna försöker inte förklara tekniken djupare. Det ger dig bara en förståelse för de grundläggande begreppen i Kubernetes. I denna diskussion menar Kubernetes och Minikube samma sak
- Behållare - I Minikube används containrar som byggstenar för att skapa applikationer.
- Pod - Pod är en samling av en eller flera containrar som delar lagrings- och nätverksresurser. Pods innehåller definitionen av hur behållarna ska köras i Minikube. Minikube använder dessa definitioner för att upprätthålla nödvändiga resurser. Du kan till exempel definiera att du behöver två pods. Om en pod går ner kommer Minikube automatiskt att avfyra en ny pod under körningen.
- Service - Eftersom pods är utbytbara behöver Minikube ett abstraktionslager för att hålla interaktionen mellan de olika podsna sömlösa. Till exempel, om en pod dör och en ny pod skapas, bör applikationsanvändarna inte fastna i detaljerna om nätverksadresser och relaterade problem. Tjänster är omslag runt bälgen för att skapa abstraktionsnivåer.
- Bemästra - Master samordnar klustret. Det är som hjärnorna i operationen.
- Nod - Arbetare som driver skida.
- kubectl - Det är kommandoradsgränssnittet för att köra kommandon på Kubernetes-klustret.
För att bättre förstå hur dessa begrepp passar ihop i Kubernetes, titta på den här korta videon:
Hur man installerar Minikube
Dina hårdvarubehov har virtualisering aktiverat i datorns BIOS. Den goda nyheten är att den mest moderna maskinen redan har aktiverat den.
Här är stegen för att installera Minkube på din maskin:
- Installera VirtualBox
- Installera kubectl
- Installera Minikube
Enkelt exempel på distribution på Minikube
När du har installerat allt kan du starta Minikube med följande kommando:
$ minikube startDet finns en nyare version av minikube tillgänglig (v0.28.0). Ladda ner den här:
https: // github.com / kubernetes / minikube / releases / tag / v0.28.0
För att inaktivera detta meddelande, kör följande:
minikube config set WantUpdateNotification false
Startar lokala Kubernetes v1.9.0 kluster ..
Startar VM ..
Hämtar VM-IP-adress ..
Flyttar filer till kluster ..
Ställer in certs ..
Ansluter till klustret ..
Ställer in kubeconfig ..
Startar klusterkomponenter ..
Kubectl är nu konfigurerad för att använda klustret.
Läser in cachade bilder från konfigurationsfilen.
Vid din första körning tar det tid att skjuta upp Minikube eftersom det kommer att bygga den virtuella datorn för dig. Du kan kontrollera din VirtualBox för att se den virtuella maskinen Minikube snurrar upp:
Senare när du startar om Minikube blir det snabbare.
Du kan använda följande kommando för att kontrollera din Minikube-status:
$ minikube-statusminikube: Running
kluster: Running
kubectl: Korrekt konfigurerad: pekar på minikube-vm vid 192.168.99.100
En bra funktion i Minikube är instrumentpanelen. Från instrumentpanelen kan du se allt som händer i Minikube. Du kan också styra resurser i ditt kluster från instrumentpanelen. Använd följande kommando för att starta instrumentpanelen i din standardwebbläsare:
$ minikube-instrumentpanelÖppnar kubernetes instrumentpanel i standardwebbläsaren ..
Så här ska instrumentpanelen se ut:
Låt oss distribuera en NGINX-applikation på Minikube. Här är stegen:
1. Skapa en pod:
$ kubectl kör mynginxapp --image = nginx: senaste --port = 80distribution "mynginxapp" skapad
2. Skapa en tjänst:
$ kubectl exponera distribution mynginxapp --type = NodePorttjänsten "mynginxapp" utsätts
3. Kontrollera din pod- och servicestatus:
$ kubectl få skidaNAMN KLAR STATUS ÅTERSTART Åldern
mynginxapp-6d64b788cc-j5crt 1/1 Löpning 0 4m
$ kubectl få tjänster
NAMN TYP CLUSTER-IP EXTERN-IP PORT (S) ÅLDER
kubernetes ClusterIP 10.96.0.1
mynginxapp NodePort 10.97.47.26
Du kan se att podden och tjänsten kör för mynginxapp.
4. Låt oss hitta på vilken adress och port Minikube kör mynginxapp:
$ Minikube-tjänst mynginxapp --URLhttp: // 192.168.99.100: 30964
Om du går till den returnerade URL: n (i det här fallet är det http: // 192.168.99.100: 30964) i din webbläsare bör du se NGINX-tjänsten körs.
5. Kontrollera instrumentpanelen igen:
$ Minikube-instrumentpanelÖppnar kubernetes instrumentpanel i standardwebbläsaren ..
6. Ta bort tjänsten och podden och stoppa Minikube
$ kubectl ta bort tjänst mynginxapptjänsten "mynginxapp" har tagits bort
$ kubectl ta bort distribution mynginxapp
distribution "mynginxapp" borttagen
$ Minikube-stopp
Stoppar det lokala Kubernetes-klustret ..
Maskinen stannade.
Sammanfattning av exemplet
I det här exemplet distribuerade du först en NGINX-pod som heter mynginxapp. NGINX-bilden laddades ner från Docker Hub. Sedan skapade du en tjänst för att stödja podden. Du kunde se tjänsten från webbläsaren. Äntligen raderade du podden och tjänsten och stoppade sedan Minikube.
Mer detaljerat Minikube-exempel
Kolla in vår Kubernetes: Komma igång artikel som har ett mer detaljerat Minikube-exempel.
Quiz - Testa din kunskap
- Kan du förklara begreppet containrar, kapslar och tjänster?
- Hur interagerar containrar, kapslar och tjänster med varandra?
- Vad är kubectl?
- Hur många Kubernetes-kluster kan du starta på Minikube?
Ytterligare studier
- https: // kubernetes.io / docs / tutorials / hello-Minikube
- https: // kubernetes.io / docs / home
- https: // www.digitalocean.com / community / tutorials / an-Introduction-to-kubernetes