
Niso vse strežniške platforme, celo najmočnejše in najbolj razširljive, zadovoljijo vse potrebe kot take. Čeprav Kubernetes odlično deluje sam po sebi, mu morda manjkajo potrebni deli za popolnost. Vedno boste naleteli na posebne primere, ki ignorirajo vašo potrebo ali kjer Kubernetes ne bo deloval pri privzeti namestitvi — na primer, podpora za baze podatkov ali delovanje CDN.
Tu se pojavijo dodatki, razširitve in druge zanimivosti za tega orkestratorja vsebnikov, ki jih podpira široka skupnost. V tem članku bo predstavljenih 11 najboljših stvari, ki smo jih našli. Nam samim so zelo zanimive in načrtujemo, da se bomo z njimi spoprijeli praktično — razstavili jih bomo na drobne sestavne dele in si ogledali, kaj je znotraj. Nekatere od njih se odlično dopolnjujejo z vsakim Kubernetes klasterjem, druge pa bodo pomagale rešiti posebne naloge, ki niso realizirane v standardni namestitvi Kubernetes. Gatekeeper: upravljanje politik
(OPA) omogoča ustvarjanje politik nad oblačnimi skladi aplikacij v Kubernetesu, od ingress-a do service mesh-a.
Projekt Gatekeeper Gravity: Prenosni klasterji Kubernetes
Če želite implementirati aplikacijo v Kubernetes, mnoge aplikacije imajo Helm chart, ki usmerja in avtomatizira ta postopek. Ampak, kaj če želite vzeti svoj klaster Kubernetes 'kot je', in ga razširiti nekje drugje?
Gravity
.tar , lahko replikira klaster povsod, kjer lahko deluje Kubernetes., lahko replikira klaster povsod, kjer lahko deluje Kubernetes.
Gravity prav tako preverja, ali se ciljna infrastruktura obnaša enako kot izvorna, ter da je okolje Kubernetes na cilju dostopno. Plačljiva različica Gravity prav tako dodaja varnostne funkcije, vključno z RBAC in možnostjo sinhronizacije varnostnih nastavitev med različnimi namestitvami gruče.
Zadnja glavna različica, Gravity 7, lahko namesti sliko Gravity v obstoječo gruča Kubernetes, namesto da bi namestila popolnoma novo gruča iz slike. Gravity 7 prav tako podpira gruče, ki so nameščene brez uporabe slike Gravity. Poleg tega Gravity podpira SELinux in nativno deluje z ščitnikom Teleport SSH.
Kaniko: Gradnja kontejnerjev v gruči Kubernetes
Večina slik kontejnerjev se gradi na sistemih zunaj kontejnerskega sklada. Včasih pa je treba zgraditi sliko znotraj kontejnerskega sklada, na primer nekje v aktivnem kontejnerju ali v gruči Kubernetes.
izvaja gradnjo kontejnerjev znotraj kontejnerskega okolja, vendar ne potrebuje odvisnosti pri delovanju od storitve kontejnerizacije, kot je Docker. Namesto tega Kaniko pridobi datotečni sistem iz osnovne slike, izvede vse gradbene ukaze v uporabniškem prostoru nad pridobljenim datotečnim sistemom in naredi posnetek datotečnega sistema po vsakem ukazu.
Opomba: Kaniko trenutno (maj 2020) ne more graditi kontejnerjev Windows. translator's note) ne more zbirati kontejnerjev Windows.
Kubecost: Možnosti stroškov zagon Kubernetes
Večina orodij za upravljanje Kubernetes je osredotočena na enostavnost uporabe, spremljanje, razumevanje obnašanja znotraj pod-a itd. Kaj pa s spremljanjem stroškov — v rubljih in kopejkah — povezanih z zagonom Kubernetes?
obdeluje nastavitve Kubernetes v realnem času, kar vodi do informacij o dejanskih stroških iz zagnanih gruč pri glavnih ponudnikih cloud storitev, ki so prikazane na nadzorni plošči z mesečnimi stroški vsake gruče. Cene za pomnilnik, procesorski čas, GPU in diske so razdeljene po komponentah Kubernetes (kontejner, pod, storitev itd.)
Kubecost tudi spremlja stroške zunajgrućnih virov, na primer Amazon S3 buckets, četudi je to omejeno na AWS. Podatki o stroških lahko pridejo v Prometheus, tako da jih lahko uporabite za spreminjanje obnašanja gruče programatsko.
Kubecost je brezplačen za uporabo, če vam zadostujejo podatki v dnevnikih za 15 dni. Za dodatne funkcionalnosti cene začnejo pri 199$ mesečno za monitoring 50 vozlišč.
KubeDB: Zagon produkcijskih podatkovnih baz v Kubernetesu
Zagon podatkovnih baz v Kubernetesu je lahko precej zapleten. Na voljo so Kubernetes operatorji za MySQL, PostgreSQL, MongoDB in Redis, vendar ima vsak od njih svoje slabosti. Prav tako tipičen sklop funkcij Kubernetes ne omogoča neposrednega reševanja večine specifičnih težav s podatkovnimi bazami.
vam pomaga ustvariti svoje Kubernetes operaterje za upravljanje podatkovnih baz. Zagon varnostnih kopij, kloniranje, spremljanje, ustvarjanje posnetkov in deklarativno ustvarjanje baz so njegove sestavine. Upoštevajte, da funkcionalna podpora ni odvisna od podatkovne baze. Na primer, ustvarjanje gruče deluje za PostgreSQL, ne pa za MySQL ( so, kot je pravilno opazil , translator's note).
Kube-monkey: Chaos Monkey za Kubernetes
Najbolj zanesljiv način stresnega testiranja vključuje naključne okvare. Ta teorija je osnova za Chaos Monkey podjetja Netflix, kaotično inženirsko orodje, ki naključno izklaplja virtualne stroje in kontejnerje v proizvodnem okolju, da 'spodbuja' razvijalce k ustvarjanju bolj odpornih sistemov. je implementacija iste osnovne teorije stresnega testiranja za gruče Kubernetes. Deluje tako, da naključno ubija module v gruči, ki jih določite, in ga je mogoče nastaviti, da deluje v določenem časovnem intervalu.
Kubernetes Ingress Controller za AWS
Kubernetes zagotavlja zunanji uravnoteževalnik obremenitve in omrežne storitve gruče preko storitve, imenovane AWS nudi funkcionalnosti uravnoteženja obremenitve, vendar jih ne povezuje samodejno s podobnimi funkcionalnostmi Kubernetes. zapolnjuje to vrzel.
Samodejno upravlja z viri AWS za vsak ingress objekt v gruči, ustvarja uravnoteževalnike obremenitve za nove ingress vire in odstranjuje uravnoteževalnike obremenitve ob odstranitvi virov. Uporablja CloudFormation, da zagotovi celovitost stanja gruče. Prav tako podpira nastavitve opozoril CloudWatch in samodejno upravlja z drugimi elementi, ki se uporabljajo v gruči, kot so SSL certifikati in EC2 Auto Scaling Groups.
Kubespray: Samodejna namestitev Kubernetes
avtomatizira namestitev pripravljenega za industrijsko rabo klustra Kubernetes, ki sega od namestitve na 'kovinskih' strežnikih do glavnih javnih oblakov. Uporablja Ansible (Dodatno Vagrant) za zagon namestitve in ustvarjanje visoko dosegljivega klustra iz nič s svojim izbranim omrežnim dodatkom (npr. Flannel, Calico in drugi) na izbranem priljubljenem Linux distribuciji pri namestitvi na 'kovinske' strežnike.
Skaffold: Iterativni razvoj za Kubernetes
— eden od Google orodij, ki se uporablja za organizacijo CD aplikacij v Kubernetes. Takoj ko naredite spremembe izvorne kode — skafo ld to samodejno zazna, zažene postopek gradnje in namestitve ter vas opozori na morebitne napake. Skaffold deluje v celoti na strani odjemalca, zato lahko pride do manjših težav pri namestitvi ali posodabljanju. Lahko se uporablja z obstoječimi CICD cevovodi in tudi sodeluje z nekaterimi zunanjimi orodji za gradnjo, predvsem z Bazelom od Google.
Teresa: Najpreprostejši PaaS na Kubernetes
je sistem za namestitev aplikacij, ki zažene najpreprostejši PaaS nad Kubernetes. Uporabniki, razdeljeni v tim, lahko namestijo in upravljajo s svojimi aplikacijami. To nekoliko poenostavi delo ljudem, ki zaupajo tej aplikaciji in ne želijo imeti opravka s Kubernetes in vsemi njegovimi zapletenostmi.
Tilt: Toka posodobitve kontejnerjev v klustre Kubernetes
, razvit z Windmill Engineering, spremlja spremembe različnih datotek Dockerfile in nato postopoma namestiti ustrezne kontejnerje v klustru Kubernetes. V bistvu omogoča posodobitev produkcijskega klustra v realnem času preprosto s posodobitvijo datotek Dockerfile. Tilt izvaja gradnjo znotraj klustra, izvorna koda — vse kar je potrebno za spremembo. Lahko ustvarite tudi posnetek stanja klustra in zabeležite pogoje sprožitve napak neposredno iz Tilta, da jih delite s člani ekipe za odpravljanje napak.
P.S. Vsa ta orodja smo večkrat preizkusili z našimi radovednimi rokami. Da bi predstavili resnične prakse že (upam!) na offline intenzivih v februarju. 8–10 februar 2021. In 8–10 februar 2021. I 12–14 februar. Iskreno, mi smo također zaželjeli toplu i energetsku atmosferu offline obuke. Kakve god napredne tehnologije bile, one neće zamijeniti živi ljudski kontakt i posebnu atmosferu kada se okupljaju istomišljenici.
Izvor: habr.com
