اتصال کلاستر کوبرنتیز به گیت لب
در استفاده از سرویس کوبرنتیز، یکی از کارهایی که میتواند روند پیشرفت کار را افزایش دهد، اتصال کلاستر کوبرنتیز به گیت لب است.
اما چرا این کار اهمیت دارد؟ و از طرفی چگونه میتوان کلاستر را به گیت لب متصل کرد؟ در این مقاله نگاهی کلی به نحوه اتصال کلاستر کوبرنتیز با استفاده از گیت لب انداختهایم. شما با استفاده از این مقاله میتوانید با راههای این اتصال آشنا شوید و در صورت نیاز از آنها استفاده کنید. همچنین به نسخههای تحت پشتیبانی کوبرنتیز در گیت لب نیز اشاره کردهایم. برای آشنایی بیشتر با این موارد، به شما پیشنهاد میکنیم ادامه این مقاله را از دست ندهید.
نحوه اتصال کلاستر کوبرنتیز با استفاده از گیت لب
شما میتوانید برای اتصال کلاستر کوبرنتیز خود، از گیت لب استفاده کنید. این کار را میتوانید برای استقرار، مدیریت و مانیتورینگ راهحلهای سرویس ابری خود استفاده کنید. برای اتصال یک کلاستر کوبرنتیز به گیت لب، در ابتدا باید یک ایجنت را روی کلاستر خود نصب کنید. درباره نصب ایجینت روی کلاستر در مقاله دیگری به طور مفصل صحبت کردهایم.
ایجنت به گونهای است که روی کلاستر اجرا میشود و شما میتوانید از آن برای موارد زیر استفاده کنید:
- برقراری ارتباط با یک کلاستر که در پشت فایروال یا NAT قرار دارد.
- داشتن دسترسی به اند پوینت یا نقطه پایانهای API در کلاستر در حالت Real Time
- قرار دادن اطلاعات درباره ایونتها یا مناسباتی که در کلاستر جریان دارند.
- فعال کردن کش از اجزای کوبرنتیز که با لیتنسی یا تاخیر خیلی پایینی به روز رسانی میشوند.
برای داشتن اطلاعات بیشتر درباره این مسئله میتوانید جزئیات درباره هدف و معماری ایجنت را در گیت لب مطالعه کنید.
جریان کار یا workflow
مرحله بعدی برای اتصال کلاستر کوبرنتیز به گیت لب، استفاده از ورک فلوی مناسب است. شما برای این کار میتوانید از دو ورک فلوی اصلی استفاده کنید. این دو جریان کار شامل GitOps و ورک فلوی CI/CD گیت لب هستند. جریان کار گیت آپس جریان پیشنهادی برای این کار است با این حال در ادامه نحوه کار با هر دو ورک فلو را به طور کامل توضیح دادهایم.
· GitOps
در یک جریان کار گیت آپس باید مراحل زیر را انجام دهید.
- مانیفستهای کوبرنتیز خود را در گیت لب نگهداری میکنید.
- در مرحله بعد یک ایجنت گیت لب را روی کلاستر خود نصب میکنید.
- زمانی که مانیفستهای خود را به روز رسانی کردید، ایجنت کلاستر شما را آپدیت میکند.
- کلاستر به صورت خودکار تغییرات ناگهانی را تغییر میدهد. این عضو از راهکار Server-side applies برای تنظیم پیکربندیهای مربوط به پروژه استفاده میکند و ناهماهنگیهایی که شخص ثالث یا third-party معرفی میکند را شناسایی میکند.
این ورک فلو به طور خودکار توسط گیت اجرا میشود و به عنوان یک عمل pull-based یا مبتنی بر کشش در نظر گرفته میشود؛ چرا که کلاستر در حال به روز رسانی اطلاعات خود از مخزن گیت لب شما است. گیت لب این ورک فلو را برای استفاده پیشنهاد میکند. این سرویس در حال حاضر در حال سرمایهگذاری روی این جریان کار است تا بتواند تجربهای درجه یک را به کاربران خود ارائه دهند.
· جریان کار CI/CD گیت لب
برای ایجاد یک جریان کار یا ورک فلوی CI/CD گیت لب، این جریان را برای استفاده از API کوبرنتیز پیکربندی میکنید تا بتوان با استفاده از آن کلاستر را به روز رسانی و کوئری ایجاد کرد. این ورک فلو مبتنی بر فشار یا push-based است؛ چرا که گیت لب در این جریان کار، درخواستها را از CI/CD گیت لب به کلاستر شما منتقل میکند.
از این ورک فلو میتوانید در مواقع زیر استفاده کنید.
- زمانی که فرایندهای سنگین pipeline-oriented یا مبتنی بر خط لوله دارید.
- زمانی که نیاز به انتقال به ایجنت را دارید؛ اما ورک فلوی GitOps از مورد در حال استفاده شما نمیتواند پشتیبانی کند.
این ورک فلو نیز یکی از ورک فلوهای قابل استفاده برای اتصال کلاستر به گیت لب است، با این حال به دلیل مدل ضعیف امنیتی مورد پیشنهاد برای استفاده همیشگی نیست.
نسخههای پشتیبانی شده کلاستر
گیت لب از نسخههای کوبرنتیز پیش رو برای اتصال کلاستر به خود پشتیبانی میکند. شما هر زمان که خواستید میتوانید سرویس کوبرنتیز خود را به نسخه تحت پشتیبانی به روز رسانی کنید.
- ۱.۲۵ (پشتیبانی آن یا در ۲۲ اکتبر ۲۰۲۳، یا زمانی که نسخه ۱.۲۸ عرضه شود به پایان میرسد)
- ۱.۲۴ (پشتیبانی آن یا در ۲۲ جولای ۲۰۲۳، یا زمانی که نسخه ۱.۲۷ عرضه شود به پایان میرسد)
- ۱.۲۳ (پشتیبانی آن یا در ۲۲ فوریه ۲۰۲۳، یا زمانی که نسخه ۱.۲۶ عرضه شود به پایان میرسد)
گیت لب قصد دارد تا از نسخه کوچک نسخه کوبرنتیز سه ماه بعد از انتشار آن پشتیبانی کند. گیت لب از حداقل سه نسخه کوچک کوبرنتیز در لحظه و در هر زمانی پشتیبانی میکند. پشتیبانی از APIهای منسوخ شده را میتوان از پایگاه کد یا codebase گیت لب حذف کرد. این اتفاق زمانی عملی میشود که نسخههای جدید وارد بازار شوند یا به تاریخی برسیم که گیت لب دیگر از آن نسخهها پشتیبانی نکند. البته بعضی از ویژگیهای گیت لب ممکن است روی نسخههای دیگری از کوبرنتیز که در این بخش لیست نکردهایم کار کنند.
کلام آخر
در این مقاله نگاهی به اتصال کوبرنتیز با گیت لب انداختیم. همانطور که در متن خواندیم، متوجه شدیم که میتوان کلاستر را با استفاده از دو روش GitOps و CI/CD به کوبرنتیز متصل کرد. استفاده از هر کدام این روشها میتواند به شما در ادامه مسیر کمک کند، اما روش پیشنهادی کارشناسان برای استفاده، روش GitOps است. برای این کار شما باید یک ایجنت را نیز روی سرویس خود متصل کنید که در مقاله دیگری به طور کامل به نصب ایجنت پرداختهایم. امیدواریم از خواندن این مقاله نهایت استفاده را برده باشید.