11 mjete që e bëjnë Kubernetes më të mirë

11 mjete që e bëjnë Kubernetes më të mirë

Jo të gjitha platformat e serverëve, madje edhe më të fuqishmet dhe më të shkallëzueshmet, i plotësojnë të gjitha nevojat ashtu siç janë. Ndërsa Kubernetes funksionon mirë më vete, mund t'i mungojnë pjesët e duhura për t'u kompletuar. Gjithmonë do të gjeni një rast të veçantë që injoron nevojën tuaj, ose ku Kubernetes nuk do të funksionojë në një instalim të paracaktuar, si p.sh. mbështetja e bazës së të dhënave ose funksionimi i CD-së.

Këtu shfaqen shtesat, shtesat dhe të mirat e tjera për këtë orkestrues të kontejnerëve, të mbështetur nga komuniteti më i gjerë. Në këtë artikull, do të ketë 11 nga gjërat më të mira që kemi gjetur. Ne vetë në Southbridge ato janë shumë interesante dhe ne planifikojmë t'i trajtojmë praktikisht - t'i çmontojmë në vida dhe arra dhe të shohim se çfarë ka brenda. Disa prej tyre do të plotësojnë në mënyrë të përsosur çdo grup Kubernetes, ndërsa të tjerët do të ndihmojnë në zgjidhjen e detyrave të veçanta që nuk zbatohen në shpërndarjen tipike Kubernetes.

Portier: menaxhimi i politikave

Projekt Hap agjentin e politikave (OPA) ofron mundësinë për të krijuar politika në krye të grupeve të aplikacioneve cloud në Kubernetes, nga hyrja në rrjetë shërbimi. portier i jep Kubernetes aftësinë vendase për të zbatuar politikat në grup automatikisht, dhe gjithashtu siguron inspektim për çdo ngjarje ose burim që shkel politikën. E gjithë kjo trajtohet nga mekanizmi relativisht i ri Kubernetes, menaxheri i pranimit në Webhooks, i cili ndizet kur burimet ndryshojnë. Me Gatekeeper, politikat OPA bëhen një pjesë tjetër e gjendjes së grupit tuaj Kubernetes pa pasur nevojë për mbikëqyrje të vazhdueshme.

Graviteti: Grupe portative Kubernetes

Nëse dëshironi të hapni një aplikacion në Kubernetes, shumë aplikacione kanë një tabelë Helm që drejton dhe automatizon këtë proces. Por, çka nëse dëshironi të merrni grupin tuaj Kubernetes "siç është" dhe ta shpërndani diku tjetër?

Gravitet merr fotografi të grupeve të Kubernetes, regjistrin e tyre për imazhet e kontejnerëve, si dhe ekzekutimin e aplikacioneve të quajtura "paketat e aplikacionit". Një paketë e tillë, e cila është një skedar i rregullt .tar, mund të kopjojë grupin kudo ku mund të ekzekutohet Kubernetes.

Gravity kontrollon gjithashtu që infrastruktura e synuar të sillet njësoj si infrastruktura burimore, dhe gjithashtu që mjedisi Kubernetes në objektiv është i disponueshëm. Versioni me pagesë i Gravity shton gjithashtu veçori sigurie, duke përfshirë RBAC dhe aftësinë për të sinkronizuar cilësimet e sigurisë nëpër vendosje të ndryshme të grupimeve.

Publikimi më i fundit i madh, Gravity 7, mund të shtyjë një imazh të Gravity në një grup ekzistues Kubernetes, në vend që të rrotullojë një grup krejtësisht të ri nga imazhi. Gravity 7 gjithashtu mund të punojë me grupe të instaluara pa përdorur imazhin e Gravity. Gravity gjithashtu mbështet SELinux, dhe punon në mënyrë origjinale me portën Teleport SSH.

Kaniko: Ndërtimi i kontejnerëve në një grup Kubernetes

Shumica e imazheve të kontejnerëve janë ndërtuar në sisteme jashtë grumbullit të kontejnerëve. Megjithatë, ndonjëherë ju duhet të ndërtoni imazhin brenda një pirg kontejnerësh, si p.sh. diku në një kontejner të rrjedhshëm ose në një grup Kubernetes.

Kaniko ndërton kontejnerë brenda një mjedisi kontejneri, por pa u varur nga një shërbim kontejnerizimi, siç është Docker. Në vend të kësaj, Kaniko nxjerr sistemin e skedarëve nga imazhi bazë, ekzekuton të gjitha komandat e ndërtimit të hapësirës së përdoruesit në krye të sistemit të skedarëve të nxjerrë, duke marrë një fotografi të sistemit të skedarëve pas çdo komande.

Shënim: Kaniko është aktualisht (maj 2020, përafërsisht. përkthyes) nuk mund të ndërtojë kontejnerë Windows.

Kubecost: Opsionet e kostos së fillimit të Kubernetes

Shumica e mjeteve të administrimit të Kubernetes fokusohen në lehtësinë e përdorimit, monitorimin, të kuptuarit e sjelljes brenda një pod, etj. Por ç'të themi për monitorimin e kostos - në rubla dhe kopekë - të lidhur me lëshimin e Kubernetes?

Kubecost përpunon parametrat e Kubernetes në kohë reale, duke rezultuar në informacione të përditësuara të kostos nga grupet e ekzekutuara në ofruesit kryesorë të cloud, të shfaqura në një panel me kosto mujore për grup. Çmimet për RAM-in, kohën e CPU-së, GPU-në dhe nënsistemin e diskut ndahen sipas komponentëve të Kubernetes (kontejner, pod, shërbim, etj.)

Kubecost gjurmon gjithashtu koston e burimeve jo-grupe siç janë kovat Amazon S3, megjithëse kjo është e kufizuar nga AWS. Të dhënat e kostos mund t'i dërgohen Prometheus kështu që ju mund t'i përdorni për të ndryshuar sjelljen e grupit në mënyrë programore.

Kubecost është falas për t'u përdorur nëse keni të dhëna të mjaftueshme për 15 ditë. Për veçori shtesë, çmimi fillon me 199 dollarë në muaj për monitorimin e 50 nyjeve.

KubeDB: Drejtimi i bazave të të dhënave të betejës në Kubernetes

Bazat e të dhënave janë gjithashtu të vështira për t'u ekzekutuar në mënyrë spektakolare në Kubernetes. Do të gjeni operatorë Kubernetes për MySQL, PostgreSQL, MongoDB dhe Redis, por të gjithë kanë të meta. Gjithashtu, grupi tipik i veçorive Kubernetes nuk adreson drejtpërdrejt shumicën e problemeve të përcaktuara të bazës së të dhënave.

KubeDB ju ndihmon të krijoni deklaratat tuaja Kubernetes për menaxhimin e bazës së të dhënave. Ekzekutimi i kopjeve rezervë, klonimi, monitorimi, fotografitë e çastit dhe krijimi i bazës së të dhënave deklarative janë pjesët përbërëse të tij. Vini re se mbështetja e veçorive varet nga baza e të dhënave. Për shembull, krijimi i një grupi funksionon për PostgreSQL, por jo për MySQL (tashmë ka, siç është theksuar me të drejtë dnbstd, përafërsisht. përkthyes).

Kube-majmun: Majmuni i kaosit për Kubernetes

Metoda më pa gabime e testimit të stresit konsiderohet të jetë zbërthimi i rastësishëm. Kjo teori është në qendër të Chaos Monkey të Netflix, një mjet inxhinierik kaotik që mbyll rastësisht makinat virtuale dhe kontejnerët e mjedisit të prodhimit për të "incentivuar" zhvilluesit për të ndërtuar sisteme më elastike. kube-majmun - Zbatimi i së njëjtës teori bazë të testimit të stresit për grupimet Kubernetes. Ai funksionon duke vrarë në mënyrë të rastësishme modulet në grupin që ju caktoni, dhe gjithashtu mund të vendoset të funksionojë në një interval kohor të caktuar.

Kontrolluesi i hyrjes së Kubernetes për AWS

Kubernetes ofron një balancues të jashtëm të ngarkesës dhe shërbime të rrjetit të grupimeve përmes një shërbimi të quajtur Hyrje AWS ofron veçori të balancimit të ngarkesës, por nuk i bashkon ato automatikisht me të njëjtat veçori të Kubernetes. Kontrolluesi i hyrjes së Kubernetes për AWS e mbyll këtë hendek.

Ai menaxhon automatikisht burimet AWS për çdo hyrje në grup, duke krijuar balancues të ngarkesës për burimet e reja hyrëse dhe duke fshirë balancuesit e ngarkesës kur burimet hiqen. Ai përdor CloudFormation për t'u siguruar që gjendja e grupit të qëndrojë e qëndrueshme. Ai gjithashtu mbështet cilësimet e alarmit të CloudWatch dhe menaxhon automatikisht elementët e tjerë të përdorur në grup, të tilla si certifikatat SSL dhe Grupet e shkallëzimit automatik EC2.

Kubespray: Instalimi automatik i Kubernetes

Kubespray automatizon instalimin e një grupi Kubernetes gati për prodhim, nga instalimi në serverët e harduerit deri te retë kryesore publike. Ai përdor Ansible (Vagrant opsionale) për të nisur vendosjen dhe për të krijuar një grup me disponueshmëri të lartë nga e para me zgjedhjen tuaj të shtesave të rrjetit (si Flannel, Calico, etj.) në zgjedhjen tuaj të shpërndarjes popullore Linux kur instalohet në serverë harduerësh.

Skaffold: Zhvillimi Iterativ për Kubernetes

Skeli - një nga mjetet e Google që përdoret për të organizuar CD-të e aplikacioneve në Kubernetes. Sapo bëni ndryshime në kodin burimor, skaffold e zbulon automatikisht këtë, fillon ndërtimin dhe vendosjen dhe ju paralajmëron nëse ka ndonjë gabim. Skaffold funksionon plotësisht në anën e klientit, kështu që mund të ketë pak nuanca me instalimin ose përditësimin. Mund të përdoret me tubacionet ekzistuese CICD si dhe të ndërveprojë me disa mjete të jashtme ndërtimi, kryesisht Bazel të Google.

Teresa: PaaS më e thjeshtë në Kubernetes

Teresa është një sistem vendosjeje aplikacioni që drejton një PaaS të thjeshtë në krye të Kubernetes. Përdoruesit e grupuar mund të vendosin dhe menaxhojnë aplikacionet e tyre. Kjo i bën gjërat pak më të lehta për njerëzit që i besojnë këtij aplikacioni dhe nuk duan të merren me Kubernetes dhe të gjitha kompleksitetet e tij.

Anim: Transmeto përditësimet e kontejnerëve në grupimet e Kubernetes

Anim, i zhvilluar nga Windmill Engineering, monitoron ndryshimet në Dockerfiles të ndryshëm dhe më pas vendos në mënyrë progresive kontejnerët e duhur në grupin Kubernetes. Në thelb, ju lejon të përditësoni grupin e prodhimit në kohë reale thjesht duke përditësuar Dockerfiles. Tilt ndërtohet brenda grupit, kodi burim është gjithçka që duhet ndryshuar. Ju gjithashtu mund të bëni një fotografi të gjendjes së grupit dhe të kapni kushtet e gabimit direkt nga Tilt për t'i ndarë me anëtarët e ekipit për korrigjimin e gabimeve.

PS Të gjitha këto mjete i kemi në mënyrë të përsëritur Southbridge hetohen me duart tona kureshtare. Për të prezantuar praktikat reale tashmë (shpresojmë!) në intensive offline në shkurt. Baza e Kubernetes 8–10 shkurt 2021. Dhe Kubernetes Mega 12-14 shkurt. Sinqerisht, na ka munguar edhe atmosfera e ngrohtë dhe e ngarkuar me energji e mësimit jashtë linje. Pavarësisht se sa të avancuara janë teknologjitë, ato nuk do të zëvendësojnë komunikimin e drejtpërdrejtë njerëzor dhe një atmosferë të veçantë kur mblidhen njerëz me mendje të njëjtë.

Burimi: www.habr.com

Shto një koment