Vad är Kubernetes?
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 processen för att organisera, lägga till, ta bort eller uppdatera ett stort antal containrar.
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.
Med drönarspårningsappens webbplats upptäcker du till exempel att du behöver fler instanser av webbplatsens cachelagringstjänst för att upprätthålla prestanda under specifika tider på dagen, så att 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 de aktiva containrarna för att kunna 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 containerbaserade appar. 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.
Definiera 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).
Kubernetes-fördelar
Fördelarna med att använda Kubernetes baseras på abstraktionen av uppgifter.
Dessa uppgifter omfattar:
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
Viktig
Tänk på att alla föregå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å begrepp som virtuella nätverk, lastbalanserare och omvända proxyservrar för att konfigurera Kubernetes-nätverk.
Överväganden för Kubernetes
Med Kubernetes kan du visa ditt datacenter som en 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.
Det är dock viktigt att förstå att Kubernetes inte är en enda installerad app som levereras med alla möjliga komponenter som behövs för att hantera och orkestrera en containerbaserad lösning:
Aspekter som distribution, skalning, belastningsutjämning, loggning och övervakning är alla valfria. Du ansvarar för att 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 din app kan köras i en container kan den köras på Kubernetes. För att kunna använda containerbaserade lösningar på bästa sätt måste utvecklarna förstå begrepp som arkitektur 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 det en container-runtime som Docker eller containerd. Runtime-miljön för containrar är det objekt som ansvarar för att hantera containrar. Till exempel hanterar container-runtime start, stopp och rapportering av containerns status.
Du ansvarar för att underhålla kubernetes-miljön. Du måste till exempel hantera OS-uppgraderingar och Kubernetes-installationen och uppgraderingarna. Du hanterar även 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 eller driftkostnaderna för att köra ditt eget anpassade Kubernetes-kluster.
Not
Kubernetes förkortas ibland till K8s. 8 representerar de åtta tecknen mellan K och s i ordet K[ubernete]s.