11 alata koja poboljšavaju Kubernetes

11 alata koja poboljšavaju Kubernetes

Nisu sve server platforme, čak ni one najmoćnije i najskalabilnije, u stanju zadovoljiti sve potrebe onako kako su. Iako Kubernetes funkcionira odlično sam po sebi, možda mu nedostaju ključni dijelovi za potpunost. Uvijek ćete naići na iznimku koja zanemaruje vašu potrebu ili u kojoj Kubernetes neće raditi s postavkama prema zadanim postavkama — na primjer, podrška za baze podataka ili rad CD-a.

Tu nastupaju dodaci, proširenja i drugi dodaci za ovog orkestrator kontejnera, podržani širokom zajednicom. U ovom članku predstavit ćemo 11 najboljih stvari koje smo pronašli. I sami smo u Southbridge oni su izuzetno zanimljivi, i planiramo duboko istražiti — raširiti ih na dijelove i pogledati što je unutra. Neki od njih savršeno će dopuniti svaki Kubernetes cluster, dok će drugi pomoći u rješavanju specifičnih zadataka koji nisu implementirani u standardnoj verziji Kubernetes-a.

Gatekeeper: upravljanje politikama

Projekt Open Policy Agent (OPA) omogućuje stvaranje politika iznad oblaka aplikacijskih pilova u Kubernetesu, počevši od ingresa pa do servisne mreže. Gatekeeper osigurava nativnu mogućnost za Kubernetes da automatski provodi politike u klasteru te pruža provjeru svih događaja ili resursa koji krše politiku. Sve to obrađuje relativno nov mehanizam Kubernetes-a, posrednik za pristup Webhook-ova, koji se aktivira pri promjeni resursa. Uz Gatekeeper, OPA politike postaju još jedan dio stanja vašeg Kubernetes klastera, bez potrebe za stalnim nadzorom.

Gravity: Prijenosivi Kubernetes klasteri

Ako želite implementirati aplikaciju u Kubernetes, mnoge aplikacije imaju Helm chart koji usmjerava i automatizira taj proces. No što ako želite uzeti svoj Kubernetes klaster 'onako kako jest' i postaviti ga negdje drugdje?

Gravity stvara snimke stanja Kubernetes klastera, njihovu registraciju za slike kontejnera, kao i pokrenute aplikacije, nazivajući ih 'paketima aplikacija'. Takav paket, koji predstavlja običnu datoteku .tar, može replicirati klaster svuda gdje Kubernetes može raditi.

Gravity također provjerava ponašanje ciljne infrastrukture u usporedbi s izvorom, kao i dostupnost Kubernetes okruženja na cilju. Plaćena verzija Gravity također dodaje sigurnosne funkcije, uključujući RBAC i mogućnost sinkronizacije sigurnosnih postavki među različitim implementacijama klastera.

Posljednja glavna verzija, Gravity 7, može implementirati Gravity sliku u postojeći Kubernetes klaster, umjesto da se potpuno novi klaster pokrene iz slike. Gravity 7 također može raditi s klasterima instaliranim bez korištenja Gravity slike. Također, Gravity podržava SELinux i izvorno radi s Teleport SSH prolazom.

Kaniko: Izgradnja kontejnera u Kubernetes klasteru

Većina slika kontejnera se gradi na sustavima izvan kontejnerskog stoga. Međutim, ponekad je potrebno izgraditi sliku unutar kontejnerskog stoga, kao što je to slučaj unutar aktivnog kontejnera, ili u Kubernetes klasteru.

Kaniko izvodi izgradnju kontejnera unutar kontejnerskog okruženja, ali bez ovisnosti o usluzi kontejnerizacije, kao što je Docker. Umjesto toga, Kaniko izvlači datotečni sustav iz osnovne slike, izvršava sve naredbe za izgradnju u korisničkom prostoru na izvlačenom datotečnom sustavu, bilježeći stanje datotečnog sustava nakon svake naredbe.

Napomena: Kaniko trenutno (svibanj 2020) ne može graditi Windows kontejnere. nap. prevoditelja) ne može izgraditi Windows kontejnere.

Kubecost: Opcije troškova za pokretanje Kubernetesa

Većina alata za upravljanje Kubernetesom usredotočena je na jednostavnost korištenja, praćenje i razumijevanje ponašanja unutar podova itd. Ali, što je s praćenjem troškova — u kunama i lipama — povezanih s pokretanjem Kubernetesa?

Kubecost obrađuje Kubernetes opcije u stvarnom vremenu, što rezultira prikupljanjem informacija o trenutnim troškovima od pokrenutih klastera glavnih pružatelja oblaka, prikazanih na ploči s mjesečnim troškovima svakog klastera. Troškovi za RAM, CPU, GPU i diskovni sustav su razdvojeni po komponentama Kubernetesa (kontejner, pod, usluga itd.)

Kubecost također prati troškove izvan klastera, kao što su Amazon S3 bucket-i, iako je ograničen na AWS. Podaci o troškovima mogu biti poslani u Prometheus, što omogućuje njihovo korištenje za programsko promjenjivanje ponašanja klastera.

Kubecost je besplatan za korištenje ako vam dovoljni podaci u logovima postoje za 15 dana. Za dodatne funkcije cijene počinju od 199$ mjesečno za praćenje 50 čvorova.

KubeDB: Pokretanje produkcijskih baza podataka u Kubernetesu

Baze podataka također su prilično složene za efektno pokretanje u Kubernetesu. Naći ćete Kubernetes operatore za MySQL, PostgreSQL, MongoDB i Redis, no svi oni imaju svoje nedostatke. Također, standardni set funkcija Kubernetesa ne omogućava izravno rješavanje većine specifičnih problema s bazama podataka.

KubeDB pomaže vam da kreirate svoje Kubernetes operatore za upravljanje bazama podataka. Pokretanje sigurnosnih kopija, kloniranje, praćenje, kreiranje snimaka i deklarativno kreiranje baza su njegove sastavnice. Imajte na umu da podrška funkcija ovisi o bazi podataka. Na primjer, kreiranje klastera radi za PostgreSQL, ali ne i za MySQL (već ima, kako je to ispravno primijećeno dnbstd, nap. prevoditelja).

Kube-monkey: Chaos Monkey za Kubernetes

Najpouzdaniji način stres-testiranja smatraju se slučajne greške. Ova teorija leži u osnovi Chaos Monkey-a iz Netflixa, haotičnog inženjerskog alata koji nasumično isključuje virtualne mašine i kontejnere u produkcijskom okruženju kako bi "potaknuo" programere da kreiraju otpornije sustave. Kube-monkey – implementacija iste osnovne teorije stres-testiranja za Kubernetes klastere. Radi tako da nasumično ubija module u klasteru koje ste odredili, a također se može konfigurirati da radi u određenom vremenskom intervalu.

Kubernetes Ingress Controller za AWS

Kubernetes pruža vanjski balansator opterećenja i mrežne usluge klastera putem usluge nazvane Ingress AWS pruža funkcije za uravnoteženje opterećenja, ali ih ne povezuje automatski s istim mogućnostima Kubernetesa. Kubernetes Ingress Controller za AWS zatvara ovu prazninu.

Automatski upravlja AWS resursima za svaki ingress objekt u klasteru, kreirajući balansatore opterećenja za nove ingress resurse i uklanjajući balansatore prilikom brisanja resursa. Koristi CloudFormation kako bi osigurao da stanje klastera ostane netaknuto. Također podržava postavke CloudWatch Alarm i automatski upravlja drugim elementima koji se koriste u klasteru, kao što su SSL certifikati i EC2 Auto Scaling Groups.

Kubespray: Automatska instalacija Kubernetesa

Kubespray automatizira postavljanje gotovog za industrijsku upotrebu Kubernetes klastera, počevši od instalacije na „hardverskim“ serverima, pa sve do glavnih javnih oblaka. Koristi Ansible (Vagrant - dodatno) za pokretanje implementacije i kreiranje visoko dostupnog klastera od nule s odabranim mrežnim dodatkom (na primjer Flannel, Calico i drugi) na odabranom popularnom Linux distribuciji pri instalaciji na „hardverske“ servere.

Skaffold: Iterativni razvoj za Kubernetes

Skaffold — jedan od alata Google-a, korištenih za organizaciju CD aplikacija u Kubernetesu. Čim napravite promjene u izvornom kodu — skaffold to automatski prepoznaje, pokreće izgradnju i implementaciju, te vas upozorava ako postoji bilo koja greška. Skaffold se pokreće potpuno na strani klijenta, tako da mogu postojati male nijanse s instalacijom ili ažuriranjem. Može se koristiti s postojećim CICD cjevovodima, kao i komunicirati s nekim vanjskim alatima za izgradnju, prvenstveno s Bazel od Google-a.

Teresa: Najjednostavniji PaaS na Kubernetesu

Teresa je sustav za implementaciju aplikacija, koji pokreće najjednostavniji PaaS na vrhu Kubernetes-a. Korisnici, podijeljeni u timove, mogu implementirati i upravljati aplikacijama koje im pripadaju. To malo olakšava rad ljudima koji vjeruju ovoj aplikaciji i ne žele se baviti Kubernetes-om i svim njegovim složenostima.

Tilt: Streamanje ažuriranja kontejnera u klastere Kubernetes

Tilt, razvijen od strane Windmill Engineering-a, prati promjene različitih Dockerfile-ova, a zatim postupno implementira odgovarajuće kontejnere u klaster Kubernetes. U suštini, omogućuje ažuriranje produkcijskog klastera u realnom vremenu jednostavno ažurirajući Dockerfile-ove. Tilt izvršava izgradnju unutar klastera, a izvorni kod — sve što treba promijeniti. Također možete napraviti snimak stanja klastera i zabilježiti uvjete koji aktiviraju greške direktno iz Tilta, kako biste ih podijelili s članovima tima za debagiranje.

P.S. Sve ove alate smo višekratno Southbridge isprobali našim radoznalim rukama. Da predstavimo stvarne prakse već (nadam se!) na offline intenzivima u februaru. Kubernetes Osnovna 8–10 veljače 2021. I Kubernetes Mega 12.–14. veljače. Iskreno, i mi smo se uželjeli tople i energične atmosfere offline učenja. Koliko god da su tehnologije napredne, ne mogu nadomjestiti živu ljudsku komunikaciju i posebnu atmosferu koja nastaje kada se okupe istomišljenici.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster