Kubernetes Tutorial for begyndere
โก Smart opsummering
Kubernetes er et open source containerhรฅndteringssystem udviklet af Google der automatiserer implementering, skalering og drift af containeriserede applikationer pรฅ tvรฆrs af klynger af fysiske, virtuelle og cloud-servere, og tilbyder selvreparerende, automatiserede udrulninger, load balancing og ensartede miljรธer til pรฅlidelig applikationslevering.

Inden vi starter denne Kubernetes-tutorial, lad os lรฆre:
Hvad er Kubernetes?
Kubernetes er et containerhรฅndteringssystem udviklet pรฅ Google platform. Kubernetes hjรฆlper med at administrere containeriserede applikationer i forskellige typer fysiske, virtuelle og cloud-miljรธer. Google Kubernetes er et yderst fleksibelt containervรฆrktรธj til konsekvent at levere komplekse applikationer, der kรธrer pรฅ klynger af hundredvis til tusindvis af individuelle servere.
Hvorfor har du brug for containere?
Dagens internetbruger accepterer aldrig nedetid. Derfor skal udviklere finde en metode til at udfรธre vedligeholdelse og opdatering uden at afbryde deres tjenester.
Derfor er en container et isoleret miljรธ. Det inkluderer alt det nรธdvendige for at applikationen kan kรธre. Det gรธr det nemt for en udvikler at redigere og implementere apps. Desuden er containerisering blevet en foretrukken metode til at pakke, implementere og opdatere webapps.
Hvilken opgave udfรธres af Kubernetes?
Kubernetes er Linux-kernen, der bruges til distribuerede systemer. Den hjรฆlper dig med at vรฆre abstracden underliggende hardware for noderne (serverne) og tilbyder en ensartet grรฆnseflade til applikationer, der forbruger den delte pulje af ressourcer.
Hvorfor bruge Kubernetes?
Kubernetes hjรฆlper dig med at kontrollere ressourceallokeringen og trafikstyringen for cloud-applikationer og mikrotjenester. Det hjรฆlper ogsรฅ med at forenkle forskellige aspekter af serviceorienterede infrastrukturer. Kubernetes giver dig mulighed for at sikre, hvor og hvornรฅr containeriserede applikationer kรธrer, og hjรฆlper dig med at finde ressourcer og vรฆrktรธjer, du vil arbejde med.
Funktioner ved Kubernetes
Her er de vรฆsentlige Kubernetes-funktioner:
- Automatiseret planlรฆgning
- Selvhelbredende evner
- Automatiseret udrulning og tilbagerulning
- Horisontal skalering og belastningsbalancering
- Tilbyder miljรธkonsistens til udvikling, test og produktion
- Infrastruktur er lรธst koblet til hver komponent kan fungere som en separat enhed
- Giver en hรธjere tรฆthed af ressourceudnyttelse
- Tilbyder virksomhedsklare funktioner
- Applikationscentreret ledelse
- Auto-skalerbar infrastruktur
- Du kan skabe forudsigelig infrastruktur
Grundlรฆggende om Kubernetes
Nu i denne Kubernetes-tutorial lรฆrer vi nogle vigtige grundlรฆggende om Kubernetes:
Cluster
Det er en samling af vรฆrter (servere), der hjรฆlper dig med at samle deres tilgรฆngelige ressourcer. Det inkluderer ram, CPU, ram, disk og deres enheder i en brugbar pulje.
Mester til Skak
Masteren er en samling af komponenter, der udgรธr kontrolpanelet i Kubernetes. Disse komponenter bruges til alle klyngebeslutninger. Det omfatter bรฅde planlรฆgning og reaktion pรฅ klyngebegivenheder.
Node
Det er en enkelt vรฆrt, som er i stand til at kรธre pรฅ en fysisk eller virtuel maskine. En node skal kรธre bรฅde kube-proxy, minikube og kubelet, som betragtes som en del af klyngen.
navnerum
Det er en logisk klynge eller et logisk miljรธ. Det er en udbredt metode, der bruges til scoping adgang til eller opdeling af en klynge.
Kubernetes Architecture
Nedenfor er et detaljeret Kubernetes-arkitekturdiagram:

Master Node
Masternoden er den fรธrste og mest vitale komponent, som er ansvarlig for styringen af โโKubernetes-klyngen. Det er indgangspunktet for alle former for administrative opgaver. Der kan vรฆre mere end รฉn masterknude i klyngen for at kontrollere for fejltolerance.
Masternoden har forskellige komponenter som API Server, Controller Manager, Scheduler og ETCD. Lad os se dem alle.
API-server: API-serveren fungerer som et indgangspunkt for alle REST-kommandoer, der bruges til at styre klyngen.
Scheduler
Planlรฆggeren planlรฆgger opgaverne til slaveknuden. Den gemmer oplysninger om ressourceforbrug for hver slaveknude. Den er ansvarlig for at fordele arbejdsbyrden.
Det hjรฆlper dig ogsรฅ til track hvordan arbejdsbelastningen bruges pรฅ klyngenoder. Det hjรฆlper dig med at placere arbejdsbelastningen pรฅ ressourcer, der er tilgรฆngelige, og acceptere arbejdsbelastningen.
Osv
etcd-komponenter gemmer konfigurationsdetaljer og wright-vรฆrdier. Den kommunikerer med den mest komponent for at modtage kommandoer og arbejde. Det administrerer ogsรฅ netvรฆrksregler og portvideresendelsesaktivitet.
Arbejder/slaveknudepunkter
Arbejdernoder er en anden vigtig komponent, som indeholder alle de nรธdvendige tjenester til at styre netvรฆrket mellem containerne, kommunikere med masterknudepunktet, hvilket giver dig mulighed for at tildele ressourcer til de planlagte containere.
- Kubelet: henter konfigurationen af โโen Pod fra API-serveren og sikrer, at de beskrevne containere er oppe og kรธre.
- Docker container: Docker container kรธrer pรฅ hver af arbejdernoderne, som kรธrer de konfigurerede pods
- Kube-proxy: Kube-proxy fungerer som en belastningsbalancer og netvรฆrksproxy til at udfรธre service pรฅ en enkelt arbejderknude
- Pods: En pod er en kombination af enkelte eller flere containere, der logisk kรธrer sammen pรฅ noder
Andre nรธgleterminologier
Replikeringscontrollere
En replikeringscontroller er et objekt, der definerer en pod-skabelon. Den styrer ogsรฅ parametre for at skalere identiske replikaer af Pod vandret ved at รธge eller formindske antallet af kรธrende kopier.
Replikationssรฆt
Replikeringssรฆt er en interaktion pรฅ replikeringscontrollerdesignet med fleksibilitet i, hvordan controlleren genkender de pods, den er beregnet til at administrere. Det erstatter replikeringscontrollere pรฅ grund af deres hรธjere replikatudvรฆlgelsesevne.
implementeringer
Implementering er en almindelig arbejdsbyrde, som kan oprettes og administreres direkte. Implementering bruger replikeringssรฆt som en byggesten, der tilfรธjer funktionen til livscyklusstyring.
Stateful sรฆt
Det er en specialiseret pod kontrol, som tilbyder bestilling og unikhed. Det bruges hovedsageligt til at have finkornet kontrol, som du har et sรฆrligt behov for med hensyn til implementeringsrรฆkkefรธlge, stabilt netvรฆrk og vedvarende data.
Dรฆmon sรฆt
Daemon-sรฆt er en anden specialiseret form for pod-controller, der kรธrer en kopi af en pod pรฅ hver node i klyngen. Denne type pod-controller er en effektiv metode til at implementere pods, der giver dig mulighed for at udfรธre vedligeholdelse og tilbyder tjenester til selve noderne.
Kubernetes vs. Docker Swarm
Her er vigtige forskelle mellem Kubernetes vs Docker.
| Parameter | Docker svรฆrm | Kubernetes |
|---|---|---|
| Skalering | Ingen autoskalering | Automatisk skalering |
| Lastbalancering | Udfรธrer automatisk belastningsbalancering | Konfigurer dine belastningsbalanceringsindstillinger manuelt |
| Deling af lagervolumen | Deler lagervolumener med enhver anden beholder | Deler lagervolumener mellem flere beholdere inde i den samme Pod |
| Brug af login- og overvรฅgningsvรฆrktรธj | Brug 3rd festvรฆrktรธj som ELK | Giv et indbygget vรฆrktรธj til logning og overvรฅgning. |
| Installation | Nemt & hurtigt | Kompliceret og tidskrรฆvende |
| GUI | GUI ikke tilgรฆngelig | GUI er tilgรฆngelig |
| Skalerbarhed | Opskalering er hurtigere end K8S, men klyngestyrken er ikke sรฅ robust | Opskalering er langsom sammenlignet med Swarm, men garanterer stรฆrkere klyngetilstand Belastningsbalancering krรฆver manuel servicekonfiguration |
| Load Balancing | Giver en indbygget belastningsbalanceringsteknik | Procesplanlรฆgning for at vedligeholde tjenester under opdatering |
| Opdateringer og tilbagefรธrsler af datamรฆngder Logning og overvรฅgning | Progressive opdateringer og servicesundhedsovervรฅgning. | Kun delt med containere i samme Pod Indbyggede log- og overvรฅgningsvรฆrktรธjer. |
Fordele ved Kubernetes
- Nem organisering af service med pods
- Den er udviklet af Google, som bidrager med mange รฅrs vรฆrdifuld brancheerfaring
- Stรธrste fรฆllesskab blandt containerorkestreringsvรฆrktรธjer
- Tilbyder en rรฆkke lagermuligheder, herunder lokale, SAN'er og offentlige skyer
- Overholder principperne om uforanderlig infrastruktur
- Kubernetes kan kรธre on-premises bare metal, OpenStack, offentlige skyer Google, Azure, AWSOsv
- Hjรฆlper dig med at undgรฅ problemer med leverandรธrlรฅsning, da den kan bruge alle leverandรธrspecifikke API'er eller tjenester, undtagen hvor Kubernetes leverer en abstraction, f.eks. load balancer og lagring.
- Containerisering ved hjรฆlp af kubernetes tillader pakkesoftware at tjene disse mรฅl. Det vil muliggรธre applikationer, der skal frigives og opdateres uden nedetid.
- Kubernetes giver dig mulighed for at sikre, at disse containeriserede applikationer kรธrer, hvor og hvornรฅr du vil, og hjรฆlper dig med at finde ressourcer og vรฆrktรธjer, som du vil arbejde.
Ulemper ved Kubernetes
- Kubenetes dashboard ikke sรฅ nyttigt, som det burde vรฆre
- Kubernetes er en lille smule kompliceret og unรธdvendigt i miljรธer, hvor al udvikling foregรฅr lokalt.
- Sikkerhed er ikke sรฆrlig effektiv.
