آرگو سی دی چیست؟
Argo CD یک ابزار استقرار مداوم (CD) بومی Kubernetes است. بر خلاف ابزارهای CD خارجی که فقط استقرار مبتنی بر push را فعال می کنند، Argo CD می تواند کدهای به روز شده را از مخازن Git دانلود و مستقیماً در منابع Kubernetes مستقر کند. این برنامه توسعه دهندگان را قادر می سازد تا پیکربندی زیرساخت و به روز رسانی برنامه ها را در یک سیستم مدیریت کنند.
Argo CD ویژگی ها و قابلیت های کلیدی زیر را ارائه می دهد:
استقرار دستی یا خودکار برنامه ها در یک کلاستر Kubernetes.
- همگام سازی خودکار وضعیت برنامه با نسخه فعلی پیکربندی اعلامی.
- رابط کاربری وب و رابط خط فرمان (CLI).
- توانایی تجسم مسائل استقرار، شناسایی و اصلاح دریفت پیکربندی.
- کنترل دسترسی مبتنی بر نقش (RBAC) که امکان مدیریت چند کلاستری را فراهم می کند.
- Single Sign-on (SSO) با ارائه دهندگانی مانند GitLab، GitHub، Microsoft، OAuth2، OIDC، LinkedIn، LDAP و SAML 2.0
- پشتیبانی از webhook هایی که اقدامات را در GitLab، GitHub و BitBucket راه اندازی می کنند.
GitOps با Argo CD
GitOps یک روش مهندسی نرم افزار است که از یک مخزن Git به عنوان منبع حقیقت خود استفاده می کند. تیم ها پیکربندی های اعلامی را در Git انجام می دهند و این تنظیمات برای ایجاد محیط های مورد نیاز برای فرآیند تحویل مداوم استفاده می شود. هیچ تنظیم دستی محیط ها و استفاده از اسکریپت های مستقل وجود ندارد – همه چیز از طریق مخزن Git تعریف می شود. بخش اساسی فرآیند GitOps یک pull request است. نسخههای جدید یک پیکربندی از طریق pull request معرفی میشوند، با شاخه اصلی در مخزن Git ادغام میشوند و سپس نسخه جدید بهطور خودکار مستقر میشود. مخزن Git شامل یک رکورد کامل از تمام تغییرات، از جمله تمام جزئیات محیط در هر مرحله از فرآیند است.
Argo CD مراحل آخر فرآیند GitOps را مدیریت می کند و اطمینان می دهد که پیکربندی های جدید به درستی در یک کلاسار Kubernetes مستقر شده اند.
در سطح بالا، فرآیند Argo CD به این صورت عمل می کند:
یک توسعه دهنده تغییراتی را در یک برنامه ایجاد می کند و نسخه جدیدی از تعاریف منابع Kubernetes را به یک مخزن Git منتقل می کند.
ادغام پیوسته فعال می شود و در نتیجه یک تصویر کانتینر جدید در یک رجیستری ذخیره می شود.
یک توسعه دهنده یک درخواست pull request صادر می کند، مانیفست های Kubernetes را تغییر می دهد، که به صورت دستی یا خودکار ایجاد می شوند.
درخواست pull request بررسی می شود و تغییرات در شاخه اصلی ادغام می شوند.
این یک webhook را راهاندازی میکند که به Argo CD میگوید یک تغییر ایجاد شده است.
Argo CD مخزن را شبیه سازی می کند و وضعیت برنامه را با وضعیت فعلی کلاستر Kubernetes مقایسه می کند.
تغییرات مورد نیاز را در پیکربندی کلاستر اعمال می کند.
Kubernetes از کنترلکنندههای خود برای تطبیق تغییرات مورد نیاز برای کلاستربندی منابع استفاده میکند تا زمانی که به پیکربندی مورد نظر دست یابد.
Argo CD پیشرفت را نظارت می کند و وقتی کلاستر Kubernetes آماده شد، گزارش می دهد که برنامه هماهنگ است.
ArgoCD همچنین در جهت دیگری کار می کند، تغییرات در کلاستر Kubernetes را زیر نظر می گیرد و اگر با پیکربندی فعلی در Git مطابقت نداشته باشد، آنها را کنار می گذارد.
آرگو سی دی چگونه آن را ایجاد می کند؟
GitOps agent : آرگو سی دی مسئول pull کد به روز شده از مخازن Git و استقرار مستقیم آن در منابع Kubernetes است. هم پیکربندی زیرساخت و هم به روز رسانی برنامه ها را در یک سیستم مدیریت می کند.
Custom Resource Definitions (CRD) :Argo CD در فضای نام خود در یک کلاستر Kubernetes عمل می کند. CRD های خود را فراهم می کند که API Kubernetes را گسترش می دهد و امکان تعریف حالت برنامه مورد نظر را به روشی اعلامی می دهد. بر اساس دستورالعمل های موجود در یک مخزن Git یا یک مخزن Helm، Argo CD از CRD های خود برای پیاده سازی تغییرات در فضای نام اختصاصی خود استفاده می کند.
CLI :
Argo CD یک CLI قدرتمند ارائه می دهد که به شما امکان می دهد تعاریف منابع YAML را با چند دستور ساده ایجاد کنید. به عنوان مثال، دستور ایجاد برنامه Argo CD به شما امکان می دهد چند falg را مشخص کنید و یک شی Application معتبر ایجاد کنید که برنامه شما را توصیف کند، بدون نیاز به نوشتن YAML به صورت دستی.
User Interface :
Argo CD از این جهت منحصر به فرد است که یک رابط کاربری مبتنی بر وب را ارائه می دهد که به شما امکان می دهد همان کار را انجام دهید، یک برنامه کاربردی تعریف کنید و از Argo CD بخواهید که تنظیمات YAML مربوطه را ایجاد کند. همچنین به شما امکان می دهد
Multi-tenancy:
Argo CD دارای پشتیبانی قوی برای تیم های متعددی است که روی پروژه های مختلف در یک محیط Kubernetes کار می کنند. Argo CD CRD را می توان فقط به مخازن منبع خواندنی که به یک پروژه خاص تعلق دارند محدود کرد و می توان آن را برای استقرار برنامه ها در یک خوشه و فضای نام خاص تنظیم کرد. هر نمونه CRD همچنین می تواند تنظیمات کنترل دسترسی مبتنی بر نقش (RBAC) خود را داشته باشد.
Leveraging existing tools :
بسیاری از سازمانها قبلاً روی پیکربندیهای اعلامی مبتنی بر YAML، Helm charts، Kustomize یا سیستمهای دیگر سرمایهگذاری کردهاند. آرگو سی دی قصد دارد به جای جایگزین کردن آنها، از این سرمایه گذاری های موجود استفاده کند. می تواند از هر یک از این فرمت ها برای ایجاد خودکار تعاریف CRD مربوطه استفاده کند.
معرفی دوره ویدئو
02:37
آرگو سی دی چیست؟ ویدئو
05:07
نصب کوبرنتیز با kubespray ویدئو
14:27
اضافه کردن نود جدید با kubespray ویدئو
02:25
حذف کردن نود با kubespray ویدئو
00:58
آبدیت کردن کلاستر-کنترل پلن با kubespray ویدئو
02:51
آبدیت کردن کلاستر-ورکر با kubespray ویدئو
02:05
نصب ArgoCD با استفاده از Helm Chart ویدئو
09:22
ایجاد اولین برنامه تستی در ArgoCD ویدئو
12:04
اضافه کردن یک پروژه واقعی به ArgoCD ویدئو
23:04
تنظیمات Ci/Cd پروژه در github ویدئو
27:30
اضاقه کردن action-runner های github به صورت selfhost ویدئو
14:18
فعال کردن sync خودکار ویدئو
08:58
نکات پایانی ویدئو
05:38
فایل های دوره فایل های ضمیمه
گروه پشتیبانی تلگرام
درخواست مشاوره
برای کسب اطلاعات بیشتر درباره این دوره درخواست مشاوره خود را ارسال کنید و یا با ما در تماس باشید.
درخواست مشاورهامتیاز دانشجویان دوره
نظرات
550,000 تومان
تنها اشخاصی که این محصول را خریداری کرده اند و وارد سایت شده اند می توانند در مورد این محصول بازبینی ارسال کنند.