فناوری · زنجیرهٔ تأمین
GitOps (اختیاری) در دزکوب
حالت تحویل اختیاری برای تیمهایی که GitOps دارند
- نسخهٔ پینشده
- ⟦V_ARGOCD⟧
- لایسنس
- Apache 2.0
- گروه در استک
- زنجیرهٔ تأمین
GitOps (اختیاری) چیست
موتور تحویل دزکوب GitOps نیست. مدل ما امری است و منبع حقیقتش خودِ کلاستر. اگر تیم شما امروز روی GitOps کار میکند، این صفحه توضیح میدهد چطور دو مدل کنار هم مینشینند — و کجا نمینشینند.
تفاوت دو مدل
| GitOps خالص | دزکوب | |
|---|---|---|
| منبع حقیقت | مخزن گیت | خودِ کلاستر |
| جهت | کنترلر از گیت میکشد | کنترلپلن به کلاستر مینویسد |
| تغییر خارج از مسیر | برگردانده میشود به حالت گیت | reconciler میبیند: برمیگرداند یا گزارش میدهد |
| مدل عملیاتی | تغییر = commit | تغییر = عمل در پلتفرم، با ممیزی |
چرا GitOps را موتور اصلی نکردیم: اگر یک موتور GitOps بالای کنترلپلن دزکوب بنشیند، دو مالک برای یک شیء پیدا میشود. هر دو مدل «درست» رفتار میکنند و نتیجهاش نوسان بیپایان است: یکی مینویسد، دیگری برمیگرداند. این مشکل قابل حل است، ولی راهحلش انتخاب یک مالک بهازای هر شیء است — نه اجرای همزمان هر دو روی یک منبع.
ما دقیقاً چطور استفادهاش میکنیم
- تفکیک مالکیت. برخی namespaceها تحت GitOps، بقیه تحت دزکوب — هر شیء یک مالک.
- GitOps برای پیکربندی، دزکوب برای چرخهٔ حیات. تیم شما manifest مینویسد، دزکوب زیرساخت و حاکمیت را میدهد.
- افزونه در کاتالوگ. موتور GitOps بهعنوان یک افزونهٔ پینشده نصب میشود.
برای شما چه چیزی عوض میشود
- دو سامانه سر یک منبع میجنگندیک مالک بهازای هر شیء
- مهاجرت اجباری از GitOpsGitOps فعلیتان میماند
مرزها و محدودیتها
این سکشن در هر صفحهٔ فناوری اجباری است. هر ابزاری مرزی دارد؛ صفحهای که مرزش را نگوید، بقیهاش هم قابل اتکا نیست.
- اجرای همزمان GitOps و مدیریت دستی روی یک منبع پشتیبانی نمیشود و باعث نوسان میشود. این باید در جلسهٔ استقرار صریح تعریف شود.
- همین هشدار دربارهٔ ارائهدهندهٔ Terraform هم صدق میکند.
اینها را هم ببینید
این را روی زیرساخت خودتان ببینید.
همین مؤلفه را در کلاستر شما پیکربندی میکنیم و نشان میدهیم.