Polaris Kubernetes кластерлерінің денсаулығын сақтау үшін енгізілген

Ескерту. аударма: Бұл мәтіннің түпнұсқасын жарияланған жобаны әзірлеудің артында тұрған ReactiveOps компаниясының жетекші SRE инженері Роб Скотт жазған. Kubernetes-ке орналастырылған нәрсені орталықтандырылған тексеру идеясы бізге өте жақын, сондықтан біз мұндай бастамаларды қызығушылықпен ұстанамыз.

Polaris Kubernetes кластерлерінің денсаулығын сақтау үшін енгізілген

Таныстыруға қуаныштымын Поляр бұл Kubernetes кластерінің денсаулығын сақтауға көмектесетін ашық бастапқы жоба. Біз Polaris-ті ReactiveOps жүйесінде қолданылатын кейбір ең жақсы тәжірибелерді автоматтандыру үшін, кластерлердің көптеген тұтынушыларда қауіпсіз және сенімді жұмыс істеуін қамтамасыз ету үшін жасадық. Кодтың бастапқы көзін ашу уақыты келді.

Уақыт өте келе конфигурациядағы шамалы болып көрінетін қателер инженерлерді түнде ұйықтатпайтын үлкен мәселелерге әкелетінін көрдік. Өте қарапайым нәрсе - мысалы, ұмытып кету салдарынан ұмытылған ресурс сұрауларының конфигурациясы (ресурс сұраулары) — автомасштабтауды бұзуы және тіпті жұмыс жүктемесінің ресурстарсыз қалуына әкелуі мүмкін. Егер бұрын конфигурациядағы болмашы қателер өндірісте үзілістерге әкелсе, енді Polaris оларды толығымен болдырмауға мүмкіндік береді.

Polaris қолданбалардың тұрақтылығына, сенімділігіне, ауқымдылығына және қауіпсіздігіне әсер ететін конфигурация мәселелерін болдырмауға көмектеседі. Ол орналастыру конфигурацияларындағы кемшіліктерді анықтауды және болашақ ақаулардың алдын алуды жеңілдетеді. Polaris көмегімен қолданбаларыңыздың жақсы тексерілген стандарттар жиынтығы арқылы орналастырылғанын біле отырып, тыныш ұйықтай аласыз.

Polaris екі негізгі компоненттен тұрады:

  1. кластердегі бар орналастырулардың қаншалықты жақсы конфигурацияланғаны туралы ақпаратты қамтамасыз ететін бақылау тақтасы;
  2. қабылданған стандартқа сәйкес келмейтін орналастыруларды шығаруға жол бермейтін эксперименталды сынақ веб-хук.

Polaris бақылау тақтасы

Polaris бақылау тақтасы Kubernetes орналастыруларының ағымдағы күйін көрудің және жақсартулар бойынша ұсыныстар алудың қарапайым және көрнекі жолын қамтамасыз ету үшін жасалған. Ол кластердің толық шолуын қамтамасыз етеді, сонымен қатар нәтижелерді санат, аттар кеңістігі және орналастыру бойынша бөледі.

Polaris Kubernetes кластерлерінің денсаулығын сақтау үшін енгізілген

Polaris әдепкі стандарттары өте жоғары, сондықтан ұпайыңыз күткеннен төмен болса, таң қалмаңыз. Polaris компаниясының басты мақсаты – жоғары стандарттарды орнату және тамаша әдепкі конфигурацияға ұмтылу. Ұсынылған конфигурация тым қатаң болып көрінсе, оны арнайы жұмыс жүктемелері үшін оңтайландыра отырып, орналастыру конфигурациялау процесі кезінде түзетуге болады.

Polaris басылымының бөлігі ретінде біз құралдың өзін ұсынып қана қоймай, оған енгізілген сынақтарды егжей-тегжейлі сипаттауды шештік. Әрбір шолу неліктен маңызды деп есептейтінімізді түсіндіретін және тақырып бойынша қосымша ресурстарға сілтемелер беретін қатысты құжаттамаға сілтемені қамтиды.

Polaris Webhook

Егер бақылау тақтасы орналастырулардың ағымдағы конфигурациясына шолу жасауға көмектессе, онда веб-хук кластерге шығарылатын барлық орналастырулар үшін стандарттарға сәйкестігін қамтамасыз етеді.

Бақылау тақтасы анықтаған мәселелер түзетілгеннен кейін конфигурация ешқашан белгіленген стандарттан төмен түспейтініне көз жеткізу үшін веб-хукты пайдалануға болады. Веб-хук конфигурациясында елеулі ауытқулар («қате» деңгейі) бар кластерде орналастыруға рұқсат бермейді.

Бұл веб-хуктың әлеуеті қызықты, бірақ оны өндіруге дайын деп санау үшін әлі де ауқымды тестілеу қажет болады. Бұл қазіргі уақытта эксперименттік мүмкіндік және мүлдем жаңа Open Source жобасының бөлігі. Ол орналастыруларды жаңартуға кедергі келтіруі мүмкін болғандықтан, оны сақтықпен пайдаланыңыз.

Жұмысты бастау

Сіз әлі де осы хабарландыруды оқып жатқандықтан, Polaris сізге пайдалы болуы мүмкін құрал деп үміттенемін. Бақылау тақтасын өзіңіз қолданып көргіңіз келе ме? Панельді кластерде орналастыру өте оңай. Ол ең аз құқықтармен орнатылады (тек оқу үшін) және барлық деректер ішінде қалады. Kubectl көмегімен бақылау тақтасын қолдану үшін келесіні іске қосыңыз:

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

Енді 8080 жергілікті порты арқылы бақылау тақтасына кіру үшін портты қайта жіберуді конфигурациялау қажет:

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

Әрине, Polaris-ті пайдаланудың және орналастырудың көптеген басқа жолдары бар, соның ішінде Helm. Сіз бұл туралы және тағы басқалар туралы біле аласыз GitHub жүйесіндегі Polaris репозиторийі.

Басы ғана

Біз Polaris-тің осы уақытқа дейін салған нәрселеріне қуаныштымыз, бірақ оқиға мұнымен бітпейді. Функционалдылықты кеңейту үшін қосқымыз келетін көптеген жаңа сынақтар бар. Біз сондай-ақ аттар кеңістігінде немесе ресурс деңгейінде ерекшеліктерді тексеру ережелерін енгізудің жақсы жолын іздейміз. Біздің жоспарларымыз туралы қосымша ақпарат алғыңыз келсе, тексеріңіз жол картасы.

Егер сіз Polaris пайдалы болуы мүмкін деген әсерде болсаңыз, оны пайдаланып көруге уақыт бөліңіз. Біз кез келген идеяларды, пікірлерді, сұрақтарды немесе тарту сұрауларын қуана қабылдаймыз. Бізбен байланыса аласыз жобаның сайты, in GitHub немесе Twitter.

Аудармашыдан PS

Біздің блогта да оқыңыз:

Ақпарат көзі: www.habr.com

пікір қалдыру