Hvad er Minikube?
Minikube blev udviklet til at give brugerne mulighed for at køre Kubernetes lokalt. Når du installerer og kører Minikube på din computer, kører det en Kubernetes-klynge med en enkelt node i en virtuel maskine.
Hvorfor Minikube?
Minikube er beregnet til både nye brugere og almindelige udviklere. Installation af Kubernetes er tidskrævende og ressourceintensiv. Med Minikube får du en mindre fungerende version af en Kubernetes-klynge med en enkelt node på din pc.
Hvis du er lærer, giver det dig muligheden for at lege rundt og forstå de grundlæggende begreber. Når du er blevet almindelig praktiserende læge, kan du stadig bruge Minikube til at teste dine ideer lokalt, før du distribuerer dem i dit datacenter eller server. Det kan fungere som dit testmiljø.
Hvad kan du gøre med Minikube?
Minikube er fantastisk til at lære Kubernetes og teste dine koncepter og ideer under udvikling.
Forudsætning
Selvom det ikke er nødvendigt for denne tutorial, er en grundlæggende viden om containere som Docker nyttigt at forstå Minikube / Kubernetes.
Grundlæggende definitioner af Minikube / Kubernetes-koncepter
For at bruge Minikube skal du forstå de grundlæggende ideer, der diskuteres nedenfor. Definitionerne forsøger ikke at forklare teknologien i dybden. Det giver dig kun en forståelse af de grundlæggende begreber i Kubernetes. I denne diskussion betyder Kubernetes og Minikube det samme
- Beholder - I Minikube bruges containere som byggesten til oprettelse af applikationer.
- Pod - Pod er en samling af en eller flere containere, der deler lager- og netværksressourcer. Pods indeholder definitionen af, hvordan containerne skal køres i Minikube. Minikube bruger disse definitioner til at opretholde de nødvendige ressourcer. For eksempel kan du definere, at du har brug for to bælg. Hvis en pod går ned, vil Minikube automatisk udføre en ny pod under udførelse.
- Service - Da bælg er udskiftelige, har Minikube brug for et abstraktionslag for at holde interaktionen mellem de forskellige bælg sømløse. For eksempel, hvis en pod dør, og en ny pod oprettes, bør applikationsbrugerne ikke sætte sig fast i detaljerne om netværksadresser og relaterede problemer. Services er indpakninger omkring bælgene for at skabe niveauer af abstraktion.
- Mestre - Master koordinerer klyngen. Det er som hjernen i operationen.
- Node - Arbejdere, der kører bælgene.
- kubectl - Det er kommandolinjegrænsefladen til at køre kommandoer på Kubernetes-klyngen.
For at forstå bedre hvordan disse koncepter passer sammen i Kubernetes, se denne korte video:
Sådan installeres Minikube
Dine hardwarebehov har virtualisering aktiveret i din computers BIOS. Den gode nyhed er, at den mest moderne maskine allerede har tændt.
Her er trinene til installation af Minkube på din maskine:
- Installer VirtualBox
- Installer kubectl
- Installer Minikube
Simpelt eksempel på implementering på Minikube
Når du har alt installeret, kan du starte Minikube med følgende kommando:
$ minikube startDer er en nyere version af minikube tilgængelig (v0.28.0). Download det her:
https: // github.com / kubernetes / minikube / releases / tag / v0.28.0
For at deaktivere denne meddelelse skal du køre følgende:
minikube-konfigurationssæt WantUpdateNotification false
Starter den lokale Kubernetes v1.9.0 klynge ..
Starter VM…
Henter VM IP-adresse ..
Flytter filer til klynge ..
Opsætter certs…
Opretter forbindelse til klynge ..
Opsætter kubeconfig ..
Starter klyngekomponenter ..
Kubectl er nu konfigureret til at bruge klyngen.
Indlæser cachelagrede billeder fra konfigurationsfilen.
På din første kørsel vil det tage tid at fyre Minikube op, da det bygger VM til dig. Du kan tjekke din VirtualBox for at se den virtuelle maskine Minikube spinder op:
Senere når du genstarter Minikube, bliver det hurtigere.
Du kan bruge følgende kommando til at kontrollere din Minikube-status:
$ minikube-statusminikube: Kører
klynge: Kører
kubectl: Korrekt konfigureret: peger på minikube-vm ved 192.168.99.100
Et fantastisk træk ved Minikube er instrumentbrættet. Fra instrumentbrættet kan du se alt, hvad der foregår i Minikube. Du kan også kontrollere ressourcer i din klynge fra instrumentbrættet. Brug følgende kommando til at starte dashboardet i din standardbrowser:
$ minikube dashboardÅbner kubernetes dashboard i standardbrowseren ..
Sådan skal instrumentbrættet se ud:
Lad os implementere en NGINX-applikation på Minikube. Her er trinene:
1. Opret en pod:
$ kubectl kør mynginxapp --image = nginx: seneste --port = 80implementering "mynginxapp" oprettet
2. Opret en tjeneste:
$ kubectl udsætter implementering mynginxapp --type = NodePortservice "mynginxapp" udsat
3. Tjek din pod- og servicestatus:
$ kubectl få bælgNAVN KLAR STATUS OMSTARTER ALDER
mynginxapp-6d64b788cc-j5crt 1/1 Løb 0 4m
$ kubectl få tjenester
NAVN TYPE CLUSTER-IP EXTERNAL IP PORT (S) ALDER
kubernetes ClusterIP 10.96.0.1
mynginxapp NodePort 10.97.47.26
Du kan se, at pod'en og tjenesten kører til mynginxapp.
4. Lad os finde på hvilken adresse og port Minikube kører mynginxapp:
$ Minikube-tjeneste mynginxapp --URLhttp: // 192.168.99.100: 30964
Hvis du går til den returnerede URL (i dette tilfælde er det http: // 192.168.99.100: 30964) i din browser, skal du se NGINX-tjenesten køre.
5. Tjek instrumentbrættet igen:
$ Minikube-instrumentbrætÅbner kubernetes dashboard i standardbrowseren ..
6. Slet tjenesten og pod'en, og stop Minikube
$ kubectl sletjeneste mynginxapptjenesten "mynginxapp" slettet
$ kubectl slet implementering mynginxapp
implementering "mynginxapp" slettet
$ Minikube stop
Stopper den lokale Kubernetes-klynge ..
Maskinen stoppede.
Resume af eksemplet
I dette eksempel implementerede du først en NGINX-pod kaldet mynginxapp. NGINX-billedet blev downloadet fra Docker Hub. Derefter oprettede du en tjeneste til støtte for pod'en. Du kunne se tjenesten fra browseren. Endelig slettede du pod'en og tjenesten og stoppede derefter Minikube.
Mere detaljeret Minikube-eksempel
Tjek vores Kubernetes: Kom godt i gang artikel, der har et mere detaljeret Minikube-eksempel.
Quiz - Test din viden
- Kan du forklare begrebet containere, bælg og tjenester?
- Hvordan interagerer containere, bælg og tjenester med hinanden?
- Hvad er kubectl?
- Hvor mange Kubernetes-klynger kan du starte på Minikube?
Yderligere studier
- https: // kubernetes.io / docs / tutorials / hej-Minikube
- https: // kubernetes.io / docs / hjem
- https: // www.digitalocean.com / community / tutorials / en-introduktion til kubernetes