ci/cd

Description of the image

سروان یه پروژه زده که هر ریپوزیتوری بخواد توسط argocd زیر نظر گرفته بشه ، باید اینجا رجیستر بشه اسمش GitOps هست.

اگر بخواهیم درون کانتینر گیلب ، یه داکر بیلد کنیم ، دسترسی نداریم ، به این منظور از kaniko استفاده می کنیم و کارش اینه که با استفاده از docker engine مستقر در ماشین ، کانتینر های cicd رو بسازه و و در صورت خطا برگراعلام کنه

در صورتی که روی برنچ فیچر پوش بزنیم اتفاقی نمی افته اما اگه روی dev بزنیم یه ایمیج جدید بیلد میشه ، همچنین هر برنچ ، مثل مستر یا استیج ، یه لاجیک داره

logs

بر روی هر نود - ماشین - باید filebeat رو نصب کنیم و لاگ ها رو به logstash بدیم توجه شود داده های کلیدی باید ماسک شوند

devops_ovseribility

اگر بخواهیم این مبحث رو تقسیم کنیم ۴ بخش اصلی داریم

monitoring

وظیفش نمایش استاتیک هست مثل ریسورس ها ولی اگه خفن تر باشه ،پیش بینی هم میکنه

tracing

فلوی یه درخواست توی اکوسیستم

logging

خطا ها و وارنینگ هایی که میگیریم ، میشه گفت جاهایی که برنامه میترکه یا درخواست فیل می شه

visualizition

شبیه به گرافانا ، ابزار هایی که با جدول و آمار خوشگل نشون میدن

هرابزار ۴ بخش اصلی هم دارد

مقلن

data collector

push base

مانند stdout که لاگ هامون رو خودش میاد جمع میکنه

pull base

مانند exporter یه ابزار برای پرومتئوس هست و برنامه ها باید متریک هاشون رو بفرستن برای پرومتئوس

وظیفش اینه بشینه تمام stdout ها رو بخونه

alert manager

می گیم اگه اتفاق خاصی افتاد خبر بده ، مثل کیف پول اسمس تموم شد خبر بده

data format

پرومتعوس یه دیتابیس time series هست با ابزار های خوب مانند elastic sreach

grafana loki یه دیتابیس کاملا شبیهبه الستیک هست

kube

workload

نحوه ی پیاده سازی ریسورس یا پاد روی کلاستر

deployment

یه رپ روی replica set هست

hpa

مثلا اگه دیپلوینت ۳ تا رپلیکا بود

حالا توی مانیفست hpa گفته اگه دیپلویمنت بالایی هر پاد بیش از ۸۰ درصد رم و پردازش خاست ، تعداد پاد ها رو زیاد کن