Кубернетес кластеруудыг эрүүл байлгах үүднээс Polaris-ийг нэвтрүүлсэн

Анхаарна уу. орчуулга.: Энэхүү текстийн эх хувийг зарласан төслийг боловсруулж буй ReactiveOps компанийн SRE-ийн тэргүүлэх инженер Роб Скотт бичсэн. Kubernetes-д байршуулсан зүйлийг төвлөрсөн баталгаажуулах санаа нь бидэнд маш ойрхон байгаа тул бид ийм санаачлагыг сонирхон дагаж мөрддөг.

Кубернетес кластеруудыг эрүүл байлгах үүднээс Polaris-ийг нэвтрүүлсэн

Танилцуулж байгаадаа таатай байна Polaris нь Кубернетес кластерын эрүүл мэндийг хадгалахад тусалдаг нээлттэй эхийн төсөл юм. Бид ReactiveOps-д ашигладаг зарим шилдэг туршлагуудыг автоматжуулах зорилгоор кластеруудыг олон тооны үйлчлүүлэгчдэд найдвартай, найдвартай ажиллуулах зорилгоор Polaris-ийг бүтээсэн. Кодыг нээх цаг болжээ.

Тохируулгын өчүүхэн мэт алдаанууд нь инженерүүдийг шөнийн цагаар унтуулдаггүй томоохон асуудалд хүргэдэгийг бид үе үе харсан. Маш энгийн зүйл - жишээлбэл, мартсаны улмаас мартагдсан нөөцийн хүсэлтийн тохиргоо. (нөөцийн хүсэлт) - автомат масштабыг эвдэж, ажлын ачааллыг нөөцгүй болгоход хүргэж болзошгүй. Хэрэв өмнө нь тохиргооны бага зэргийн алдаа нь үйлдвэрлэлд саад учруулдаг байсан бол одоо Polaris нь үүнээс бүрэн урьдчилан сэргийлэх боломжийг танд олгоно.

Polaris нь таны хэрэглээний тогтвортой байдал, найдвартай байдал, өргөтгөх чадвар, аюулгүй байдалд нөлөөлөх тохиргооны асуудлаас зайлсхийхэд тусална. Энэ нь байршуулалтын тохиргоон дахь алдаа дутагдлыг олж илрүүлэх, ирээдүйд гарах асуудлуудаас урьдчилан сэргийлэхэд хялбар болгодог. Polaris-ийн тусламжтайгаар та өөрийн программуудыг сайтар шалгасан стандартуудыг ашиглан байрлуулж байгааг мэдээд тайван унтаж чадна.

Polaris нь хоёр үндсэн бүрэлдэхүүн хэсгээс бүрдэнэ.

  1. кластер дахь одоо байгаа байршуулалтууд хэр сайн тохируулагдсан талаар мэдээлэл өгдөг хяналтын самбар;
  2. хүлээн зөвшөөрөгдсөн стандартыг хангаагүй байршуулалтуудыг нэвтрүүлэхээс сэргийлдэг туршилтын туршилтын вэб дэгээ.

Polaris хяналтын самбар

Polaris хяналтын самбарыг Kubernetes-ийн байршуулалтын өнөөгийн байдлыг харж, сайжруулах зөвлөмжийг авах энгийн бөгөөд харааны арга замаар хангах зорилгоор бүтээгдсэн. Энэ нь кластерын бүрэн тоймыг өгөхөөс гадна үр дүнг ангилал, нэрийн орон зай, байршуулалтаар нь задалдаг.

Кубернетес кластеруудыг эрүүл байлгах үүднээс Polaris-ийг нэвтрүүлсэн

Polaris-ийн анхдагч стандартууд нь нэлээд өндөр тул таны оноо хүлээж байснаас доогуур байвал гайхах хэрэггүй. Polaris-ийн гол зорилго бол өндөр стандарт тогтоож, маш сайн анхдагч тохиргоог хийхийг эрмэлзэх явдал юм. Хэрэв санал болгож буй тохиргоо нь хэтэрхий хатуу мэт санагдаж байвал түүнийг байршуулах тохиргооны явцад засч, тодорхой ажлын ачаалалд тохируулж болно.

Polaris нийтлэлийн нэг хэсэг болгон бид зөвхөн уг хэрэгслийг өөрөө танилцуулахаас гадна түүнд багтсан туршилтуудыг нарийвчлан тайлбарлахаар шийдсэн. Шүүмж бүр нь холбогдох баримт бичгийн холбоосыг агуулдаг бөгөөд энэ нь бид яагаад чухал гэж үзэж байгааг тайлбарлаж, сэдэвтэй холбоотой нэмэлт эх сурвалжуудын холбоосыг өгдөг.

Polaris Webhook

Хэрэв хяналтын самбар нь байршуулалтын одоогийн тохиргооны тоймыг авахад тусалдаг бол вэб дэгээ нь кластерт гарах бүх байршуулалтын стандартад нийцэж байгаа эсэхийг баталгаажуулдаг.

Хяналтын самбарт тодорхойлсон асуудлуудыг зассаны дараа тохиргоог дахин хэзээ ч тогтоосон стандартаас доош буулгахгүйн тулд вэб дэгээ ашиглаж болно. Вэб дэгээ нь тохиргоонд ихээхэн хазайлт ("алдаа" түвшин) агуулсан кластерт байршуулахыг зөвшөөрөхгүй.

Энэхүү вэб дэгээний боломж нь сэтгэл хөдөлгөм боловч үйлдвэрлэлд бэлэн гэж үзэхийн тулд өргөн хүрээний туршилт хийх шаардлагатай хэвээр байна. Энэ нь одоогоор туршилтын шинж чанартай бөгөөд цоо шинэ Нээлттэй эхийн төслийн нэг хэсэг юм. Энэ нь байршуулалтыг шинэчлэхэд саад учруулж болзошгүй тул үүнийг болгоомжтой ашиглаарай.

Эхлэл

Та энэ мэдэгдлийг уншиж байгаа тул 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

Мэдээжийн хэрэг, Helm ашиглах зэрэг Polaris-ийг ашиглах, байрлуулах өөр олон арга бий. Та энэ талаар болон бусад олон зүйлийг эндээс мэдэж болно GitHub дээрх Polaris репозитор.

Энэ бол дөнгөж эхлэл

Бид Polaris-ийн бүтээсэн зүйлд баяртай байгаа ч түүх үүгээр дуусахгүй. Функцийг өргөжүүлэхийн тулд бид нэмэхийг хүсч буй олон шинэ туршилтууд байна. Мөн бид нэрийн орон зай эсвэл нөөцийн түвшинд онцгой байдлын шалгалтын дүрмийг хэрэгжүүлэх илүү сайн арга замыг хайж байна. Хэрэв та манай төлөвлөгөөний талаар илүү их мэдээлэл авахыг хүсвэл зочилно уу замын зураг.

Хэрэв танд Polaris хэрэгтэй байж магадгүй гэж бодож байвал цаг гаргаад туршаад үзээрэй. Бид аливаа санаа, санал хүсэлт, асуулт эсвэл татах хүсэлтийг дуртайяа хүлээн авах болно. Та бидэнтэй холбогдож болно төслийн вэбсайт, in GitHub болон Twitter.

Орчуулагчийн жич

Мөн манай блог дээрээс уншина уу:

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх