Megjegyzés fordítás.: Ezt a szöveget Rob Scott, a ReactiveOps vezető SRE mérnöke írta, aki a bejelentett projekt fejlesztéséért felel. Számunkra nagyon fontos a Kubernetes-be való telepítések központosított ellenőrzésének gondolata, ezért érdeklődéssel figyeljük az ilyen kezdeményezéseket.

Örömmel mutatom be — egy nyílt forráskódú projekt, amely segít fenntartani a Kubernetes klaszter „egészségét”. A Polaris-t azért hoztuk létre, hogy automatizálja a ReactiveOps által használt legjobb gyakorlatok egyes elemeit, amelyek a klaszterek biztonságos és megbízható működését segítik egy nagy számú ügyfél számára. Itt az ideje, hogy nyilvánosságra hozzuk a forráskódot.
Ismételten tanúi voltunk annak, hogy a látszólag jelentéktelen konfigurációs hibák súlyos problémákhoz vezettek, amelyek megakadályozták a mérnököket az alvásban. Valami egészen egyszerű — például egy figyelmetlenségből eredő erőforrás-kérések konfigurációja (resource requests) — tönkreteheti az automatikus skálázást, és akár azt is eredményezheti, hogy a munkaterhelések erőforrások nélkül maradnak. Míg korábban a jelentéktelen hibák a production működésében fennakadásokat okoztak, a Polaris most már teljesen megelőzheti őket.
A Polaris segít elkerülni a konfigurációs problémákat, amelyek hatással vannak az alkalmazásaik stabilitására, megbízhatóságára, skálázhatóságára és biztonságára. Egyszerűen lehetőséget biztosít a deployment-ek konfigurációs hibáinak azonosítására és a jövőbeli problémák megelőzésére. A Polaris-szal nyugodtan aludhat, tudva, hogy az alkalmazások jól bevált szabványok szerint lettek telepítve.
A Polaris két kulcsfontosságú összetevőből áll:
- monitoring panelből, amely információkat nyújt arról, hogy mennyire helyesen vannak konfigurálva a klaszterben lévő meglévő deployment-ek;
- egy kísérleti ellenőrző webhook-ból, amely megakadályozza olyan deployment-ek kiadását, amelyek nem felelnek meg a megkötött szabványnak.
Polaris Dashboard
A Polaris panelt egyszerű és áttekinthető módon hozták létre, hogy látható legyen a Kubernetes deployment-ek aktuális állapota és javítási javaslatokat kapjon. Teljes áttekintést biztosít a klaszterről, és az eredményeket kategóriák, névtartományok és deployment-ek szerint bontja le.

A Polaris alapértelmezett standardjai elég magasak, így ne lepődjön meg, ha az értékelés alacsonyabb lesz, mint várta. A Polaris fő célja, hogy magas színvonalat állítson fel, és törekedjen a kiváló alapértelmezett konfigurációra. Ha a javasolt konfiguráció túl szigorúnak tűnik, azt a telepítés konfigurálása során korrigálni lehet, optimalizálva a konkrét munkaterhelésekhez.
A Polaris kiadása keretében nemcsak az eszközt kívánjuk bemutatni, hanem részletesen leírni a benne található teszteket is. Minden ellenőrzés tartalmaz egy hivatkozást a vonatkozó dokumentációra, amelyben elmagyarázzuk, miért tartjuk ezt fontosnak, és további forrásokra is hivatkozunk a témában.
Polaris Webhook
Míg a vezérlőpult segít egy áttekintést adni a jelenlegi telepítési konfigurációról, a webhook biztosítja a szabványok betartását minden telepítésnél, amelyek a klaszterbe lesznek telepítve.
Miután a vezérlőpulton azonosított problémákat javították, a webhook használatával biztosítható, hogy a konfiguráció soha ne süllyedjen az előírt szint alá. A webhook nem engedélyezi olyan telepítések klaszterbe való kiterjesztését, amelyek konfigurációja jelentős eltéréseket tartalmaz (hibaszint).
A webhook potenciálja bíztató, de ahhoz, hogy production-readynek ismerjük el, alapos tesztelés szükséges. Jelenleg ez egy kísérleti lehetőség és egy teljesen új Open Source projekt része. Mivel megzavarhatja a telepítések frissítését, óvatosan használja.
Munka kezdetek
Remélem, hogy mivel még mindig olvassa ezt a bejelentést, a Polaris egy olyan eszköz, amely hasznos lehet az Ön számára. Szeretné saját kezűleg kipróbálni a Dashboardot? A panel klaszterben történő telepítése nagyon egyszerű. Minimális jogosultságokkal (csak olvasási) települ, és minden adat a belső térben marad. A Dashboard kubectl segítségével történő telepítéséhez hajtsa végre:
kubectl apply -f https://raw.githubusercontent.com/reactiveops/polaris/master/deploy/dashboard.yamlMost be kell állítani a port továbbítást, hogy a Dashboardra a helyi 8080-as porton keresztül lehessen belépni:
kubectl port-forward --namespace polaris svc/polaris-dashboard 8080:80Természetesen sok más módja is van a Polaris használatának és telepítésének, például Helm segítségével. Erről és sok egyébről többet tudhat meg a .
Ez csak a kezdet
Örömmel tapasztaljuk, hogy már sok mindent beépítettünk a Polarisba, de ez még nem a vége. Számos új teszt közeledik, amelyet szeretnénk hozzáadni a funkcionalitás bővítése érdekében. Ezen kívül keressük a legjobb módját az kivételek ellenőrzési szabályaiban történő megvalósítására névtér vagy erőforrás szinten. Ha további információt szeretne a terveinkről, nézzen meg .
Ha úgy érzi, hogy a Polaris hasznos lehet — kérjük, szánjon időt a kipróbálására. Örömmel fogadunk bármilyen ötletet, visszajelzést, kérdést vagy pull requestet. Elérhet minket itt: , in Kubernetes Slack-csatornáján. .
Fejlesztési eszközök, amelyek Kubernetesben futnak
Olvasson további információkat a blogunkban:
- «»;
- «»;
- «»;
- «».
Forrás: habr.com
