استقرار Kubernetes خود را با Prometheus و NewRelic تأیید کنید

امروزه سازمان های نرم افزاری به شدت بر اتوماسیون و کارایی توسعه دهندگان تمرکز دارند. بدون شک، رویکرد DevOps به تیم های توسعه و تحویل نرم افزار بال می دهد، اما امنیت، ورود به سیستم و نظارت این روزها اهمیت بیشتری پیدا کرده است. پس از استقرار برنامه و خدمات خود در تولید، به شدت توصیه می شود که آنها را نظارت کنید. اگر هر گونه ناهنجاری تشخیص داده شد، قبل از اینکه بر خدمات و مشتریان شما تأثیر بگذارد، آن را اصلاح کنید. اما چگونه می توانید خدمات و برنامه های خود را به طور مداوم نظارت کنید؟ به متخصصان با تجربه بیشتری نیاز دارید که ورود به سیستم و نظارت را درک کنند. راه اندازی ابزارهای شخص ثالث گران و زمان بر است.
با در نظر گرفتن این نکات دردناک، هارنس (پلتفرم تحویل مداوم مدرن) قابلیتی به نام تأیید مداوم را معرفی کرده است تا به متخصصان DevOps کمک کند تا استقرار خود را از طریق هر ابزار نظارتی انتخابی خود تأیید کنند.
امروز ما در مورد تأیید مداوم صحبت خواهیم کرد و به شما نشان خواهیم داد که چگونه استقرار Kubernetes خود را با استفاده از ویژگی تأیید مداوم Harness تأیید کنید.
تأیید مستمر چیست؟
تأیید مستمر (CV) روشی است که شامل نظارت و اعتبارسنجی مداوم کیفیت استقرار نرمافزار میشود و اطمینان حاصل میکند که برنامهها و سرویسهای مستقر مطابق انتظار عمل میکنند. این فرآیندی است که تضمین می کند تغییرات ایجاد شده در یک سیستم نرم افزاری با موفقیت اجرا می شود و بر عملکرد یا عملکرد سیستم تأثیر منفی نمی گذارد. در زمینه استقرار در نرمافزار، تأیید مداوم شامل استفاده از ابزار نظارتی مانند Prometheus، AppDynamics، NewRelic، Splunk، DataDog، Dynatrace، Cloud Watch، ElasticSearch و غیره است تا تأیید و تأیید کند که برنامه یا سرویس تازه مستقر شده به درستی کار میکند. این سرویس/برنامه همیشه نظارت می شود تا مطمئن شود که همیشه همانطور که انتظار می رود کار می کند.
این شامل نظارت بر عملکرد برنامه و گزارشها، بررسی خطاها و اشکالات، و اطمینان از اینکه برنامه همه الزامات عملکردی را برآورده میکند، میشود. تأیید پیوسته بخش مهمی از فرآیند تحویل مستمر (CD) است که هدف آن فعال کردن تیمهای توسعه نرمافزار برای ارائه سریع، مکرر و با اطمینان نسخههای جدید نرمافزار است. با تأیید مداوم کیفیت استقرارها، تیمهای توسعه میتوانند مشکلات را زودهنگام پیدا کنند، به سرعت آنها را برطرف کنند و اطمینان حاصل کنند که برنامه همیشه بدون مشکل اجرا میشود. در صورت شناسایی هر گونه ناهنجاری، باید به سرعت گزارش و رفع شود تا از خرابی سرویس جلوگیری شود.
مهار تأیید مداوم
تأیید پیوسته هارنس ابزار قدرتمندی است که می تواند به شما کمک کند از کیفیت و عملکرد پیاده سازی های خود اطمینان حاصل کنید. با هارنس، میتوانید به راحتی یک خط لوله برای تأیید استقرار خود راهاندازی کنید، و ابزارهای نظارتی مختلفی را به انتخاب خود متصل کنید. هنگامی که مرحله راستیآزمایی خود را در خط لوله راهاندازی کردید، هارنس از یادگیری ماشینی بدون نظارت برای تشخیص ناهنجاریها در برنامهها یا سرویسهای مستقر شده استفاده میکند. شما می توانید یک آستانه برای این ناهنجاری ها تعیین کنید، و زمانی که آنها از آستانه تعیین شده عبور کنند، سازمان ها می توانند به طور خودکار عقب نشینی کنند و استقرار خود را از خطر دور کنند.
تیمها در صورت شناسایی هر گونه مشکل هشدار دریافت میکنند و میتوانند گزارشهای دقیق در مورد وضعیت استقرارها را مشاهده کنند و برای رفع مشکلات پیشآمده اقدام کنند. به طور کلی، تأیید مستمر مهار یک ویژگی ضروری برای هر سازمانی است که می خواهد از قابلیت اطمینان و کیفیت استقرار خود اطمینان حاصل کند. هارنس می تواند تأییدیه های استقرار تولید و پس از تولید را انجام دهد تا به شما کمک کند مطمئن شوید که استقرارها به درستی مراقبت و نظارت می شوند.
برای تأیید استقرار در Harness CD با Prometheus، می توانید این مراحل ساده را دنبال کنید:
-
برنامه خود را ابزار کنید: اجزای مربوطه را با کتابخانه های مشتری Prometheus در کد برنامه خود ابزار کنید. این کتابخانهها معیارهایی را برای Prometheus به نمایش میگذارند. ما می توانیم آنها را از طریق فایل های مانیفست سیم کشی کنیم.
-
Prometheus Endpoints را تنظیم کنید: مطمئن شوید که Prometheus را برای جمعآوری و ذخیره معیارهای استقرار شما در محیط خود راهاندازی و اجرا کردهاید.
-
مرحله تأیید را در هارنس تنظیم کنید: یک مرحله تأیید در خط لوله استقرار هارنس خود ایجاد کنید. می توانید مرحله تأیید را در خط لوله استقرار خود در مرحله مورد نظر ادغام کنید. این مرحله تأیید باید از ادغام Prometheus برای بازیابی معیارها از Prometheus و بررسی مقادیر مورد انتظار استفاده کند.
Prometheus را در کانکتور Harness Through پیکربندی کنید: جزئیات اتصال لازم مانند URL سرور Prometheus و اعتبارنامه های احراز هویت را در صورت نیاز ارائه دهید. این مرحله به هارنس امکان دسترسی به پرومته برای بازیابی داده ها را می دهد.
معیارهای تأیید را با کوئری ها تعریف کنید: معیارهایی را که می خواهید تأیید کنید مشخص کنید و معیارهای موفقیت یا شکست را تعریف کنید. برای مثال، ممکن است تأیید کنید که یک مقدار متریک خاص در محدوده قابل قبولی باقی میماند یا از آستانه خاصی برخوردار است. می توانید ادعاها را بر اساس عبارات پرس و جو، مقایسه مقادیر، یا بررسی الگوهای خاص در معیارهای برگشتی پیکربندی کنید.
- اجرا و نظارت بر استقرار: استقرارهای خود را از طریق Harness CD فعال کنید و مرحله تأیید را در خط لوله نظارت کنید. هارنس به طور خودکار معیارها را از Prometheus بازیابی می کند و آنها را با معیارهای تعریف شده و مجموعه آستانه مقایسه می کند. می توانید نتایج تأیید را در هارنس مشاهده کنید یا آنها را با سایر سیستم های نظارت یا اعلان ادغام کنید. اگر هر یک از معیارها از آستانههایی که شما مشخص کردهاید فراتر رود، Harness در استقرار با شکست مواجه میشود و میتوانید استقرارها را به عقب برگردانید.
با دنبال کردن این مراحل، میتوانید از ادغام Harness CD با Prometheus برای تأیید استقرار خود بر اساس معیارهای جمعآوریشده توسط Prometheus استفاده کنید.
بیایید ببینیم که چگونه می توان عملکرد تأیید مداوم را به طور عملی برای تأیید استقرار با استفاده از Harness CD تنظیم کرد.
پیش نیازها
-
اکانت مهار با طرح سی دی رایگان
- دسترسی خوشه ای Kubernetes برای استقرار نمونه برنامه ما A Prometheus Endpoint، ما به شما نشان خواهیم داد که چگونه آن را در آموزش خود دریافت کنید.
اگر به Prometheus دسترسی ندارید، می توانید Prometheus را در خوشه Kubernetes خود نصب کنید.
Prometheus را با Helm نصب کنید.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm upgrade --install prometheus prometheus-community/prometheus \
--namespace prometheus --create-namespace
گام بعدی افشای پرومتئوس از طریق LoadBalancer است.
kubectl expose deployment -n prometheus prometheus-server --type=LoadBalancer --name=prometheus-service
هنگامی که سرویس را با نوع LaodBalancer در معرض دید قرار می دهید، به راحتی می توانید نقاط پایانی Prometheus را دریافت کنید و می توانید نقاط پایانی را در داشبورد خود مشاهده کنید. [I am using GCP to create a cluster]
آموزش
در این آموزش نحوه عملکرد مرحله تایید با Rolling و همچنین استراتژی استقرار Canary را خواهید دید.
برای ماژول Harness CD ثبت نام کنید و با ایجاد خط لوله شروع کنید.
قبل از تأیید مداوم، باید بدانید که چگونه یک مانیفست Kubernetes را مستقر کنید. این راهنما را دنبال کنید و یک خط لوله CD ساده برای استقرار یک نمونه Grafana ایجاد کنید.
همانطور که در این آموزش گفته شد یک پروژه و یک خط لوله CD ایجاد کنید.
در نهایت، پس از پیکربندی خط لوله CD، می توانید خط لوله را ذخیره کرده و اجرا کنید تا یک استقرار موفقیت آمیز را مشاهده کنید.
ما خدمات خود را مستقر کرده ایم. بیایید یک مرحله تأیید برای تأیید استقرار اضافه کنیم.
افزودن مرحله تأیید مداوم
پس از استقرار موفقیت آمیز، خط لوله را ویرایش کنید و یک مرحله تأیید مداوم از کتابخانه مرحله اضافه کنید.
اما صبر کنید، برای موفقیت بیشتر، بیایید نوع استقرار را از Rolling به Canary تغییر دهیم، زیرا در هنگام انتشار ویژگیهای جدید یا یک نرمافزار موثرتر در نظر گرفته میشود.
چرا استقرار قناری؟
استقرار قناری یک استراتژی استقرار است که در تحویل مداوم (CD) برای کاهش خطرات و اطمینان از پایداری نسخههای جدید استفاده میشود. این شامل عرضه تدریجی یک نسخه جدید از یک برنامه برای زیرمجموعه ای از کاربران یا سرورها است در حالی که همچنان اکثر ترافیک را به نسخه پایدار و موجود هدایت می کند.
بر اساس نتایج تجزیه و تحلیل و تأیید، Harness CD میتواند تصمیم بگیرد که آیا به عرضه تدریجی ادامه دهد، دامنه استقرار قناری را افزایش دهد، یا در صورت شناسایی مشکلات، استقرار را به طور کامل به عقب برگرداند. معیارهای پرومتئوس نقش مهمی در این فرآیند تصمیم گیری ایفا می کنند.
با استفاده از استقرار قناری با مانیتورینگ پرومتئوس در هارنس سی دی، مزایای زیر را به دست می آورید:
-
کاهش خطر: استقرار Canary به شما این امکان را می دهد که به تدریج نسخه های جدید را به صورت کنترل شده آزمایش کنید و تأثیر مشکلات یا اشکالات را بر کل پایگاه کاربر خود کاهش دهید.
-
اعتبار سنجی عملکرد: معیارهای Prometheus شما را قادر می سازد تا عملکرد نسخه جدید را در مقایسه با نسخه پایدار ارزیابی کنید و اطمینان حاصل کنید که معیارهای مورد نظر را برآورده می کند.
-
تصمیم گیری خودکار: ادغام Prometheus با Harness CD به شما امکان می دهد فرآیند تجزیه و تحلیل و تأیید را خودکار کنید و تصمیمات استقرار را بر اساس قوانین و آستانه های از پیش تعریف شده بگیرید.
حتی در مرحله «تأیید»، «نوع تأیید مستمر» را به «قناری» تغییر دهید.
می توانید جزئیات زیر را به مرحله تأیید اضافه کنید.
Continuous Verification Type: Canary
Sensitivity: HIGH
Duration: 5 Min
Artifact Tag: <+serviceConfig.artifacts.primary.tag>
برای افزودن یک منبع سلامت میتوانید روی «+ افزودن» کلیک کنید. ابزارهای مختلف بهداشتی و نظارتی برای ارتباط با شما ارائه می شود. یکی را انتخاب کنید که برای شما امکان پذیر است. در این آموزش، Prometheus را از لیست انتخاب می کنیم.
Prometheus را انتخاب کنید و یک کانکتور جدید Prometheus ایجاد کنید. هارنس از اتصال دهنده ها برای احراز هویت و انجام عملیات با ابزار شخص ثالث استفاده می کند. هارنس از یک Delegate برای آزمایش کانکتور با ایجاد اتصال شبکه و احراز هویت استفاده می کند.
همانطور که در بالا می بینید، ‘promo-connector’ کانکتور Prometheus من است (شما می توانید هر چیزی را که می خواهید نام ببرید). بیایید نحوه ایجاد این کانکتور و ارتباط با Harness Delegate را ببینیم.
URL نقطه پایانی Prometheus خود را به اشتراک بگذارید.
با نماینده موجود ارتباط برقرار کنید.
اطمینان حاصل کنید که اتصال به Delegate موفقیت آمیز است.
ما کانکتور Prometheus را با موفقیت اضافه کردیم.
روی next کلیک کنید و در این صفحه پیکربندی پرس و جو قرار می گیرید.
تمام جزئیات مورد نیاز را اضافه کنید و درخواست خود را بسازید. شما باید “نام گروه” را ایجاد کنید و می توانید برگه پرس و جو را ویرایش کنید و رشته پرس و جو زیر را اضافه کنید.
max(
CV_Counter_Example_total {
app="harness-cv-prom-example"
})
ارسال کنید، خط لوله را ذخیره کنید و خط لوله را اجرا کنید.
اگر هر گونه ناهنجاری شناسایی شد، می توانید آنها را در این نمای کنسول پیدا کنید.
اعتبار سنجی لاگ ها مدتی طول می کشد و در نهایت می توانید خط لوله موفقیت آمیز را با مرحله تأیید مداوم مشاهده کنید.
برای مشاهده جزئیات، معیار را بزرگ کنید.
همچنین، میتوانید به راحتی تماسهای API خارجی و گزارشهای اجرایی را بررسی کنید تا رویدادهای بلادرنگ را ببینید.
به طور مشابه، میتوانید ابزارهای نظارتی دیگری مانند Splunk، NewRelic، DataDog، AppDymanics و غیره را متصل کنید.
در آموزش بعدی، به شما نشان خواهم داد که چگونه می توانید NewRelic را متصل کنید و استقرارهای خود را تأیید کنید.