Dezkubeدزکوب

مقایسه

دزکوب و GitOps

اگر تیم شما امروز GitOps دارد، این صفحه می‌گوید دو مدل کجا کنار هم می‌نشینند و کجا نمی‌نشینند.

چطور این مقایسه را انجام دادیم

این مقایسه بر پایهٔ مستندات عمومی، کد متن‌باز (جایی که موجود است) و تحلیل فنی خودمان انجام شده. هر ادعای منفی دربارهٔ محصول دیگر، به منبع عمومی متکی است.

اگر جایی اشتباه کرده‌ایم، بگویید تا اصلاح کنیم: hello@dezkube.com

آخرین بازبینی: ۵ شهریور ۱۴۰۵

دو مدل

دو مدل
GitOps خالصدزکوب
منبع حقیقتمخزن گیتخودِ کلاستر
جهتکنترلر از گیت می‌کشدکنترل‌پلن به کلاستر می‌نویسد
تغییرcommitعمل در پلتفرم، با ممیزی
تغییر خارج از مسیربرگردانده به حالت گیتreconciler می‌بیند: برمی‌گرداند یا گزارش می‌دهد
دامنهتحویل پیکربندیچرخهٔ حیات کامل زیرساخت

چرا GitOps را موتور اصلی نکردیم: اگر یک موتور GitOps بالای کنترل‌پلن دزکوب بنشیند، دو مالک برای یک شیء پیدا می‌شود. هر دو مدل «درست» رفتار می‌کنند و نتیجه‌اش نوسان بی‌پایان است: یکی می‌نویسد، دیگری برمی‌گرداند.

این قابل حل است — ولی راه‌حلش انتخاب یک مالک به‌ازای هر شیء است، نه اجرای هم‌زمان هر دو روی یک منبع.

علاوه بر این: GitOps موتور تحویل است، نه موتور ساخت. بیلد، اسکن، امضا و اصالت را نمی‌دهد. آن‌ها باید جای دیگری باشند.

الگوهای همزیستی

  • تفکیک مالکیت

    برخی namespaceها تحت GitOps، بقیه تحت دزکوب.

  • تقسیم لایه

    GitOps برای پیکربندی اپلیکیشن، دزکوب برای زیرساخت و حاکمیت.

  • افزونه در کاتالوگ

    موتور GitOps به‌عنوان یک افزونهٔ پین‌شده نصب می‌شود.

آنچه یاد گرفتیم

این سکشن جای «کجا آن‌ها بهترند» را نمی‌گیرد و وانمود هم نمی‌کند که می‌گیرد: اینجا حرفی از برنده و بازنده نیست.

  1. همه‌چیز باید به سمت یک وضعیت مطلوب همگرا شود. این در reconciler ما هست.
  2. تغییر خارج از مسیر باید دیده شود. ما هم واگرایی را تشخیص می‌دهیم.
  3. تحویل باید قابل ممیزی باشد. ما با زنجیرهٔ ممیزی به همین رسیدیم.

مرزها

  1. اجرای هم‌زمان GitOps و مدیریت دستی روی یک منبع پشتیبانی نمی‌شود. باید در جلسهٔ استقرار صریح تعریف شود.
  2. همین هشدار دربارهٔ ارائه‌دهندهٔ Terraform هم صدق می‌کند.

فهرست کوتاه خودتان را بیاورید.

در جلسه، محصول ما را در برابر همان‌ها می‌گذاریم — از جمله جاهایی که آن‌ها بهترند.