11 գործիք, որոնք ավելի լավ են դարձնում Kubernetes-ը

11 գործիք, որոնք ավելի լավ են դարձնում Kubernetes-ը

Ոչ բոլոր սերվերային հարթակները, նույնիսկ ամենահզորն ու մասշտաբայինը, բավարարում են բոլոր կարիքներն այնպես, ինչպես կան: Չնայած Kubernetes-ը հիանալի է աշխատում ինքնուրույն, այն կարող է չունենալ ճիշտ կտորներ ամբողջական լինելու համար: Դուք միշտ կգտնեք հատուկ դեպք, որն անտեսում է ձեր կարիքը, կամ որտեղ Kubernetes-ը չի աշխատի լռելյայն տեղադրման վրա, օրինակ՝ տվյալների բազայի աջակցությունը կամ CD-ի գործարկումը:

Այստեղ հայտնվում են հավելումներ, ընդլայնումներ և այլ առավելություններ այս կոնտեյներային նվագախմբի համար, որոնք աջակցվում են ամենալայն համայնքի կողմից: Այս հոդվածում կլինեն 11 լավագույն բաները, որոնք մենք գտել ենք: Մենք ինքներս ենք Սաութբրիջ դրանք շատ հետաքրքիր են, և մենք նախատեսում ենք դրանցով զբաղվել գործնականում. ապամոնտաժել դրանք պտուտակների և ընկույզների մեջ և տեսնել, թե ինչ կա ներսում: Դրանցից մի քանիսը կատարելապես կլրացնեն Kubernetes-ի ցանկացած կլաստերի, իսկ մյուսները կօգնեն լուծել որոշակի առաջադրանքներ, որոնք չեն իրականացվում տիպիկ Kubernetes բաշխման մեջ:

Դարպասապահ՝ քաղաքականության կառավարում

Ծրագիր Բաց քաղաքականության գործակալ (OPA) ապահովում է Kubernetes-ում ամպային հավելվածների կույտերի վերևում քաղաքականություն ստեղծելու հնարավորություն՝ մուտքից մինչև սպասարկման ցանց: Դարպասապահ տալիս է Kubernetes-ի բնիկ հնարավորություն՝ ավտոմատ կերպով կիրառելու քաղաքականությունը կլաստերի վրա, ինչպես նաև ապահովում է ստուգում ցանկացած իրադարձությունների կամ ռեսուրսների համար, որոնք խախտում են քաղաքականությունը: Այս ամենը կառավարվում է համեմատաբար նոր Kubernetes մեխանիզմի կողմից՝ Webhooks ընդունելության մենեջերի կողմից, որն աշխատում է, երբ ռեսուրսները փոխվում են: Gatekeeper-ի հետ OPA-ի քաղաքականությունը դառնում է ձեր Kubernetes կլաստերի վիճակի ևս մեկ մասը՝ առանց մշտական ​​վերահսկողության անհրաժեշտության:

Ձգողականություն՝ շարժական Kubernetes կլաստերներ

Եթե ​​ցանկանում եք հավելվածը տարածել Kubernetes-ում, շատ հավելվածներ ունեն Helm աղյուսակ, որն ուղղորդում և ավտոմատացնում է այս գործընթացը: Բայց ի՞նչ, եթե ցանկանում եք վերցնել ձեր Kubernetes կլաստերը «ինչպես կա» և այն տարածել այլ տեղ:

Ձգողություն նկարում է Kubernetes կլաստերների, դրանց ռեեստրի պատկերները, ինչպես նաև գործարկվող հավելվածները, որոնք կոչվում են «հավելվածների փաթեթներ»: Նման փաթեթ, որը սովորական ֆայլ է .tar, կարող է կրկնօրինակել կլաստերը, որտեղ որ Kubernetes-ը կարող է աշխատել:

Gravity-ն նաև ստուգում է, որ թիրախային ենթակառուցվածքն իրեն պահում է նույնը, ինչ սկզբնաղբյուրի ենթակառուցվածքը, ինչպես նաև, որ թիրախի վրա Kubernetes միջավայրը հասանելի է: Gravity-ի վճարովի տարբերակը նաև ավելացնում է անվտանգության առանձնահատկություններ, ներառյալ RBAC-ը և անվտանգության կարգավորումները տարբեր կլաստերի տեղակայման հնարավորությունը:

Վերջին հիմնական թողարկումը՝ Gravity 7-ը, կարող է ձգողականության պատկերը մղել գոյություն ունեցող Kubernetes կլաստերի մեջ՝ պատկերից բոլորովին նոր կլաստեր պտտելու փոխարեն: Gravity 7-ը կարող է նաև աշխատել կլաստերների հետ, որոնք տեղադրված են առանց Gravity պատկերի օգտագործման: Gravity-ն նաև աջակցում է SELinux-ին և աշխատում է Teleport SSH դարպասի հետ:

Kaniko. Կառուցել կոնտեյներներ Kubernetes կլաստերում

Կոնտեյների պատկերների մեծ մասը կառուցված է բեռնարկղերի կույտից դուրս գտնվող համակարգերի վրա: Այնուամենայնիվ, երբեմն անհրաժեշտ է պատկերը կառուցել բեռնարկղերի կույտի ներսում, օրինակ՝ ինչ-որ տեղ հոսող կոնտեյների մեջ կամ Kubernetes կլաստերի մեջ:

Կանիկո կառուցում է կոնտեյներներ կոնտեյների միջավայրում, բայց առանց կախվածության կոնտեյներացման ծառայությունից, ինչպիսին է Docker-ը: Փոխարենը, Kaniko-ն հանում է ֆայլային համակարգը բազային պատկերից, կատարում է օգտագործողի տարածքի կառուցման բոլոր հրամանները արդյունահանված ֆայլային համակարգի վերևում՝ յուրաքանչյուր հրամանից հետո լուսանկարելով ֆայլային համակարգի պատկերը:

Նշում. Կանիկոն ներկայումս գտնվում է (մայիս 2020 թ., մոտ. թարգմանիչ) չի կարող Windows-ի կոնտեյներներ կառուցել:

Kubecost. Kubernetes-ի մեկնարկային արժեքի տարբերակներ

Kubernetes-ի կառավարման գործիքների մեծ մասը կենտրոնացած է օգտագործման հեշտության, մոնիտորինգի, պատի ներսում պահվածքը հասկանալու և այլնի վրա: Բայց ի՞նչ կասեք Kubernetes-ի գործարկման հետ կապված ծախսերի մոնիտորինգի մասին՝ ռուբլով և կոպեկներով:

Կուբեկոստ իրական ժամանակում մշակում է Kubernetes-ի պարամետրերը, ինչը հանգեցնում է ամպային խոշոր մատակարարների աշխատող կլաստերների արդիական արժեքի տեղեկատվությանը, որը ցուցադրվում է վահանակում՝ մեկ կլաստերի ամսական արժեքով: RAM-ի, պրոցեսորի ժամանակի, GPU-ի և սկավառակի ենթահամակարգի գները բաժանված են ըստ Kubernetes բաղադրիչների (կոնտեյներ, պատիճ, սպասարկում և այլն):

Kubecost-ը նաև հետևում է ոչ կլաստերային ռեսուրսների արժեքին, ինչպիսիք են Amazon S3 դույլերը, չնայած դա սահմանափակված է AWS-ով: Արժեքի տվյալները կարող են ուղարկվել Պրոմեթևսին, որպեսզի կարողանաք օգտագործել դրանք՝ ծրագրային կերպով փոխելու կլաստերի վարքագիծը:

Kubecost-ն անվճար է օգտագործման համար, եթե ունեք բավականաչափ 15 օրվա գրանցամատյան: Լրացուցիչ հնարավորությունների համար գինը սկսվում է ամսական $199-ից 50 հանգույցների մոնիտորինգի համար:

KubeDB. Running Battle Databases in Kubernetes

Տվյալների բազաները նույնպես դժվար է տպավորիչ գործարկել Kubernetes-ում: Դուք կգտնեք Kubernetes օպերատորներ MySQL-ի, PostgreSQL-ի, MongoDB-ի և Redis-ի համար, բայց դրանք բոլորն էլ ունեն թերություններ: Նաև Kubernetes-ի տիպիկ գործառույթների հավաքածուն ուղղակիորեն չի լուծում սահմանված տվյալների բազայի խնդիրների մեծ մասը:

KubeDB օգնում է ձեզ ստեղծել ձեր Kubernetes հայտարարությունները տվյալների բազայի կառավարման համար: Պահուստավորման գործարկումը, կլոնավորումը, մոնիտորինգը, ակնթարթային նկարները և տվյալների բազայի հռչակագրային ստեղծումը դրա բաղկացուցիչ մասերն են: Նկատի ունեցեք, որ հնարավորությունների աջակցությունը կախված է տվյալների բազայից: Օրինակ, կլաստերի ստեղծումը աշխատում է PostgreSQL-ի համար, բայց ոչ MySQL-ի համար (արդեն կա, ինչպես ճիշտ է նշվել dnbstd, մոտ. թարգմանիչ).

Kube-monkey. Chaos Monkey-ը Kubernetes-ի համար

Սթրես-թեստավորման ամենաանսխալ մեթոդը համարվում է պատահական անսարքությունները: Այս տեսությունը Netflix-ի Chaos Monkey-ի հիմքն է՝ քաոսային ինժեներական գործիք, որը պատահականորեն անջատում է վիրտուալ մեքենաները և արտադրական միջավայրի բեռնարկղերը՝ մշակողներին «խրախուսելու» ավելի ճկուն համակարգեր կառուցելու համար: kube-monkey - Կուբերնետեսի կլաստերների համար սթրես-թեստավորման նույն հիմնական տեսության իրականացումը: Այն աշխատում է պատահականորեն սպանելով մոդուլները ձեր նշանակած կլաստերում, և կարող է նաև սահմանվել, որ գործարկվի որոշակի ժամանակային ընդմիջումով:

Kubernetes Ingress Controller AWS-ի համար

Kubernetes-ը տրամադրում է արտաքին բեռի հավասարակշռող և կլաստերային ցանցային ծառայություններ՝ կոչվող ծառայության միջոցով Մուտք AWS-ն ապահովում է բեռի հավասարակշռման առանձնահատկություններ, բայց դրանք ինքնաբերաբար չի միավորում Kubernetes-ի նույն հատկանիշներով: Kubernetes Ingress Controller AWS-ի համար փակում է այս բացը:

Այն ավտոմատ կերպով կառավարում է AWS ռեսուրսները կլաստերի յուրաքանչյուր ներթափանցման համար՝ ստեղծելով բեռնվածության հավասարակշռողներ նոր մուտքային ռեսուրսների համար և ջնջելով բեռի հավասարակշռիչները, երբ ռեսուրսները հեռացվում են: Այն օգտագործում է CloudFormation-ը, որպեսզի համոզվի, որ կլաստերի վիճակը մնում է հետևողական: Այն նաև աջակցում է CloudWatch Alarm-ի կարգավորումները և ավտոմատ կերպով կառավարում է կլաստերում օգտագործվող այլ տարրեր, ինչպիսիք են SSL վկայագրերը և EC2 Auto Scaling Groups-ը:

Kubespray. Kubernetes-ի ավտոմատ տեղադրում

Կուբեսփրեյ ավտոմատացնում է արտադրության համար պատրաստ Kubernetes կլաստերի տեղադրումը` ապարատային սերվերների վրա տեղադրումից մինչև հիմնական հանրային ամպեր: Այն օգտագործում է Ansible (Vagrant կամընտիր) տեղակայումը սկսելու և զրոյից բարձր հասանելիության կլաստեր ստեղծելու համար՝ ձեր ընտրած ցանցային հավելումներով (օրինակ՝ Flannel, Calico և այլն)՝ ձեր ընտրած հայտնի Linux բաշխման դեպքում, երբ տեղադրվում է ապարատային սերվերների վրա:

Skaffold: Կրկնվող զարգացում Kubernetes-ի համար

Սկավառակ - Google-ի գործիքներից մեկը, որն օգտագործվում է Kubernetes-ում հավելվածների ձայնասկավառակների կազմակերպման համար: Հենց որ դուք փոփոխություններ կատարեք սկզբնաղբյուրում, skaffold-ը ավտոմատ կերպով հայտնաբերում է դա, սկսում է կառուցել և տեղակայել և զգուշացնում է ձեզ, եթե կան սխալներ: Skaffold-ը ամբողջությամբ աշխատում է հաճախորդի կողմից, ուստի տեղադրման կամ թարմացման հետ կապված կարող են լինել փոքր նրբերանգներ: Այն կարող է օգտագործվել առկա CICD խողովակաշարերի հետ, ինչպես նաև փոխազդել որոշ արտաքին կառուցման գործիքների, հիմնականում Google-ի Bazel-ի հետ:

Թերեզա. Ամենապարզ PaaS-ը Kubernetes-ում

Teresa հավելվածների տեղակայման համակարգ է, որն աշխատում է պարզ PaaS-ով Kubernetes-ի վերևում: Թիմային օգտվողները կարող են տեղակայել և կառավարել իրենց սեփական հավելվածները: Սա մի փոքր ավելի հեշտ է դարձնում այն ​​մարդկանց համար, ովքեր վստահում են այս հավելվածին և չեն ցանկանում գործ ունենալ Kubernetes-ի և դրա բոլոր բարդությունների հետ:

Թեք. հեռարձակեք բեռնարկղերի թարմացումները Kubernetes-ի կլաստերներին

Թեքել, որը մշակվել է Windmill Engineering-ի կողմից, վերահսկում է տարբեր Dockerfiles-ի փոփոխությունները և այնուհետև աստիճանաբար տեղակայում համապատասխան կոնտեյներները Kubernetes կլաստերում: Ըստ էության, այն թույլ է տալիս իրական ժամանակում թարմացնել արտադրական կլաստերը՝ պարզապես թարմացնելով Dockerfiles-ը: Tilt-ը կառուցվում է կլաստերի ներսում, սկզբնական կոդը այն ամենն է, ինչ պետք է փոխվի: Դուք կարող եք նաև լուսանկարել կլաստերի վիճակն ու նկարահանել սխալի պայմանները անմիջապես Tilt-ից՝ վրիպազերծման նպատակով թիմի անդամների հետ կիսվելու համար:

Հ.Գ. Այս բոլոր գործիքները մենք բազմիցս օգտագործել ենք Սաութբրիջ զոնդված մեր հետաքրքրասեր ձեռքերով: Փետրվարին օֆլայն ինտենսիվներում արդեն իսկ (հուսանք!) ներկայացնել իրական պրակտիկա: Կուբերնետես բազա փետրվարի 8–10, 2021. Եվ Kubernetes Mega փետրվարի 12–14։ Անկեղծ ասած, մենք նույնպես կարոտել ենք օֆլայն ուսուցման ջերմ ու եռանդով լիցքավորված մթնոլորտը։ Որքան էլ առաջադեմ տեխնոլոգիաները լինեն, դրանք չեն փոխարինի կենդանի մարդկային հաղորդակցությանը և հատուկ մթնոլորտին, երբ հավաքվում են համախոհներ։

Source: www.habr.com

Добавить комментарий