
Kaugelt ei vasta kõik serveriplatvormid, isegi kõige võimsamad ja skaleeritavamad, kõigile vajadustele. Kuigi Kubernetes töötab suurepäraselt iseenda peal, võib puududa vajalikud osad täiuslikkuse saavutamiseks. Sa alati leiad erandliku juhtumi, mis ignoreerib sinu vajadust, või kus Kubernetes vaikimisi installimisel ei tööta, näiteks andmebaaside tugi või CD tööprotsess.
Siit tulevad lisandmoodulid, laiendused ja muud nipid sellele konteinerite orkestratorile, mille toetab laialdane kogukond. Antud artiklis tutvustame 11 parimat leid, mis on meie arvates väärt avastamist. Need on väga huvitavad, ja me kavatseme nendega praktiliselt tegeleda — lahti võtta ja vaadata, mis sees on. Osa neist täiendab suurepäraselt igat Kubernetes klastrit, teised aga aitavad lahendada konkreetseid probleeme, mis ei ole tavalises Kubernetes paigalduses realiseeritud.
Gatekeeper: poliitikate haldamine
Projekt (OPA) võimaldab luua poliitikaid pilve rakenduste hunnikute üle Kubernetes, alates ingressist kuni teenuste omavahelise side mesh'ini. pärineb Kubernetes'e natiivsetest võimalustest, et automaatselt rakendada poliitikaid klastris ning kontrollida kõiki sündmusi või ressursse, mis poliitikat rikuvad. Kõike seda haldab suhteliselt uus Kubernetes'e mehhanism, Webhook'i juurdepääsude haldaja, mis aktiveerub, kui ressursse muudetakse. Gatekeeperi abil muutuvad OPA poliitikad teie Kubernetes'e klastris veel üheks seisundi osaks, ilma pideva järelevalveta.
Gravity: Ülekandeklastrid Kubernetes'e jaoks
Kui soovite rakendust Kubernetes'e kaudu käivitada, omavad paljud rakendused Helm chart'i, mis suunab ja automatiseerib selle protsessi. Aga mis siis, kui soovite võtta oma Kubernetes'e klastrit sellisena, nagu see on, ning jagada seda kuskil mujal?
teeb Kubernetes'e klastrite, nende konteineripiltide registrite ning käivitatud rakenduste, mida kutsutakse 'rakenduste pakettideks', oleku snapshot'e. Tüüpiline fail .tar, võib kloonida klastrit igas kohas, kus Kubernetes töötab.
Gravity kontrollib ka, et sihtinfrastruktuur käitub sama moodi nagu algne ning et Kubernetes'i keskkond sihtkohas on saadaval. Gravity tasuline versioon lisab ka turvafunktsioone, sealhulgas RBAC ja võimaluse sünkroonida turvaseadeid erinevate klastrite juurutuste vahel.
Viimane peamine versioon, Gravity 7, suudab kasutada Gravity pilti olemasolevas Kubernetes'i klastris, selle asemel et juurutada täiesti uut klastri pildilt. Gravity 7 toetab ka klastreid, mis on installitud ilma Gravity pilti kasutamata. Gravity toetab ka SELinux'i ning töötab natiivselt Teleport SSH väravatega.
Kaniko: konteinerite ehitamine Kubernetes'i klastris
Enamik konteineri pilte ehitatakse väljaspool konteinerite virna. Kuid mõnikord on vaja ehitada pilt konteinerite virna sees, näiteks kuskil töötavas konteineris või Kubernetes'i klastris.
koostab konteinerite sees konteinerikeskkonnas, kuid ei sõltu konteineriteenuse nagu Docker toimimisest. Selle asemel ekstraktib Kaniko failisüsteemi baaspildist, täidab kõik ehituskommandod kasutajaruumi kohal ekstraktitud failisüsteemi peal, tehes failisüsteemist snapshot'i pärast iga käsku.
Märkus: Kaniko ei suuda praegu (mai 2020) koguda Windows konteinerite. tõlkija märk.) ei saa koguda Windows konteinerite.
Kubecost: Kubernetes käitamise kulude parameetrid
Enamik Kubernetes haldustööriistu on suunatud kasutusmugavusele, jälgimisele, pod'i käitumise mõistmisele jne. Aga kuidas jälgida Kubernetes'i käitamisega seotud kulusid — rublades ja kopeerides?
töötleb Kubernetes'i parameetreid reaalajas, mis toob kaasa teavet jooksnud klastrite aktuaalsete kulude kohta peamistelt pilveteenuse pakkujatelt, mis kuvatakse paneelil iga klastrite kuukulud. Mälu, CPU, GPU ja ketasüsteemi hinnad on jaotatud Kubernetes'i komponentide (konteiner, pod, teenus jne) järgi.
Kubecost jälgib ka klastriväliste ressursside, näiteks Amazon S3 mahutite kulusid, kuigi see on piiratud AWS-iga. Kuluteave saab saata Prometheusesse, nii et saate seda kasutada klastrikäitumise programmeerimiseks.
Kubecost on tasuta kasutada, kui Teile piisab 15 päeva logide andmetest. Täiendavate funktsioonide hinnad algavad 199$ kuus 50 sõlme jälgimise eest.
KubeDB: Operatiivsete andmebaaside käitamine Kuberneteses
Andmebaase on Kuberneteses ka üsna keeruline efektiivselt käivitada. Leiate Kubernetesel töötlijad MySQL, PostgreSQL, MongoDB ja Redis jaoks, kuid kõigil neil on puudusi. Samuti ei suuda Kubernetes tavaline funktsioonikomplekt lahendada enamiku konkreetsete andmebaasiprobleemide jaoks.
aitab Teil luua oma Kubernetes’e töötlijaid andmebaaside haldamiseks. Varunduse, kloonimise, jälgimise, hetkepiltide tegemise ja deklaratiivsete andmebaaside loomise käivitamine on selle koostisosad. Pange tähele, et funktsioonide tugi sõltub andmebaasist. Näiteks klastrite loomine töötab PostgreSQL-i jaoks, kuid mitte MySQL-i jaoks ( on, nagu õigesti tähele pandud , tõlkija märk.).
Kube-monkey: Chaos Monkey Kubernetes’e jaoks
Kõige usaldusväärsem meetod koormustestimiseks on juhuslikud rikkeid. See teooria on aluseks Netflixi Chaos Monkey'ile, juhuslikule inseneritööriistale, mis juhuslikult seiskab virtuaalmasinad ja konteinerid tootmiskeskkonnas, et "stimulaarida" arendajaid looma vastupidavamaid süsteeme. — selle sama põhiteooria rakendus koormustestimiseks Kubernetes'i klastrites. See töötab, hävitades teie määratud klastris juhuslikult mooduleid ja võib samuti olla konfigureeritud töötama teatud aja jooksul.
Kubernetes Ingress Controller AWS-ile
Kubernetes pakub välist koormuse tasakaalustajat ja võrgu teenuseid klastri kaudu teenuse, mida nimetatakse AWS pakub koormuse tasakaalustamise funktsioone, kuid ei seosta neid automaatselt Kubernetes'i sarnaste võimalustega. katab selle lõhe.
Ta automatiseerib AWS-i ressursside haldamist igas ingress-objektis klastris, luues uutele ingress-resurssidele koormusebalansereid ja eemaldades neid ressursside kustutamisel. Ta kasutab CloudFormation'i, et tagada klastriseisundi terviklikkus. Ta haldab ka CloudWatch Alarm seadistusi ja teisi klastris kasutatavaid elemente, nagu SSL-sertifikaadid ja EC2 Auto Scaling Groups.
Kubespray: Kubernetes'i automaatne installeerimine
automaatne tööstuslikult kasutusvalmis Kubernetes'i klastrite installeerimine, alates installeerimisest "metallservade" serveritesse kuni peamiste avalike pilvedeni. Ta kasutab Ansible'i (Vagrant — lisana) juurutuse teostamiseks ja kõrge kättesaadavusega klastrite loomiseks nullist, valitud võrgu laiendusega (nt Flannel, Calico jne) valitud populaarses Linuxi jaotuses metallserveritesse installeerimisel.
Skaffold: Iteratiivne arendus Kubernetes'e jaoks
— üks Google'i tööriistu, mida kasutatakse CD rakenduste korraldamiseks Kubernetes'is. Niipea kui teete muudatusi lähtekoodis, tuvastab skaffold selle automaatselt, käivitab koostamise ja juurutamise ning hoiatab teid, kui esineb vigu. Skaffold töötatakse täielikult kliendipoolsetena, seega võivad esineda väikesed nüansid installimisel või värskendamisel. Seda saab kasutada olemasolevate CICD voogudega ja see võib samuti suhelda mitmete väliste koostamisriistadega, peamiselt Google'i Bazeliga.
Teresa: Lihtsaim PaaS Kubernetes'is
see on rakenduste juurutamise süsteem, mis käivitab lihtsaimat PaaS'i Kubernetes'i peal. Kasutajad, kes on jagatud meeskondadesse, saavad hallata ja juurutada oma rakendusi. See lihtsustab natuke tööprotsessi inimestele, kes usaldavad seda rakendust ja ei soovi tegeleda Kubernetes'i ja selle keerukustega.
Tilt: Reaalajas konteinerite värskenduste edastamine Kubernetes'i klastritesse
, mis loodud Windmill Engineering, jälgib erinevaid Dockerfile failide muutusi ning järk-järgult juurutab vastavad konteinerid Kubernetes klastris. Sisuliselt võimaldab see reaalajas tootmisklastrit uuendada lihtsalt Dockerfile failide värskendamisega. Tilt viib läbi koostamise klassris, muutes ainult vajalikku lähtekoodi. Samuti saate luua klastriseisundi koopia ning fikseerida tõrke tekkimise tingimused otse Tiltist, et jagada neid meeskonna liikmetega tõrkeotsimiseks.
P.S. Me oleme neid tööriistu korduvalt meie uudishimulike kätega katsetanud. Et esitleda tõelisi praktikaid juba (loodetavasti!) veebruari offline intensiivkursustel. 8–10 veebruar 2021. Ja 12–14 veebruar. Ausalt öeldes, ka meie igatseme sooja ja energiat täis offline koolituse atmosfääri. Mis iganes edasiarendatud tehnoloogiad on, ei asenda nad elavat inimestevahelist suhtlemist ja erilist atmosfääri, kui kogunevad sarnase mõtlemisega inimesed.
Allikas: habr.com
