11 työkalua, jotka tekevät Kubernetesista paremman

11 työkalua, jotka tekevät Kubernetesista paremman

Kaikki palvelinympäristöt, edes tehokkaimmat ja skaalautuvimmat, eivät täytä kaikkia tarpeita sellaisenaan. Vaikka Kubernetes toimii erinomaisesti yksinään, siitä saattaa puuttua oikeat osat ollakseen täydellinen. Löydät aina erikoistapauksen, joka jättää huomioimatta tarpeesi tai jossa Kubernetes ei toimi oletusasennuksessa, kuten tietokantatuki tai CD-toiminto.

Täällä ilmestyvät laajennuksia, laajennuksia ja muita herkkuja tähän konttiorkesteriin, joita tukee laajin yhteisö. Tässä artikkelissa on 11 parasta mitä löysimme. Me itse sisällämme Southbridge ne ovat erittäin mielenkiintoisia, ja aiomme käsitellä niitä käytännössä - purkaa ne ruuveiksi ja muttereiksi ja katsoa mitä sisällä on. Jotkut niistä täydentävät täydellisesti mitä tahansa Kubernetes-klusteria, kun taas toiset auttavat ratkaisemaan tiettyjä tehtäviä, joita ei ole toteutettu tyypillisessä Kubernetes-jakelussa.

Portinvartija: politiikan hallinta

Hanke Open Policy Agent (OPA) tarjoaa mahdollisuuden luoda käytäntöjä Kubernetesin pilvisovelluspinojen päälle tunkeutumisesta palveluverkkoon. portinvartija antaa Kubernetesille alkuperäisen mahdollisuuden pakottaa klusterin käytäntöjä automaattisesti ja tarkastaa myös tapahtumat tai resurssit, jotka rikkovat käytäntöä. Kaiken tämän hoitaa suhteellisen uusi Kubernetes-mekanismi, Webhooks-pääsynhallinta, joka käynnistyy resurssien muuttuessa. Gatekeeperin avulla OPA-käytännöistä tulee toinen osa Kubernetes-klusterisi tilaa ilman jatkuvaa valvontaa.

Painovoima: kannettavat Kubernetes-klusterit

Jos haluat ottaa sovelluksen käyttöön Kubernetesissa, monissa sovelluksissa on Helm-kaavio, joka ohjaa ja automatisoi tätä prosessia. Mutta entä jos haluat ottaa Kubernetes-klusterin "sellaisenaan" ja ottaa sen käyttöön jossain muualla?

Painovoima ottaa tilannekuvia Kubernetes-klustereista, niiden säiliökuvien rekisteristä sekä käynnissä olevista sovelluksista, joita kutsutaan "sovelluspaketteiksi". Tällainen paketti, joka on tavallinen tiedosto .tar, voi replikoida klusterin kaikkialla, missä Kubernetes voi suorittaa.

Gravity tarkistaa myös, että kohdeinfrastruktuuri toimii samalla tavalla kuin lähdeinfrastruktuuri, ja myös sen, että kohteen Kubernetes-ympäristö on käytettävissä. Gravitityn maksullinen versio lisää myös suojausominaisuuksia, kuten RBAC:n ja mahdollisuuden synkronoida suojausasetuksia eri klusterikäyttöön.

Uusin suuri julkaisu, Gravity 7, voi työntää Gravity-kuvan olemassa olevaan Kubernetes-klusteriin sen sijaan, että kehrättäisi kuvasta kokonaan uuden klusterin. Gravity 7 voi toimia myös klustereiden kanssa, jotka on asennettu ilman Gravity-kuvaa. Gravity tukee myös SELinuxia ja toimii natiivisti Teleport SSH -yhdyskäytävän kanssa.

Kaniko: Konttien rakentaminen Kubernetes-klusteriin

Useimmat säilökuvat on rakennettu konttipinon ulkopuolisiin järjestelmiin. Joskus sinun on kuitenkin rakennettava kuva säilöpinon sisään, kuten jonnekin käynnissä olevaan säilöön tai Kubernetes-klusteriin.

Kaniko rakentaa kontteja konttiympäristön sisällä, mutta riippumatta konttipalvelusta, kuten Dockerista. Sen sijaan Kaniko purkaa tiedostojärjestelmän peruskuvasta, suorittaa kaikki käyttäjätilan rakentamiskomennot puretun tiedostojärjestelmän päälle ja ottaa tilannekuvan tiedostojärjestelmästä jokaisen komennon jälkeen.

Huomautus: Kaniko on tällä hetkellä (toukokuu 2020, noin kääntäjä) ei voi rakentaa Windows-säilöjä.

Kubecost: Kubernetesin käynnistyskustannusvaihtoehdot

Useimmat Kubernetes-hallintatyökalut keskittyvät helppokäyttöisyyteen, seurantaan, podin sisäisen toiminnan ymmärtämiseen ja niin edelleen. Mutta entä Kubernetesin käynnistämiseen liittyvien kustannusten - ruplissa ja kopeikoissa - seuranta?

Kubecost prosessoi Kubernetes-parametreja reaaliajassa, mikä johtaa ajantasaisiin kustannustietoihin suurten pilvipalveluntarjoajien klustereista, jotka näytetään paneelissa, jossa on kuukausittaiset klusterikohtaiset kustannukset. RAM-muistin, suorittimen ajan, grafiikkasuorittimen ja levyalijärjestelmän hinnat on eritelty Kubernetes-komponenttien mukaan (säilö, pod, palvelu jne.)

Kubecost seuraa myös muiden kuin klusteriresurssien, kuten Amazon S3 -ämppien, kustannuksia, vaikka AWS rajoittaa tätä. Kustannustiedot voidaan lähettää Prometheukselle, jotta voit muuttaa niiden avulla klusterin toimintaa ohjelmallisesti.

Kubecostin käyttö on ilmaista, jos sinulla on tarpeeksi 15 päivän lokitietoja. Lisäominaisuuksien hinnoittelu alkaa 199 dollarista kuukaudessa 50 solmun valvonnasta.

KubeDB: Taistelutietokantojen suorittaminen Kubernetesissa

Tietokantoja on myös vaikea ajaa näyttävästi Kubernetesissa. Löydät Kubernetes-operaattoreita MySQL:lle, PostgreSQL:lle, MongoDB:lle ja Redikselle, mutta niillä kaikilla on haittoja. Tyypillinen Kubernetes-ominaisuusjoukko ei myöskään ratkaise suoraan useimpia määritellyistä tietokantaongelmista.

KubeDB auttaa sinua luomaan Kubernetes-lauseita tietokannan hallintaa varten. Varmuuskopioiden suorittaminen, kloonaus, seuranta, tilannevedokset ja deklaratiivinen tietokannan luominen ovat sen osia. Huomaa, että toimintojen tuki on tietokannasta riippuvaista. Esimerkiksi klusterin luominen toimii PostgreSQL:lle, mutta ei MySQL:lle (jo on, kuten aivan oikein huomautettiin dnbstd, noin kääntäjä).

Kube-apina: Chaos Monkey Kubernetesille

Virheittäisimpänä stressitestauksen menetelmänä pidetään satunnaisia ​​rikkoutumisia. Tämä teoria on Netflixin Chaos Monkeyn ytimessä, kaoottisessa suunnittelutyökalussa, joka sammuttaa satunnaisesti virtuaalikoneet ja tuotantoympäristön säiliöt "kannustaakseen" kehittäjiä rakentamaan kestävämpiä järjestelmiä. kube-apina - saman stressitestauksen perusteorian käyttöönotto Kubernetes-klustereille. Se toimii tappamalla satunnaisesti määrittämäsi klusterin moduuleja, ja se voidaan myös asettaa toimimaan tietyllä aikavälillä.

Kubernetes Ingress Controller AWS:lle

Kubernetes tarjoaa ulkoisen kuormituksen tasaajan ja klusteriverkkopalvelut palvelun kautta Sisääntulo AWS tarjoaa kuormituksen tasapainotusominaisuuksia, mutta ei niputa niitä automaattisesti samoihin Kubernetes-ominaisuuksiin. Kubernetes Ingress Controller AWS:lle sulkee tämän aukon.

Se hallitsee automaattisesti AWS-resursseja klusterin jokaiselle sisääntulolle, luo kuormituksen tasaajia uusille sisääntuloresursseille ja poistaa kuormantasaajat, kun resurssit poistetaan. Se käyttää CloudFormationia varmistaakseen, että klusterin tila pysyy yhtenäisenä. Se tukee myös CloudWatch Alarm -asetuksia ja hallitsee automaattisesti muita klusterissa käytettyjä elementtejä, kuten SSL-varmenteita ja EC2 Auto Scaling Groups.

Kubespray: Kubernetesin automaattinen asennus

Kubespray automatisoi tuotantovalmiin Kubernetes-klusterin asennuksen laitteistopalvelimille asennuksesta suuriin julkisiin pilviin. Se käyttää Ansiblea (vagrant valinnainen) käynnistääkseen käyttöönoton ja luodakseen korkean käytettävyyden klusterin alusta alkaen valitsemillasi verkkolisäosilla (kuten Flannel, Calico jne.) valitsemassasi suositussa Linux-jakelussa, kun se on asennettu laitteistopalvelimille.

Skaffold: Iterative Development for Kubernetes

Scaffold - yksi Googlen työkaluista, joita käytetään sovellus-CD-levyjen järjestämiseen Kubernetesissa. Heti kun teet muutoksia lähdekoodiin, skaffold havaitsee tämän automaattisesti, alkaa rakentaa ja ottaa käyttöön ja varoittaa virheistä. Skaffold toimii täysin asiakaspuolella, joten asennuksessa tai päivityksessä voi olla pieniä vivahteita. Sitä voidaan käyttää olemassa olevien CICD-putkien kanssa sekä olla vuorovaikutuksessa joidenkin ulkoisten rakennustyökalujen, pääasiassa Googlen Bazelin, kanssa.

Teresa: Kubernetesin yksinkertaisin PaaS

Teresa on sovellusten käyttöönottojärjestelmä, joka käyttää yksinkertaista PaaS:ää Kubernetesin päällä. Tiimikäyttäjät voivat ottaa käyttöön ja hallita omia sovelluksiaan. Tämä tekee asioista hieman helpompaa ihmisille, jotka luottavat tähän sovellukseen eivätkä halua käsitellä Kubernetesia ja sen monimutkaisuutta.

Kallistus: Suoratoista säilöpäivityksiä Kubernetes-klustereihin

KallistaaWindmill Engineeringin kehittämä, tarkkailee muutoksia eri Docker-tiedostoihin ja ottaa sitten asteittain käyttöön asianmukaiset säilöt Kubernetes-klusteriin. Pohjimmiltaan sen avulla voit päivittää tuotantoklusterin reaaliajassa yksinkertaisesti päivittämällä Docker-tiedostoja. Tilt rakentuu klusterin sisälle, lähdekoodi on vain muutettava. Voit myös ottaa tilannekuvan klusterin tilasta ja kaapata virheolosuhteet suoraan Tiltistä jakaaksesi ne tiimin jäsenten kanssa virheenkorjausta varten.

PS Kaikki nämä työkalut, joita olemme käyttäneet toistuvasti Southbridge tutkittiin uteliailla käsillämme. Esittelemään todellisia käytäntöjä jo (toivottavasti!) offline-intensiivisissä helmikuussa. Kubernetesin tukikohta 8.–10. helmikuuta 2021. Ja Kubernetes Mega helmikuuta 12-14. Rehellisesti sanottuna ikävöimme myös offline-oppimisen lämmintä ja energisesti ladattua ilmapiiriä. Vaikka teknologiat ovat kuinka kehittyneitä, ne eivät korvaa elävää ihmisten välistä viestintää ja erityistä ilmapiiriä samanmielisten kokoontuessa.

Lähde: will.com

Lisää kommentti