Kubernetes veiledning for nybegynnere
โก Smart oppsummering
Kubernetes er et รฅpen kildekode-system for containerhรฅndtering utviklet av Google som automatiserer distribusjon, skalering og drift av containeriserte applikasjoner pรฅ tvers av klynger av fysiske, virtuelle og skybaserte servere, og tilbyr selvreparerende, automatiserte utrullinger, lastbalansering og konsistente miljรธer for pรฅlitelig applikasjonslevering.

Fรธr vi starter denne Kubernetes-opplรฆringen, la oss lรฆre:
Hva er Kubernetes?
Kubernetes er et containerhรฅndteringssystem utviklet pรฅ Google plattform. Kubernetes hjelper med รฅ administrere containeriserte applikasjoner i ulike typer fysiske, virtuelle og skybaserte miljรธer. Google Kubernetes er et svรฆrt fleksibelt containerverktรธy for konsekvent levering av komplekse applikasjoner som kjรธrer pรฅ klynger fra hundrevis til tusenvis av individuelle servere.
Hvorfor trenger du containere?
Dagens internettbruker aksepterer aldri nedetid. Derfor mรฅ utviklere finne en metode for รฅ utfรธre vedlikehold og oppdatering uten รฅ avbryte tjenestene deres.
Derfor er en beholder et isolert miljรธ. Den inkluderer alt som trengs for at applikasjonen skal kjรธre. Det gjรธr det enkelt for en utvikler รฅ redigere og distribuere apper. Dessuten har containerisering blitt en foretrukket metode for รฅ pakke, distribuere og oppdatere nettapper.
Hvilken oppgave utfรธres av Kubernetes?
Kubernetes er Linux-kjernen som brukes for distribuerte systemer. Den hjelper deg รฅ vรฆre abstracden underliggende maskinvaren til nodene (serverne) og tilbyr et konsistent grensesnitt for applikasjoner som forbruker det delte ressursbassenget.
Hvorfor bruke Kubernetes?
Kubernetes hjelper deg med รฅ kontrollere ressursallokeringen og trafikkadministrasjonen for skyapplikasjoner og mikrotjenester. Det bidrar ogsรฅ til รฅ forenkle ulike aspekter ved tjenesteorientert infrastruktur. Kubernetes lar deg forsikre deg om hvor og nรฅr containerbaserte applikasjoner kjรธrer og hjelper deg med รฅ finne ressurser og verktรธy du vil jobbe med.
Funksjoner ved Kubernetes
Her er de essensielle Kubernetes-funksjonene:
- Automatisert planlegging
- Selvhelbredende evner
- Automatiserte utrullinger og tilbakerulling
- Horisontal skalering og lastbalansering
- Tilbyr miljรธkonsistens for utvikling, testing og produksjon
- Infrastruktur er lรธst koblet til hver komponent kan fungere som en separat enhet
- Gir en hรธyere tetthet av ressursutnyttelse
- Tilbyr bedriftsklare funksjoner
- Applikasjonssentrisk ledelse
- Auto-skalerbar infrastruktur
- Du kan lage forutsigbar infrastruktur
Grunnleggende om Kubernetes
Nรฅ i denne Kubernetes-opplรฆringen vil vi lรฆre noen viktige grunnleggende om Kubernetes:
Cluster
Det er en samling av verter (servere) som hjelper deg med รฅ samle deres tilgjengelige ressurser. Det inkluderer ram, CPU, ram, disk og deres enheter i en brukbar pool.
Master
Masteren er en samling komponenter som utgjรธr kontrollpanelet til Kubernetes. Disse komponentene brukes for alle klyngebeslutninger. Det inkluderer bรฅde planlegging og respons pรฅ klyngehendelser.
Node
Det er en enkelt vert som er i stand til รฅ kjรธre pรฅ en fysisk eller virtuell maskin. En node skal kjรธre bรฅde kube-proxy, minikube og kubelet som anses som en del av klyngen.
namespace
Det er en logisk klynge eller et logisk miljรธ. Det er en mye brukt metode som brukes til scoping tilgang til eller deling av en klynge.
Kubernetes Architecture
Nedenfor er et detaljert Kubernetes-arkitekturdiagram:

master node
Hovednoden er den fรธrste og mest vitale komponenten som er ansvarlig for administrasjonen av Kubernetes-klyngen. Det er inngangspunktet for alle slags administrative oppgaver. Det kan vรฆre mer enn รฉn hovednode i klyngen for รฅ sjekke for feiltoleranse.
Hovednoden har forskjellige komponenter som API Server, Controller Manager, Scheduler og ETCD. La se dem alle.
API-server: API-serveren fungerer som et inngangspunkt for alle REST-kommandoene som brukes til รฅ kontrollere klyngen.
Scheduler
Planleggeren planlegger oppgavene til slavenoden. Den lagrer informasjon om ressursbruk for hver slavenode. Den er ansvarlig for รฅ fordele arbeidsmengden.
Det hjelper deg ogsรฅ til track hvordan arbeidsbelastningen brukes pรฅ klyngenoder. Det hjelper deg รฅ plassere arbeidsbelastningen pรฅ ressurser som er tilgjengelige og akseptere arbeidsbelastningen.
Etc.
etcd-komponenter lagrer konfigurasjonsdetaljer og wright-verdier. Den kommuniserer med de fleste komponentene for รฅ motta kommandoer og arbeide. Den administrerer ogsรฅ nettverksregler og portvideresendingsaktivitet.
Arbeider-/slavenoder
Arbeidsnoder er en annen viktig komponent som inneholder alle nรธdvendige tjenester for รฅ administrere nettverket mellom containerne, kommunisere med masternoden, som lar deg tilordne ressurser til de planlagte containerne.
- Kubelet: henter konfigurasjonen av en Pod fra API-serveren og sรธrger for at de beskrevne beholderne er oppe og gรฅr.
- Docker-beholder: Docker container kjรธrer pรฅ hver av arbeidernodene, som kjรธrer de konfigurerte podene
- Kube-proxy: Kube-proxy fungerer som en lastbalanserer og nettverksproxy for รฅ utfรธre tjeneste pรฅ en enkelt arbeidernode
- Pods: En pod er en kombinasjon av enkelt eller flere beholdere som logisk kjรธrer sammen pรฅ noder
Andre nรธkkelterminologier
Replikeringskontrollere
En replikeringskontroller er et objekt som definerer en pod-mal. Den kontrollerer ogsรฅ parametere for รฅ skalere identiske kopier av Pod horisontalt ved รฅ รธke eller redusere antall lรธpende kopier.
Replikeringssett
Replikeringssett er en interaksjon pรฅ replikeringskontrollerdesignet med fleksibilitet i hvordan kontrolleren gjenkjenner podene den er ment รฅ administrere. Den erstatter replikeringskontrollere pรฅ grunn av deres hรธyere replikatutvalgsevne.
distribusjoner
Utrulling er en vanlig arbeidsmengde som kan opprettes og administreres direkte. Implementering bruker replikeringssett som en byggestein som legger til funksjonen for livssyklusadministrasjon.
Stateful sett
Det er en spesialisert podkontroll som tilbyr bestilling og unikhet. Den brukes hovedsakelig for รฅ ha finmasket kontroll, som du har et spesielt behov for nรฅr det gjelder distribusjonsrekkefรธlge, stabilt nettverk og vedvarende data.
Demonsett
Daemon-sett er en annen spesialisert form for pod-kontroller som kjรธrer en kopi av en pod pรฅ hver node i klyngen. Denne typen podkontroller er en effektiv metode for รฅ distribuere pods som lar deg utfรธre vedlikehold og tilbyr tjenester for selve nodene.
Kubernetes vs. Docker Swarm
Her er viktige forskjeller mellom Kubernetes vs Docker.
| Parameter | Docker sverm | Kubernetes |
|---|---|---|
| Skalering | Ingen autoskalering | Automatisk skalering |
| Lastbalansering | Gjรธr automatisk lastbalansering | Konfigurer innstillingene for lastbalansering manuelt |
| Deling av lagringsvolum | Deler lagringsvolumer med en hvilken som helst annen beholder | Deler lagringsvolumer mellom flere beholdere inne i samme Pod |
| Bruk av pรฅloggings- og overvรฅkingsverktรธy | Bruk 3rd festverktรธy som ELK | Gi et innebygd verktรธy for logging og overvรฅking. |
| Installasjon | Enkelt og raskt | Komplisert og tidkrevende |
| GUI | GUI ikke tilgjengelig | GUI er tilgjengelig |
| skalerbarhet | Oppskalering er raskere enn K8S, men klyngestyrken er ikke like robust | Oppskalering er treg sammenlignet med Swarm, men garanterer sterkere klyngetilstand Lastbalansering krever manuell tjenestekonfigurasjon |
| Lastbalansering | Gir en innebygd lastbalanseringsteknikk | Prosessplanlegging for รฅ vedlikeholde tjenester mens du oppdaterer |
| Oppdateringer og tilbakefรธringer av datavolum Logging og overvรฅking | Progressive oppdateringer og helseovervรฅking av tjenester. | Kun delt med containere i samme Pod Inbuilt logg- og overvรฅkingsverktรธy. |
Fordeler med Kubernetes
- Enkel organisering av tjenesten med pods
- Den er utviklet av Google, som bringer med seg รฅrelang verdifull bransjeerfaring
- Stรธrste fellesskap blant containerorkestreringsverktรธy
- Tilbyr en rekke lagringsalternativer, inkludert lokale, SAN-er og offentlige skyer
- Overholder prinsippene for uforanderlig infrastruktur
- Kubernetes kan kjรธre bare metall pรฅ stedet, OpenStack, offentlige skyer Google, Azure, AWSOsv
- Hjelper deg med รฅ unngรฅ problemer med leverandรธrlรฅsing, ettersom den kan bruke alle leverandรธrspesifikke API-er eller tjenester, bortsett fra der Kubernetes tilbyr en abstracsjon, f.eks. lastbalanserer og lagring.
- Containerisering ved bruk av kubernetes lar pakkeprogramvare tjene disse mรฅlene. Det vil muliggjรธre applikasjoner som mรฅ utgis og oppdateres uten nedetid.
- Kubernetes lar deg forsikre deg om at de containeriserte applikasjonene kjรธrer hvor og nรฅr du vil, og hjelper deg med รฅ finne ressurser og verktรธy som du vil fungere.
Ulemper med Kubernetes
- Kubenetes dashbord ikke sรฅ nyttig som det burde vรฆre
- Kubernetes er litt komplisert og unรธdvendig i miljรธer der all utvikling skjer lokalt.
- Sikkerhet er ikke sรฆrlig effektivt.
