Polaris-ը ներկայացվել է Kubernetes-ի կլաստերները առողջ պահելու համար

Նշում. թարգմ.Այս տեքստի բնօրինակը գրել է Ռոբ Սքոթը՝ ReactiveOps-ի SRE-ի առաջատար ինժեները, որը կանգնած է հայտարարված նախագծի մշակման հետևում: Մենք շատ մոտ ենք Kubernetes-ում տեղակայվածի կենտրոնացված վավերացման գաղափարին, ուստի մենք հետաքրքրությամբ հետևում ենք նման նախաձեռնություններին:

Polaris-ը ներկայացվել է Kubernetes-ի կլաստերները առողջ պահելու համար

Ուրախ եմ ներկայացնել Polaris բաց կոդով նախագիծ է, որն օգնում է պահպանել Kubernetes կլաստերի «առողջությունը»: Մենք կառուցեցինք Polaris-ը ավտոմատացնելու համար ReactiveOps-ի կողմից օգտագործվող որոշ լավագույն փորձերը՝ մեծ թվով հաճախորդների համար կլաստերները անվտանգ և հուսալիորեն աշխատելու համար: Ժամանակն է բաց կոդով:

Ժամանակ առ ժամանակ մենք տեսել ենք, թե ինչպես թվացյալ փոքր կոնֆիգուրացիայի թերությունները հանգեցնում են լուրջ խնդիրների, որոնք խանգարում են ինժեներներին գիշերը քնել: Շատ պարզ բան, օրինակ, ռեսուրսների հարցումների կազմաձևումը, որը անտեսվել է մոռացության պատճառով (ռեսուրսների հարցումներ) - կարող է կոտրել ավտոմատ մասշտաբը և նույնիսկ հանգեցնել նրան, որ ծանրաբեռնվածությունը մնացել է առանց ռեսուրսների: Եթե ​​նախկինում կոնֆիգուրացիայի աննշան խախտումները հանգեցնում էին արտադրության ընդհատումների, ապա այժմ Polaris-ը թույլ է տալիս լիովին կանխել դրանք:

Polaris-ն օգնում է ձեզ խուսափել կազմաձևման խնդիրներից, որոնք ազդում են ձեր հավելվածների կայունության, հուսալիության, մասշտաբայնության և անվտանգության վրա: Այն հեշտացնում է տեղակայման կոնֆիգուրացիաների թույլ կողմերը և կանխում ապագա խնդիրները: Polaris-ի հետ դուք կարող եք հանգիստ քնել՝ իմանալով, որ հավելվածները տեղակայվում են՝ օգտագործելով մի շարք լավ փորձարկված ստանդարտներ:

Polaris-ը բաղկացած է երկու հիմնական բաղադրիչներից.

  1. վահանակ, որը տեղեկատվություն է տրամադրում այն ​​մասին, թե որքան լավ են կազմաձևված կլաստերի առկա տեղակայումները.
  2. փորձնական թեստային վեբ-կեռիկ, որը թույլ չի տալիս տեղակայել այնպիսի տեղադրումներ, որոնք չեն համապատասխանում ընդունված ստանդարտին:

Polaris վահանակ

Polaris Dashboard-ը ստեղծվել է Kubernetes-ի տեղակայումների ներկայիս կարգավիճակը տեսնելու և բարելավումների վերաբերյալ առաջարկություններ ստանալու պարզ և տեսողական միջոց ապահովելու համար: Այն ապահովում է կլաստերի ամբողջական ակնարկ և արդյունքները բաժանում է ըստ կատեգորիայի, անվանատարածքի և տեղակայման:

Polaris-ը ներկայացվել է Kubernetes-ի կլաստերները առողջ պահելու համար

Polaris-ի կողմից սահմանված լռելյայն չափորոշիչները բավականին բարձր են, այնպես որ մի զարմացեք, եթե միավորն ավելի ցածր լինի, քան դուք սպասում էիք: Polaris-ի հիմնական նպատակն է սահմանել բարձր չափանիշներ և ձգտել հիանալի լռելյայն կազմաձևման: Եթե ​​առաջարկվող կոնֆիգուրացիան չափազանց կոշտ է թվում, այն կարող է շտկվել տեղակայման կազմաձևման գործընթացում՝ օպտիմալացնելով որոշակի աշխատանքային բեռների համար:

Polaris-ի հրապարակման շրջանակներում մենք որոշեցինք ոչ միայն ներկայացնել գործիքն ինքնին, այլև մանրամասն նկարագրել այն թեստերը, որոնք ներառված են դրանում: Յուրաքանչյուր վերանայում ներառում է հղում դեպի համապատասխան փաստաթղթեր, որոնք բացատրում են, թե ինչու ենք դա կարևոր համարում և հղումներ դեպի թեմայի վերաբերյալ լրացուցիչ ռեսուրսներ:

Polaris Webhook

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

Վահանակի կողմից հայտնաբերված խնդիրները շտկվելուց հետո կարող է օգտագործվել վեբ-կեռիկ՝ ապահովելու համար, որ կազմաձևն այլևս երբեք չընկնի սահմանված ստանդարտից ցածր: Webhook-ը թույլ չի տա տեղակայել կլաստերում, որի կազմաձևը պարունակում է զգալի շեղումներ («սխալի» մակարդակի):

Այս վեբ-կապիկի ներուժը հուսադրող է, բայց այն դեռ լայնածավալ փորձարկման կարիք ունի՝ արտադրության համար պատրաստ լինելու համար: Այն ներկայումս փորձարարական հատկանիշ է և բաց կոդով նոր նախագծի մի մասն է: Քանի որ այն կարող է խանգարել տեղակայման թարմացումներին, օգտագործեք այն զգուշությամբ:

Ինչից սկսել

Հուսով եմ, որ մինչ դուք դեռ կարդում եք այս հայտարարությունը, Polaris-ը ձեզ համար օգտակար գործիք է: Ցանկանու՞մ եք ինքներդ փորձել Dashboard-ը: Կլաստերում վահանակի տեղադրումը շատ հեշտ է: Այն տեղադրվում է նվազագույն իրավունքներով (միայն կարդալու), և բոլոր տվյալները մնում են ներսում: Kubectl-ի միջոցով Dashboard-ը տեղակայելու համար գործարկեք՝

kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yaml

Այժմ դուք պետք է կարգավորեք նավահանգիստների վերահասցեավորում՝ տեղական 8080 պորտի միջոցով Dashboard մուտք գործելու համար.

kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80

Իհարկե, Polaris-ի օգտագործման և տեղակայման բազմաթիվ այլ եղանակներ կան, այդ թվում՝ Helm-ը: Դուք կարող եք իմանալ այս և շատ ավելին այստեղից Polaris պահոց GitHub-ում.

Սա դեռ սկիզբն է

Մենք գոհ ենք այն ամենից, ինչ մենք արդեն կառուցել ենք Polaris-ում, բայց պատմությունն այսքանով չի ավարտվում: Ճանապարհին կան բազմաթիվ նոր թեստեր, որոնք ես կցանկանայի ավելացնել ֆունկցիոնալությունը ընդլայնելու համար: Մենք նաև ավելի լավ միջոց ենք փնտրում՝ ներդնելու բացառությունների ստուգման կանոնները անունների տարածության կամ ռեսուրսի մակարդակում: Մեր ծրագրերի մասին լրացուցիչ տեղեկությունների համար տե՛ս ճանապարհային քարտեզ.

Եթե ​​տպավորություն ունեք, որ Polaris-ը կարող է օգտակար լինել, խնդրում ենք ժամանակ տրամադրեք այն փորձելու համար: Մենք ողջունում ենք ցանկացած գաղափար, կարծիք, հարց կամ խնդրանք: Դուք կարող եք կապվել մեզ հետ նախագծի կայքըՄեջ GitHub կամ Twitter.

PS թարգմանչից

Կարդացեք նաև մեր բլոգում.

Source: www.habr.com

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