Kubernetes(forkortet K8s) er et åpen kildekode-system som brukes til å administrere og distribuere containeriserte applikasjoner på tvers av et datanettverk. Kubernetes har blitt en populær og kraftig containeradministrasjonsplattform, opprinnelig utviklet av Google og for tiden vedlikeholdt av et stort fellesskap av utviklere.
Hovedfunksjonene til Kubernetes inkluderer
-
Container Management : Kubernetes lar deg pakke applikasjoner og deres ressurser inn i containers. Containers gi et lett miljø og sikre at applikasjoner kjører konsekvent på alle systemer.
-
Automatisert distribusjon : Kubernetes muliggjør automatisert distribusjon og enkel skalerbarhet av applikasjoner og tjenester. Du kan spesifisere ressurskrav, antall forekomster, og Kubernetes vil automatisk opprettholde ønsket tilstand.
-
Ressursadministrasjon : K8s administrerer serverressurser som CPU, minne og lagring for å sikre at applikasjoner ikke bruker for mye ressurser og ikke forstyrrer hverandre.
-
Automatisk gjenoppretting og feiltoleranse : Kubernetes hjelper applikasjoner å gjenopprette automatisk etter feil. Den kan automatisk rulle tilbake til en tidligere versjon av en applikasjon hvis den nye versjonen støter på problemer.
-
Lastbalansering og trafikkdistribusjon : Kubernetes gir mekanismer for å fordele trafikk jevnt mellom forekomster av applikasjoner på forskjellige servere nodes. Dette forbedrer ytelsen og sikrer skalerbarhet.
-
Konfigurasjon og Secrets Management : Kubernetes lar deg administrere programkonfigurasjon og hemmeligheter på en sikker måte ved å bruke funksjoner som K8s Secrets og ConfigMaps.
Driftsmekanismene til Kubernetes inkluderer
-
Nodes: Serverne eller individuelle datamaskiner i nettverket blir referert til som " nodes." Det er to typer nodes i Kubernetes: Master Node og Worker Node. Master Node administrerer og kontrollerer hele systemet, mens Worker Node kjører containers og applikasjoner.
-
Pods: En Pod er den minste deployerbare enheten i Kubernetes. En pod kan inneholde én eller flere containers, men de deler samme nettverkslagring og livssyklus. Dette letter kommunikasjonen mellom containers i en pod.
-
Controller: Kontrollere er komponenter som administrerer og vedlikeholder kopier av pods. Typer kontroller inkluderer ReplicaSet(sikrer riktig antall pods og omstart om nødvendig), Deployment(administrering av versjoner og oppdateringer av applikasjoner) og StatefulSet(for distribusjon av stateful applikasjoner).
-
Service: Tjenester er en mekanisme for lastbalansering og distribusjon av trafikk til pods. Tjenester gjør det enkelt for applikasjoner å få tilgang pods uten å måtte vite deres spesifikke plassering.
-
Kubelet og Kube Proxy: Kubelet er en komponent som kjører på hver arbeidernode, ansvarlig for å administrere pods på den noden. Kube Proxy er en nettverksproxy for tilkobling til pods.
Som et resultat Kubernetes automatiserer distribusjonen og administrasjonen av containeriserte applikasjoner, noe som reduserer tiden og innsatsen som kreves for å vedlikeholde komplekse systemer.