Ipinakilala si Polaris upang mapanatiling malusog ang mga kumpol ng Kubernetes

Tandaan. transl.: Ang orihinal ng tekstong ito ay isinulat ni Rob Scott, isang nangungunang SRE engineer sa ReactiveOps, na nasa likod ng pagbuo ng inihayag na proyekto. Ang ideya ng sentralisadong pagpapatunay ng kung ano ang na-deploy sa Kubernetes ay napakalapit sa amin, kaya sinusunod namin ang mga naturang hakbangin nang may interes.

Ipinakilala si Polaris upang mapanatiling malusog ang mga kumpol ng Kubernetes

Natutuwang magpakilala Polaris ay isang open source na proyekto na tumutulong sa pagpapanatili ng kalusugan ng isang Kubernetes cluster. Binuo namin ang Polaris para i-automate ang ilan sa mga pinakamahuhusay na kagawian na ginagamit sa ReactiveOps para mapanatiling ligtas at mapagkakatiwalaan ang mga cluster sa maraming customer. Oras na para buksan ang source ng code.

Paminsan-minsan, nakikita namin ang tila maliliit na error sa configuration na humahantong sa mga malalaking problema na nagpapanatili sa mga inhinyero sa gabi. Isang bagay na napakasimple - halimbawa, ang pagsasaayos ng mga kahilingan sa mapagkukunan na nakalimutan dahil sa pagkalimot (mga kahilingan sa mapagkukunan) β€” maaaring masira ang autoscaling at kahit na humantong sa mga workload na naiwan nang walang mapagkukunan. Kung ang mga dating maliliit na error sa pagsasaayos ay humantong sa mga pagkaantala sa produksyon, ngayon ay pinapayagan ka ng Polaris na ganap na pigilan ang mga ito.

Tinutulungan ka ng Polaris na maiwasan ang mga isyu sa configuration na nakakaapekto sa katatagan, pagiging maaasahan, scalability, at seguridad ng iyong mga application. Pinapadali nitong matukoy ang mga bahid sa mga configuration ng deployment at maiwasan ang mga problema sa hinaharap. Sa Polaris, makakatulog ka nang mahimbing dahil alam mong naka-deploy ang iyong mga application gamit ang isang hanay ng mga mahusay na nasubok na pamantayan.

Ang Polaris ay binubuo ng dalawang pangunahing sangkap:

  1. isang monitoring panel na nagbibigay ng impormasyon kung gaano kahusay na-configure ang mga kasalukuyang deployment sa cluster;
  2. isang pang-eksperimentong pagsubok na webhook na pumipigil sa mga deployment na mailunsad na hindi nakakatugon sa tinatanggap na pamantayan.

Polaris Dashboard

Ang Polaris dashboard ay nilikha upang magbigay ng simple at visual na paraan upang makita ang kasalukuyang estado ng mga pag-deploy ng Kubernetes at makakuha ng mga rekomendasyon para sa mga pagpapabuti. Nagbibigay ito ng kumpletong pangkalahatang-ideya ng cluster, at pinaghiwa-hiwalay din ang mga resulta ayon sa kategorya, namespace at deployment.

Ipinakilala si Polaris upang mapanatiling malusog ang mga kumpol ng Kubernetes

Ang mga default na pamantayan ng Polaris ay medyo mataas, kaya huwag magtaka kung ang iyong marka ay mas mababa kaysa sa iyong inaasahan. Ang pangunahing layunin ni Polaris ay magtakda ng matataas na pamantayan at magsikap para sa isang mahusay na default na configuration. Kung mukhang masyadong mahigpit ang iminungkahing configuration, maaari itong itama sa panahon ng proseso ng configuration ng deployment, na i-optimize ito para sa mga partikular na workload.

Bilang bahagi ng publikasyon ng Polaris, nagpasya kaming hindi lamang ipakita ang tool mismo, ngunit ilarawan din nang detalyado ang mga pagsubok na kasama dito. Ang bawat pagsusuri ay may kasamang link sa nauugnay na dokumentasyon, na nagpapaliwanag kung bakit naniniwala kami na mahalaga ito at nagbibigay ng mga link sa mga karagdagang mapagkukunan sa paksa.

Polaris Webhook

Kung nakakatulong ang dashboard na makakuha ng pangkalahatang-ideya ng kasalukuyang configuration ng mga deployment, tinitiyak ng webhook ang pagsunod sa mga pamantayan para sa lahat ng deployment na ilulunsad sa cluster.

Kapag naitama na ang mga isyung natukoy ng dashboard, maaari kang gumamit ng webhook upang matiyak na hindi na muling bababa ang configuration sa itinatag na pamantayan. Hindi papayagan ng webhook ang mga deployment sa cluster na ang configuration ay naglalaman ng mga makabuluhang deviation (ang antas ng "error").

Ang potensyal ng webhook na ito ay kapana-panabik, ngunit mangangailangan pa rin ito ng malawak na pagsubok upang maituring na handa sa produksyon. Ito ay kasalukuyang isang pang-eksperimentong tampok at bahagi ng isang ganap na bagong proyekto ng Open Source. Dahil maaari itong makagambala sa pag-update ng mga deployment, gamitin ito nang may pag-iingat.

Pagsisimula

Umaasa ako na dahil binabasa mo pa rin ang anunsyo na ito, ang Polaris ay isang tool na maaaring maging kapaki-pakinabang sa iyo. Gusto mong subukan ang Dashboard para sa iyong sarili? Ang pag-deploy ng panel sa isang cluster ay napakadali. Ito ay naka-install na may kaunting mga karapatan (read only), at lahat ng data ay nananatili sa loob. Upang i-deploy ang Dashboard gamit ang kubectl, patakbuhin ang:

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

Ngayon ay kailangan mong i-configure ang port forwarding upang ma-access ang Dashboard sa pamamagitan ng lokal na port 8080:

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

Siyempre, marami pang ibang paraan para gamitin at i-deploy ang Polaris, kabilang ang paggamit ng Helm. Maaari mong malaman ang tungkol dito at marami pang iba mula sa Polaris repository sa GitHub.

Simula pa lang ito

Kami ay nasasabik tungkol sa kung ano ang binuo ni Polaris sa ngayon, ngunit ang kuwento ay hindi nagtatapos doon. Maraming mga bagong pagsubok sa paraan na gusto naming idagdag para mapalawak ang functionality. Naghahanap din kami ng mas mahusay na paraan upang ipatupad ang mga panuntunan sa pagsuri ng exception sa namespace o antas ng mapagkukunan. Kung gusto mo ng higit pang impormasyon tungkol sa aming mga plano, tingnan mapa ng daan.

Kung ikaw ay nasa ilalim ng impresyon na ang Polaris ay maaaring maging kapaki-pakinabang, mangyaring maglaan ng oras upang subukan ito. Malugod naming tatanggapin ang anumang mga ideya, feedback, mga tanong o mga kahilingan sa paghila. Maaari kang makipag-ugnayan sa amin sa website ng proyektosa GitHub o kaba.

PS mula sa tagasalin

Basahin din sa aming blog:

Pinagmulan: www.habr.com

Magdagdag ng komento