Så här kör du ditt eget Kubernetes -kluster med MicroK8

0
157

MicroK8s är en lätt enkelpaket Kubernetes-distribution utvecklad av Canonical, mest känd för Ubuntu -operativsystemet. MicroK8s följer uppströms Kubernetes -versioner och fokuserar på att ge en enkel installation och hanteringsupplevelse. Så här kommer du igång med att köra ditt eget kluster.

Installation

MicroK8s finns på Linux, Windows och macOS. Ett grafiskt Windows -installationsprogram erbjuds på projektets webbplats. macOS-användare bör använda Brew medan Linux-användare betjänas av snaps.

Följ de olika Snap-installationsstegen om du saknar snapd i ditt system. Använd sedan kommandot snap install för att lägga till MicroK8s:

sudo snap install microk8s –classic

< /p>

Detta installerar den senaste MicroK8s -versionen. Du kan välja en specifik version med –channel flagga:

sudo snap install microk8s –classic –channel = 1.19/stable

Detta ger dig en version av MicroK8 som är baserad på Kubernetes v1.19.

Annons

Installation kan ta ett tag att slutföra när Kubernetes -tjänster startas. Genom att köra status för microk8s-vänta-redo kan du kontrollera framsteg så att du vet när MicroK8s är redo att använda.

Interacting With Your Cluster

MicroK8s buntar ihop sin egen version av Kubectl-kommandoradsverktyget. Använd microk8s kubectl för att interagera med ditt kluster, lägg till ett vanligt kubectl-kommando:

sudo microk8s kubectl get all –all-namespaces

Detta kommando visar alla resurser i ditt kluster.

< img src = "http://www.cloudsavvyit.com/pagespeed_static/1.JiBnMqyl6S.gif"/>

Skapa sedan ett grundläggande manifest för att distribuera:

apiVersion: v1 kind: Podmetadata: name: my -pod spec: containers: – name: nginx image: nginx: latest ports: – name: http containerPort: 80 protocol: TCP

Applicera manifestet på ditt kluster:

sudo microk8s kubectl apply -f ./manifest.yaml

MicroK8s skapar en ny Pod som kör NGINX -webbservern. Det kommer att dyka upp när du kör om microk8s kubectl få allt.

< /p>

MicroK8s är kompatibel med alla Kubectl -kommandon. Om du vill släppa prefixet microk8s kan du använda ett “ riktigt ” kubectl binär istället:

sudo microk8s kubectl config view –raw & gt; $ HOME/.kube/config

Detta exporterar MicroK8s anslutningsinformation till din Kubernetes konfigurationsfil, så att vanliga kubectl -kommandon kan nå ditt kluster.

De flesta MicroK8s -kommandon kräver åtkomst till superanvändare. För långvarig användning, lägg till ditt användarkonto i gruppen microk8s så att du inte behöver använda sudo varje gång:

sudo usermod -aG microk8s $ USER

Få tillgång till Docker -bilder

MicroK8s kan inte komma åt dina lokala Docker -bilder automatiskt. Om du vill distribuera en bild som du just har byggt kan du importera den manuellt till MicroK8s-registret genom att exportera den som ett tjärarkiv.

docker save my-image: latest & gt; my-image.tar microk8s ctr image import my-image.tar Annonsering

Nu kan dina Pods framgångsrikt referera till bilden. Du kan lista alla kända bilder i MicroK8s -registret med kommandot microk8s ctr images ls.

Utöver enkel användning på din lokala dator bör du skapa ett särskilt Docker -bildregister för att hålla dina bilder. Skjut bilder dit och ge MicroK8s pullåtkomst så att den kan hämta dem från ditt lagringsutrymme. Stegen som ska följas beror på ditt registers konfiguration.

Aktivera Kubernetes-instrumentpanelen

Kubernetes webbpanel är bunden med MicroK8s men är inaktiverad som standard. Du kan aktivera den genom att aktivera dess tillägg och sedan navigera till IP -adressen för instrumentpaneltjänsten.

microk8s aktivera instrumentpanelen

Tjänsten kan ta några minuter att starta. Kör microk8s kubectl get services -namespace kube-system och vänta på att kubernetes-dashboard-tjänsten dyker upp. Anteckna dess CLUSTER-IP och besök dess adress i din webbläsare. Kubernetes-instrumentpanelen ska visas så att du kan interagera med dina resurser med ett grafiskt gränssnitt.

Använda fler tillägg

MicroK8s levereras med flera andra tillval för vanliga användningsfall. Dns -tillägget lägger till stöd för DNS -distribution, lagring ger en standardlagringsklass baserad på värdkataloger och ingress erbjuder en ingångskontroller som låter dig skapa Ingress -routningsresurser.

Annonsering

Registertillägget är en specialtjänst som distribuerar ett färdigt Docker-register på localhost: 32000. Genom att använda registret finns ett privat lagringsutrymme som du kan skjuta dina bilder till innan du använder dem i dina Kubernetes Pods. På samma sätt lanserar istio -tillägget ett Istio -nät för att tillhandahålla serviceupptäcktsfunktioner.

En uttömmande beskrivning av dessa tillägg finns i MicroK8: s dokumentation. Du kan se alla tillgängliga tillägg i din installation genom att köra microk8s aktivera utan argument. Endast den minsta möjliga Kubernetes-funktionen är aktiv som standard eftersom MicroK8s fokuserar på att tillhandahålla en strömlinjeformad upplevelse.

Hantera ditt kluster

Alla klusterhanteringsfunktioner tillhandahålls av kommandot microk8s. Genom att köra status för microk8s visas en översikt över ditt kluster, inklusive om det körs och listan över aktiva tillägg.

För att stänga av ditt kluster, kör microk8s stop. Detta stoppar alla tjänster och tar allt offline. Du startar om klustret med startkommandot microk8s. Det kan ta några ögonblick innan alla dina tjänster körs.

Du kan visa dina klusteranslutningsdetaljer genom att köra microk8s config. Detta avger en Kubectl-kompatibel YAML-fil, redo att användas med andra verktyg.

Genom att köra återställning av microk8s återställs klustret till det ursprungliga tillståndet efter installationen. Detta är en destruktiv tidskrävande operation som kommer att förstöra alla dina resurser. Det underlättar experiment genom att låta dig riva allt utan att ta bort MicroK8s -snap. Kubernetes lagringsvolymer behålls som standard; du kan ta bort dem också genom att lägga till –destroy-lagringsflaggan.

Multi-Node Clusters

Även om MicroK8s började som en enda nod projekt kan du nu lägga till sekundära noder i ditt kluster. Ytterligare noder ger dig redundans, liksom ökad arbetsbelastningskapacitet. Varje nod kräver sin egen helt isolerade miljö – antingen en separat fysisk maskin, virtuell dator eller container. Du kan inte köra två MicroK8s -arbetsinstanser i samma miljö.

Annons

Kör först tilläggsnod för microk8s på din ursprungliga nod. Detta blir den styrande mästaren som kör Kubernetes-kontrollplanet.

microk8s add-node

< /p>

Kommandot skapar en provisorisk registrering för den nya noden. Det kommer att mata ut ett microk8s join -kommando som kommer att ansluta noden till kontrollplanet. Anslutningsprocessen tar några sekunder att slutföra. Noden måste kunna nå din master via den visade nätverksadressen.

När noden har lagts till kommer den att vara värd för dina poddar. Du kan se alla tillgängliga noder genom att köra microk8s kubectl get noder.

Att ta bort en nod från klustret är en övning i omvändning. Kör först microk8s leave på målnoden. Kör sedan microk8s remove-node 10.108.0.1 på mastern och ersätt den borttagna nodens IP-adress. Detta meddelar alla andra noder om borttagningen. Målnoden återgår till en vanlig fristående MicroK8s -installation och blir sin egen mästare.

Slutsats

MicroK8s är en minimal Kubernetes -distribution som är lätt att själv -hostad på din egen hårdvara. Den är helt CNFC-kompatibel och levereras med inbyggda tillägg för den officiella Kubernetes-instrumentpanelen, Ingress-routing och Istio-servicenätet. Dessa hjälper dig att snabbt skapa ett eget produktionsklart kluster som kan matcha de hanterade Kubernetes-erbjudandena från offentliga molnleverantörer.

Annons

MicroK8s stöder ett särskilt brett utbud av hårdvaru- och distributionskonstruktioner. Det fungerar på utvecklarens arbetsstationer, i mycket tillgängliga produktionsmiljöer och på Raspberry Pi. Med denna flexibilitet kan du använda exakt samma teknik i utveckling och produktion, till och med fram till Kubernetes-implementeringen.

Jämfört med konkurrerande projekt som Minikube, utmärker sig MicroK8s i att köra i resursbegränsade miljöer med minimala omkostnader. Det drar nytta av sin egen containerisering, med hjälp av snap -paketformatet, så det finns ingen tung VM att köra. Detta ger dig mer kapacitet att vara värd för dina arbetsbelastningar och andra utvecklarverktyg.

Medan MicroK8s började livet som ett utvecklarcentrerat projekt, med inriktning på lokala tester och prototyper, faktureras det nu som en produktions- klar Kubernetes -distribution med ett bevisat rekord för att noga följa uppströmsutgåvor. Kluster kan uppgraderas till nya Kubernetes-utgåvor med kommandot snap refresh microk8s.