ci/cd

سروان یه پروژه زده که هر ریپوزیتوری بخواد توسط 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 یه دیتابیس کاملا شبیهبه الستیک هست
workload
نحوه ی پیاده سازی ریسورس یا پاد روی کلاستر
deployment
یه رپ روی replica set هست
hpa
مثلا اگه دیپلوینت ۳ تا رپلیکا بود
حالا توی مانیفست hpa گفته اگه دیپلویمنت بالایی هر پاد بیش از ۸۰ درصد رم و پردازش خاست ، تعداد پاد ها رو زیاد کن