Kubernetes(förkortat K8s) är ett system med öppen källkod som används för att hantera och distribuera containeriserade applikationer över ett datornätverk. Kubernetes har blivit en populär och kraftfull containerhanteringsplattform, ursprungligen utvecklad av Google och för närvarande underhållen av en stor grupp av utvecklare.
Huvudfunktionerna för Kubernetes inkluderar
-
Container Management : Kubernetes låter dig paketera applikationer och deras resurser till containers. Containers tillhandahålla en lätt miljö och se till att applikationer körs konsekvent på alla system.
-
Automatiserad distribution : Kubernetes möjliggör automatisk distribution och enkel skalbarhet av applikationer och tjänster. Du kan ange resurskrav, antalet instanser och Kubernetes kommer automatiskt att behålla önskat tillstånd.
-
Resurshantering : K8s hanterar serverresurser som CPU, minne och lagring för att säkerställa att applikationer inte förbrukar överdrivna resurser och inte stör varandra.
-
Automatisk återställning och feltolerans : Kubernetes hjälper applikationer att automatiskt återhämta sig från fel. Den kan automatiskt rulla tillbaka till en tidigare version av ett program om den nya versionen stöter på problem.
-
Lastbalansering och trafikfördelning : Kubernetes tillhandahåller mekanismer för att jämnt fördela trafik mellan instanser av applikationer på olika servrar nodes. Detta förbättrar prestandan och säkerställer skalbarhet.
-
Konfiguration och hemlighetshantering : Kubernetes låter dig hantera applikationskonfiguration och hemligheter på ett säkert sätt med funktioner som K8s Secrets och ConfigMaps.
Driftsmekanismerna för Kubernetes inkluderar
-
Nodes: Servrarna eller enskilda datorer i nätverket kallas " nodes." Det finns två typer av nodes i Kubernetes: Master Node och Worker Node. Master Node hanterar och kontrollerar hela systemet, medan Worker Node exekverar containers och applicerar.
-
Pods: En Pod är den minsta utplacerbara enheten i Kubernetes. En pod kan innehålla en eller flera containers, men de delar samma nätverkslagring och livscykel. Detta underlättar kommunikationen mellan containers inom en pod.
-
Controller: Controllers är komponenter som hanterar och underhåller repliker av pods. Typer av styrenheter inkluderar ReplicaSet(säkerställer korrekt antal pods och startar om vid behov), Deployment(hantering av versioner och uppdateringar av applikationer) och StatefulSet(för att distribuera stateful applikationer).
-
Service: Tjänster är en mekanism för lastbalansering och distribution av trafik till pods. Tjänster gör det enkelt för applikationer att komma åt pods utan att behöva känna till deras specifika platser.
-
Kubelet och Kube Proxy: Kubelet är en komponent som körs på varje arbetarnod, ansvarig för att hantera pods den noden. Kube Proxy är en nätverksproxy för att ansluta till pods.
Som ett resultat Kubernetes automatiserar distributionen och hanteringen av containeriserade applikationer, vilket minskar tiden och ansträngningen som krävs för att underhålla komplexa system.