Hva er Minikube?
Minikube ble utviklet for å tillate brukere å kjøre Kubernetes lokalt. Når du installerer og kjører Minikube på datamaskinen din, kjører den en Kubernetes-klynge med en node inne i en virtuell maskin.
Hvorfor Minikube?
Minikube er ment for både nye brukere og vanlige utviklere. Installasjon av Kubernetes er tidkrevende og ressurskrevende. Med Minikube får du en mindre fungerende versjon av en Kubernetes-klynge med en node på din personlige datamaskin.
Hvis du er lærer, gir det deg muligheten til å leke deg rundt og forstå de grunnleggende konseptene. Når du er blitt vanlig utøver, kan du fortsatt bruke Minikube til å teste ut ideene dine lokalt før du distribuerer dem i datasenteret eller serveren. Det kan fungere som ditt testmiljø.
Hva kan du gjøre med Minikube?
Minikube er flott for å lære Kubernetes og teste konseptene og ideene dine under utvikling.
Forutsetning
Selv om det ikke er nødvendig for denne opplæringen, er en grunnleggende kunnskap om containere som Docker nyttig for å forstå Minikube / Kubernetes.
Grunnleggende definisjoner av Minikube / Kubernetes-begreper
For å bruke Minikube, må du forstå de grunnleggende ideene som er diskutert nedenfor. Definisjonene prøver ikke å forklare teknologien i dybden. Det gir deg bare en forståelse av de grunnleggende konseptene til Kubernetes. I denne diskusjonen mener Kubernetes og Minikube det samme
- Container - I Minikube brukes containere som byggesteiner for å lage applikasjoner.
- Pod - Pod er en samling av en eller flere containere som deler lagrings- og nettverksressurser. Pods inneholder definisjonen av hvordan containerne skal kjøres i Minikube. Minikube bruker disse definisjonene for å opprettholde de nødvendige ressursene. For eksempel kan du definere at du trenger to pods. Hvis en pod går ned under utførelsen, vil Minikube automatisk skyte opp en ny pod.
- Service - Fordi pods er utskiftbare, trenger Minikube et abstraksjonslag for å holde interaksjonen mellom de forskjellige pods sømløs. For eksempel, hvis en pod dør og en ny pod blir opprettet, bør ikke applikasjonsbrukerne sette seg fast i detaljene om nettverksadresser og relaterte problemer. Tjenestene er viklinger rundt belgene for å skape nivåer av abstraksjon.
- Herre - Master koordinerer klyngen. Det er som hjernen til operasjonen.
- Node - Arbeidere som driver belgene.
- kubectl - Det er kommandolinjegrensesnittet for å kjøre kommandoer på Kubernetes-klyngen.
For å bedre forstå hvordan disse konseptene passer sammen i Kubernetes, se denne korte videoen:
Hvordan installere Minikube
Maskinvarebehovet ditt har virtualisering aktivert i datamaskinens BIOS. Den gode nyheten er at den mest moderne maskinen allerede har denne slått på.
Her er trinnene for å installere Minkube på maskinen din:
- Installer VirtualBox
- Installer kubectl
- Installer Minikube
Enkelt eksempel på distribusjon på Minikube
Når du har alt installert, kan du starte Minikube med følgende kommando:
$ minikube startDet er en nyere versjon av minikube tilgjengelig (v0.28.0). Last den ned her:
https: // github.no / kubernetes / minikube / utgivelser / tag / v0.28.0
For å deaktivere dette varselet, kjør følgende:
minikube-konfigurasjonssett WantUpdateNotification false
Starter lokale Kubernetes v1.9.0 klynge ..
Starter VM…
Henter VM-IP-adresse ..
Flytter filer til klyngen ..
Setter opp serier ..
Kobler til klyngen ..
Setter opp kubeconfig…
Starter klyngekomponenter ..
Kubectl er nå konfigurert til å bruke klyngen.
Laster inn hurtigbufrede bilder fra konfigurasjonsfilen.
På den første løpeturen vil det ta tid å fyre opp Minikube ettersom den vil bygge VM for deg. Du kan sjekke VirtualBox for å se den virtuelle maskinen Minikube spinner opp:
Senere når du starter Minikube på nytt, vil det gå raskere.
Du kan bruke følgende kommando for å sjekke Minikube-statusen din:
$ minikube-statusminikube: Running
klynge: Løping
kubectl: Korrekt konfigurert: peker på minikube-vm ved 192.168.99.100
En flott funksjon i Minikube er dashbordet. Fra dashbordet kan du se alt som skjer i Minikube. Du kan også kontrollere ressurser i klyngen din fra dashbordet. Bruk følgende kommando for å starte dashbordet i standard nettleser:
$ minikube dashbordÅpner kubernetes dashbord i standard nettleser ..
Slik skal dashbordet se ut:
La oss distribuere et NGINX-program på Minikube. Her er trinnene:
1. Lag en pod:
$ kubectl kjør mynginxapp --image = nginx: siste --port = 80distribusjon "mynginxapp" opprettet
2. Opprett en tjeneste:
$ kubectl avslører distribusjon mynginxapp --type = NodePorttjenesten "mynginxapp" utsatt
3. Sjekk din pod- og tjenestestatus:
$ kubectl få podsNAVN KLAR STATUS RESTARTER ALDER
mynginxapp-6d64b788cc-j5crt 1/1 Løping 0 4m
$ kubectl få tjenester
NAVN TYPE CLUSTER-IP EKSTERN-IP PORT (ER) ALDER
kubernetes ClusterIP 10.96.0.1
mynginxapp NodePort 10.97.47.26
Du kan se at pod og tjenesten kjører for mynginxapp.
4. La oss finne på hvilken adresse og port Minikube kjører mynginxapp:
$ Minikube-tjeneste mynginxapp --URLhttp: // 192.168.99.100: 30964
Hvis du går til den returnerte URL-en (i dette tilfellet er det http: // 192.168.99.100: 30964) i nettleseren din, bør du se NGINX-tjenesten kjører.
5. Sjekk dashbordet igjen:
$ Minikube dashbordÅpner kubernetes dashbord i standard nettleser ..
6. Slett tjenesten og pod og stopp Minikube
$ kubectl slettjeneste mynginxapptjenesten "mynginxapp" slettet
$ kubectl slett distribusjon mynginxapp
distribusjon "mynginxapp" slettet
$ Minikube stopp
Stopper den lokale Kubernetes-klyngen ..
Maskinen stoppet.
Sammendrag av eksemplet
I dette eksemplet distribuerte du først en NGINX-pod kalt mynginxapp. NGINX-bildet ble lastet ned fra Docker Hub. Så opprettet du en tjeneste for å støtte pod. Du kunne se tjenesten fra nettleseren. Til slutt slettet du pod og tjenesten og stoppet Minikube.
Mer detaljert Minikube-eksempel
Sjekk ut vår Kubernetes: Komme i gang artikkel som har et mer detaljert Minikube-eksempel.
Quiz - Test din kunnskap
- Kan du forklare konseptet med containere, bøtter og tjenester?
- Hvordan samhandler containere, bøtter og tjenester med hverandre?
- Hva er kubectl?
- Hvor mange Kubernetes-klynger kan du starte på Minikube?
Videre studier
- https: // kubernetes.io / docs / tutorials / hallo-Minikube
- https: // kubernetes.io / docs / home
- https: // www.digitalocean.com / community / tutorials / an-introduction-to-kubernetes