Kubernetes opetusohjelma aloittelijoille

⚡ Älykäs yhteenveto

Kubernetes on avoimen lähdekoodin kontinhallintajärjestelmä, jonka on kehittänyt Google joka automatisoi konttisovellusten käyttöönoton, skaalauksen ja käytön fyysisten, virtuaalisten ja pilvipalvelimien klustereissa, tarjoten itsekorjaavia ominaisuuksia, automatisoituja käyttöönottoja, kuormituksen tasapainotusta ja yhdenmukaisia ​​ympäristöjä sovellusten luotettavaa toimitusta varten.

  • ☸️ Kubernetes määriteltynä: Avoimen lähdekoodin kontinhallintajärjestelmä Google klusteroituja sovelluksia varten.
  • 📦 Miksi kontit: Kontit sisältävät kaiken, mitä sovellus tarvitsee, mahdollistaen päivitykset ja ylläpidon ilman käyttökatkoksia.
  • ⚙️ Tärkeimmät ominaisuudet: Automaattinen aikataulutus, itsekorjaus, käyttöönotot/palautukset, vaakasuora skaalaus ja kuormituksen tasapainotus.
  • 🧱 Ydinkomponentit: Cluster, pääsolmu (API-palvelin, ajoitus jne.), työsolmut ja podit.
  • 🆚 vs. Docker Swarm: Kubernetes tarjoaa automaattisen skaalauksen ja sisäänrakennetun valvonnan; Swarm on yksinkertaisempi ja nopeampi asentaa.
  • ✅ Edut ja haitat: Toimii missä tahansa pilvessä, jossa on suuri yhteisö, mutta sillä on monimutkainen kojelauta ja asennus.

Kubernetes opetusohjelma aloittelijoille

Ennen kuin aloitamme tämän Kubernetes-opetusohjelman, opimme:

Mikä on Kubernetes?

Kubernetes on kontinhallintajärjestelmä, joka on kehitetty Google alusta. Kubernetes auttaa hallitsemaan konttisovelluksia erilaisissa fyysisissä, virtuaalisissa ja pilviympäristöissä. Google Kubernetes on erittäin joustava säilötyökalu, joka mahdollistaa monimutkaisten sovellusten johdonmukaisen toimittamisen satojen tai tuhansien yksittäisten palvelimien klustereissa.

Miksi tarvitset kontteja?

Nykypäivän internetin käyttäjä ei koskaan hyväksy seisokkeja. Siksi kehittäjien on löydettävä tapa suorittaa ylläpito ja päivitys keskeyttämättä palveluitaan.

Siksi säiliö on eristetty ympäristö. Se sisältää kaiken tarvittavan sovelluksen toimintaan. Sen avulla kehittäjän on helppo muokata ja ottaa sovelluksia käyttöön. Lisäksi säiliöstä on tullut suosituin menetelmä verkkosovellusten pakkaamiseen, käyttöönottoon ja päivittämiseen.

Mitä tehtäviä Kubernetes suorittaa?

Kubernetes on Linux-ydin, jota käytetään hajautetuissa järjestelmissä. Se auttaa sinua olemaan abstracsolmujen (palvelimien) taustalla olevaa laitteistoa ja tarjoaa yhtenäisen rajapinnan sovelluksille, jotka käyttävät jaettua resurssipoolia.

Miksi käyttää Kubernetesia?

Kubernetes auttaa hallitsemaan pilvisovellusten ja mikropalvelujen resurssien allokointia ja liikenteen hallintaa. Se auttaa myös yksinkertaistamaan palvelukeskeisen infrastruktuurin eri puolia. Kubernetesin avulla voit varmistaa, missä ja milloin säilötyt sovellukset toimivat, ja auttaa sinua löytämään resursseja ja työkaluja, joiden kanssa haluat työskennellä.

Kubernetesin ominaisuudet

Tässä ovat Kubernetesin keskeiset ominaisuudet:

  • Automaattinen ajoitus
  • Itseparantumisominaisuudet
  • Automaattiset julkaisut ja palautukset
  • Vaakasuora skaalaus ja kuormituksen tasapainotus
  • Tarjoaa ympäristön johdonmukaisuuden kehitystä, testausta ja tuotantoa varten
  • Infrastruktuuri on löyhästi kytketty jokaiseen komponenttiin voi toimia erillisenä yksikkönä
  • Tarjoaa suuremman resurssien käytön tiheyden
  • Tarjoaa yritysvalmiita ominaisuuksia
  • Sovelluskeskeinen hallinta
  • Automaattisesti skaalautuva infrastruktuuri
  • Voit luoda ennakoitavan infrastruktuurin

Kubernetesin perusteet

Nyt tässä Kubernetes-opetusohjelmassa opimme joitain tärkeitä Kubernetesin perusteita:

Cluster

Se on kokoelma isäntiä (palvelimia), joka auttaa sinua yhdistämään niiden käytettävissä olevat resurssit. Se sisältää RAM-muistin, suorittimen, RAM-muistin, levyn ja niiden laitteet käyttökelpoiseen pooliin.

Master

Master on kokoelma komponentteja, jotka muodostavat Kubernetesin ohjauspaneelin. Näitä komponentteja käytetään kaikissa klusteripäätöksissä. Se sisältää sekä ajoituksen että vastaamisen klusteritapahtumiin.

Solmu

Se on yksi isäntä, joka pystyy toimimaan fyysisellä tai virtuaalikone. Solmun tulee suorittaa sekä kube-proxy, minikube että kubelet, joita pidetään klusterin osana.

nimiavaruus

Se on looginen klusteri tai ympäristö. Se on laajalti käytetty menetelmä, jota käytetään sco:ssa.ping klusterin käyttö tai jakaminen.

Kubernetes Archirakenne

Alla on yksityiskohtainen Kubernetes-arkkitehtuurikaavio:

Kubernetes Architecture Kaavio
Kubernetes Architecture Kaavio

Master-solmu

Pääsolmu on ensimmäinen ja elintärkein komponentti, joka vastaa Kubernetes-klusterin hallinnasta. Se on lähtöpiste kaikenlaisille hallinnollisille tehtäville. Klusterissa voi olla useampi kuin yksi pääsolmu vikasietoisuuden tarkistamiseksi.

Pääsolmussa on useita komponentteja, kuten API-palvelin, ohjaimen hallinta, ajoitus ja ETCD. Katsotaanpa niitä kaikkia.

API-palvelin: API-palvelin toimii syöttöpisteenä kaikille REST-komentoille, joita käytetään klusterin ohjaamiseen.

Scheduler

Ajastin ajoittaa tehtävät orjasolmulle. Se tallentaa jokaisen orjasolmun resurssien käyttötiedot. Se vastaa työtaakan jakamisesta.

Se auttaa myös sinua track miten klusterisolmujen työkuormaa käytetään. Se auttaa sinua kohdistamaan työkuorman käytettävissä oleviin resursseihin, jotka hyväksyvät työkuorman.

jne

etcd-komponentit tallentavat määritystiedot ja wright-arvot. Se kommunikoi useimpien komponenttien kanssa vastaanottaakseen komentoja ja toimiakseen. Se hallitsee myös verkkosääntöjä ja portin edelleenlähetystoimintaa.

Työntekijä-/orjasolmut

Työntekijäsolmut ovat toinen olennainen komponentti, joka sisältää kaikki tarvittavat palvelut säilöjen välisen verkottumisen hallintaan, kommunikointiin pääsolmun kanssa, jonka avulla voit määrittää resursseja ajoitetuille säilöille.

  • Kubelet: hakee Pod-kokoonpanon API-palvelimelta ja varmistaa, että kuvatut säilöt ovat käytössä.
  • Docker-säiliö: Satamatyöläinen säilö toimii kussakin työntekijäsolmussa, joka suorittaa määritetyt podit
  • Kube-välityspalvelin: Kube-välityspalvelin toimii kuormituksen tasaajana ja verkon välityspalvelimena palvelun suorittamiseksi yksittäisessä työntekijäsolmussa
  • Podit: Pod on yhdistelmä yksittäisiä tai useita säiliöitä, jotka loogisesti kulkevat yhdessä solmuissa

Muut keskeiset terminologiat

Replikoinnin ohjaimet

Replikointiohjain on objekti, joka määrittää pod-mallin. Se myös ohjaa parametreja identtisten Pod-kopioiden skaalaamiseksi vaakasuunnassa lisäämällä tai vähentämällä käynnissä olevien kopioiden määrää.

Replikointisarjat

Replikointijoukot ovat vuorovaikutus replikointiohjaimen suunnittelussa, jossa on joustavuutta siinä, kuinka ohjain tunnistaa ryhmät, joita sen on tarkoitus hallita. Se korvaa replikointiohjaimet niiden paremman replikointivalinnan ansiosta.

käyttöönottoja

Käyttöönotto on yleinen työtaakka, joka voidaan luoda ja hallita suoraan. Käyttöönotto käyttää replikointijoukkoa rakennuspalikkana, joka lisää elinkaarihallinnan ominaisuuden.

Tilalliset joukot

Se on erikoistunut pod-ohjain, joka tarjoaa järjestystä ja ainutlaatuisuutta. Sitä käytetään pääasiassa hienorakeiseen hallintaan, jota tarvitset erityisesti käyttöönottojärjestyksen, vakaan verkottumisen ja pysyvien tietojen suhteen.

Daemon-sarjat

Daemon-sarjat ovat toinen pod-ohjaimen erikoistunut muoto, joka suorittaa podin kopion jokaisessa klusterin solmussa. Tämäntyyppinen pod-ohjain on tehokas tapa ottaa käyttöön podeja, jonka avulla voit suorittaa ylläpitoa ja tarjota palveluja itse solmuille.

Kubernetes vs. Docker Swarm

Tässä on tärkeitä eroja Kubernetes vs Docker.

Parametri Docker-parvi Kubernetes
Skaalaus Ei automaattista skaalausta Automaattinen skaalaus
Kuormituksen tasapainoittaminen Tekee automaattisen kuorman tasauksen Määritä kuormituksen tasapainotusasetukset manuaalisesti
Tallennustilan jakaminen Jakaa tallennustilavuudet minkä tahansa muun kontin kanssa Jakaa tallennustilavuudet useiden saman kotelon sisällä olevien säiliöiden kesken
Kirjautumis- ja seurantatyökalun käyttö Käytä 3iard juhlatyökalu, kuten ELK Tarjoa sisäänrakennettu työkalu kirjaamiseen ja seurantaan.
Asennus Helppoa & nopeaa Monimutkaista ja aikaa vievää
GUI GUI ei ole saatavilla GUI on saatavilla
skaalautuvuus Skaalaus on nopeampaa kuin K8S, mutta klusterin vahvuus ei ole yhtä vahva Skaalaus on hidasta Swarmiin verrattuna, mutta takaa vahvemman klusterin tilan Kuormituksen tasapainotus vaatii manuaalisen huoltomäärityksen
Kuormituksen tasapainoittaminen Tarjoaa sisäänrakennetun kuormituksen tasaustekniikan Prosessin ajoitus palvelujen ylläpitämiseksi päivityksen aikana
Päivitykset ja palautukset Tietomäärien kirjaaminen ja seuranta Progressiiviset päivitykset ja palvelun kunnon seuranta. Jaettu vain saman Podin sisäänrakennettujen loki- ja seurantatyökalujen säiliöiden kanssa.

Kubernetesin edut

  • Helppo palvelun organisointi pussien avulla
  • Sen on kehittänyt Google, jotka tuovat mukanaan vuosien arvokasta kokemusta alalta
  • Suurin yhteisö kontin orkestrointityökalujen joukossa
  • Tarjoaa erilaisia ​​tallennusvaihtoehtoja, mukaan lukien paikalliset, SAN-verkot ja julkiset pilvet
  • Noudattaa muuttumattoman infrastruktuurin periaatteita
  • Kubernetes voi käyttää paikan päällä paljasmetallia, OpenStackia ja julkisia pilviä Google, Azure, AWS, Jne
  • Auttaa välttämään toimittajan lukitusongelmia, koska se voi käyttää mitä tahansa toimittajakohtaisia ​​API-rajapintoja tai palveluita, paitsi jos Kubernetes tarjoaa lukitusmahdollisuuden.tractio, esim. kuormituksen tasaaja ja tallennustila.
  • Säiliöinti kubernetesin avulla mahdollistaa pakettiohjelmiston palvelevan näitä tavoitteita. Se mahdollistaa sovellukset, jotka on julkaistava ja päivitettävä ilman seisokkeja.
  • Kubernetes antaa sinun varmistaa, että konttisovellukset toimivat missä ja milloin haluat, ja auttaa sinua löytämään resursseja ja työkaluja, joita haluat työskennellä.

Kubernetesin haitat

  • Kubenetes-kojelauta ei ole niin hyödyllinen kuin sen pitäisi olla
  • Kubernetes on hieman monimutkainen ja tarpeeton ympäristöissä, joissa kaikki kehitys tehdään paikallisesti.
  • Turvallisuus ei ole kovin tehokasta.

UKK

Pod on Kubernetesin pienin käyttöönotettava yksikkö. Se ryhmittelee yhden tai useamman säilön, jotka jakavat tallennustilaa, verkkoa ja suoritustavan määrityksen, ja ne on ajoitettu yhdessä solmulle.

Docker on konttien ajonaikainen ympäristö, joka rakentaa ja suorittaa kontteja, kun taas Kubernetes on orkestrointijärjestelmä, joka hallitsee, skaalaa ja aikatauluttaa kontteja klustereiden välillä. Niitä käytetään usein yhdessä.

Kyllä. Kubernetes on avoimen lähdekoodin ja ilmainen Apache 2.0 -lisenssillä. Sen käyttäminen hallituissa pilvipalveluissa, kuten GKE, EKS tai AKS, voi kuitenkin aiheuttaa infrastruktuuri- ja palvelukustannuksia.

Tekoäly auttaa Kubernetesia ennustamalla resurssitarpeita, skaalaamalla työkuormia automaattisesti, havaitsemalla poikkeamia ja optimoimalla aikataulutusta. AIOps-työkalut analysoivat klusterin mittareita ja lokeja parantaakseen luotettavuutta ja vähentääkseen manuaalisia toimintoja.

Kyllä. Tekoälyavustajat voivat luoda YAML-manifesteja, vianmäärittää virheellisiä podeja, suositella oikeaa kokoa ja selittää klusteritapahtumia.ping tiimit käyttävät Kubernetesia tehokkaammin vähemmällä manuaalisella työllä.

Tiivistä tämä viesti seuraavasti: