Vad är Kubernetes?

Slutförd

Den frikopplade designen av mikrotjänster i kombination med containrars atomitet gör det möjligt att skala ut appar som svarar på efterfrågan. I komplexa lösningar, som drönarspårningsappen, medför processen att distribuera, uppdatera, övervaka och ta bort containrar utmaningar.

Innan du tittar på vad som finns i Kubernetes finns det två begrepp som du bör förstå först, containerhantering och orkestrerare.

Vad är containerhantering?

Containerhantering är en process där du organiserar, lägger till, tar bort eller uppdaterar ett stort antal behållare.

Drönarspårningsappen består av flera mikrotjänster som ansvarar för uppgifter som cachelagring, köer eller databehandling. Var och en av dessa tjänster finns i en container som distribueras, uppdateras och skalas oberoende av varandra.

Diagram of a server or application replicated as containers for cloud deployment.

Till exempel med drönarspårningsappens webbplats hittar du under specifika tider på dagen, du behöver fler instanser av webbplatsens cachelagringstjänst för att upprätthålla prestanda, så du lägger till fler cachelagringstjänstcontainerinstanser.

Anta sedan att du har ökat antalet cachelagringsinstanser och behöver distribuera en ny version av mikrotjänsten. Du måste uppdatera alla aktiva containrar för att använda den nya versionen.

Containerhantering hjälper dig med dessa manuella repetitiva uppgifter.

Vad är en containerorkestrerare?

En containerorkestrerare är ett system som automatiskt distribuerar och hanterar appar i containrar. Som en del av hanteringen hanterar orkestreraren att skala dynamiska ändringar i miljön för att öka eller minska antalet distribuerade instanser av appen. Det säkerställer också att alla distribuerade containerinstanser uppdateras när en ny version av en tjänst släpps.

Diagram showing how number of deployed container instances is automatically increased if demand rises and how an orchestrator ensures all deployed instances are updated with the latest software version.

Definition av Kubernetes

Kubernetes är en bärbar, utökningsbar plattform med öppen källkod för hantering och orkestrering av containerbaserade arbetsbelastningar. Kubernetes förenklar komplexa containerhanteringsuppgifter och ger dig deklarativ konfiguration för att orkestrera containrar i olika beräkningsmiljöer. Den här orkestreringsplattformen ger dig samma användarvänlighet och flexibilitet som du kanske redan känner till från PaaS-erbjudanden (plattform som en tjänst) eller IaaS-erbjudanden (infrastruktur som en tjänst).

Diagram of replicated servers as multiple containers in a Kubernetes cluster.

Fördelar med Kubernetes

Fördelarna med att använda Kubernetes bygger på abstraktion av aktiviteter.

Diagram that lists three Kubernetes benefits: self-healing, dynamic scaling, and rolling updates.

Dessa uppgifter kan vara:

  • Självåterställning av containrar; till exempel starta om containrar som misslyckas eller ersätta containrar

  • Skala upp eller ned antalet distribuerade containrar dynamiskt, baserat på efterfrågan

  • Automatisera löpande uppdateringar och återställningar av containrar

  • Hantera lagring

  • Hantera nätverkstrafik

  • Lagra och hantera känslig information som användarnamn och lösenord

Viktigt!

Kom ihåg att alla ovanstående aspekter av Kubernetes kräver konfiguration och en god förståelse för de underliggande teknikerna. Du måste till exempel förstå koncept som virtuella nätverk, lastbalanserare och omvända proxyservrar för att konfigurera Kubernetes-nätverk.

Överväganden med Kubernetes

Med Kubernetes kan du visa ditt datacenter som en enda stor beräkningsresurs. Du behöver inte bekymra dig om hur och var du distribuerar dina containrar, utan bara om att distribuera och skala dina appar efter behov.

Diagram that shows a list of Kubernetes components that including monitoring, microservices, databases, and the Docker runtime.

Det är dock viktigt att förstå att Kubernetes inte är en enskilt installerad app med de komponenter som behövs för att hantera och orkestrera en containerbaserad lösning:

  • Aspekter som distribution, skalning, belastningsutjämning, loggning och övervakning är valfria. Du måste hitta den bästa lösningen som passar dina behov för att hantera dessa aspekter.

  • Kubernetes begränsar inte vilka typer av appar som kan köras på plattformen. Om appen kan köras i en container kan det köras i Kubernetes. För att få ut maximalt av containerlösningar måste dina utvecklare förstå koncept som arkitekturen för mikrotjänster.

  • Kubernetes tillhandahåller inte mellanprogram, databearbetningsramverk, databaser, cacheminnen eller klusterlagringssystem. Alla dessa objekt körs som containrar eller som en del av ett annat tjänsterbjudande.

  • För att Kubernetes ska kunna köra containrar behöver den en containerkörning som Docker eller containerd. Containerkörningen är det objekt som ansvarar för att hantera containrar. Det är till exempel containerkörningen som startar, stoppar och rapporterar containerns status.

  • Du är ansvarig för att underhålla din Kubernetes-miljö. Du måste till exempel hantera operativsystemuppgraderingar och Kubernetes-installationen och -uppgraderingar. Du hanterar också maskinvarukonfigurationen för värddatorerna, till exempel nätverk, minne och lagring.

Molntjänster som Azure Kubernetes Service (AKS) minskar dessa utmaningar genom att tillhandahålla en värdbaserad Kubernetes-miljö. De här tjänsterna förenklar även distributionen och hanteringen av containerbaserade appar i Azure. Med AKS får du fördelarna med Kubernetes med öppen källkod utan komplexiteten och driftsbelastningen som är typisk när du kör ett eget anpassat Kubernetes-kluster.

Kommentar

Kubernetes förkortas ibland till K8s. Siffran 8 representerar de åtta tecknen mellan K och s i ordet K[ubernetes]s.