برای شرکتهایی که قصد استفاده از فناوریهای کانتینری و مدیریت ارکستراسیون کانتینر را دارند، Rancher گزینه جذابی محسوب می گردد. در این مقاله، به بررسی کلیت پلتفرم رنچر و ویژگیهای آن پرداخته می شود. همچنین در پایان توضیح داده شده است که در چه مواقعی شرکت ها باید از Rancher یا گزینه های دیگر استفاده نمایند.
Rancher چیست؟
Rancher یک محصول نرمافزاری است که برای مدیریت کلاسترهای Kubernetes استفاده میشود. این برنامه امکان مدیریت کلاسترهای موجود و همچنین ایجاد کلاستر جدید را فراهم می کند.
تصویر(1)
Rancher Labs
Rancher Labs یک شرکت نرمافزاری است که توسعه دهنده رنچر و چندین محصول دیگر می باشد. این شرکت کنسول Rancher را برای مدیریت کلاسترهای کوبرنتیز ایجاد نمود و برخی توزیعهای کوبرنتیز مانند RKE و K3s را نیز تولید کرده است. این شرکت در اواخر سال 2020 توسط شرکت SUSE خریداری شد و از پشتیبانی مناسبی برخوردار می باشد.
Rancher چه کاربردی دارد؟
Rancher برای آماده سازی و مدیریت کلاسترهای Kubernetes استفاده میشود. شما میتوانید کلاسترهای موجود خود را ایمپورت نمایید. این کلاسترها می توانند کلاستر های سفارشی یا مدیریت شده مانند EKS و GKE باشند.
ویژگیهای پلتفرم Rancher
Rancher به شما امکان میدهد به راحتی امنیت را در سراسر کلاسترها مدیریت کنید. میتوانید کاربر تعریف نمایید، از روشهای احراز هویت خارجی مانند LDAP استفاده کنید، به کاربران مجوزهای موردنظر را اختصاص دهید و همچنین تعیین نمایید که کاربران به چه منابعی در کلاسترهایی که توسط رنچر مدیریت میشوند، دسترسی داشته باشند.
ارکستراسیون زیرساخت (Infrastructure Orchestration)
با استفاده از Rancher شما میتوانید یک کلاستر کوبرنتیز را مستقیماً از صفحه کنسول مدیریت نمایید. موارد قابل مدیریت شامل پشتیبانگیری و بازیابی از etcd، ارتقاء نسخه کوبرنتیز، بازیابی کلاسترهای آسیبدیده و حتی اضافه یا جایگزین کردن node ها می باشد.
ارکستراسیون کانتینرها
کنسول Rancher با رابط کاربری ساده خود تمام ویژگیهای کوبرنتیز را ارائه می کند. از جمله این موارد می توان به ایجاد پروژه، مدیریت بار کاری (workload)، تنظیمات توزیع بار (load balancer) و سایر ویژگیهای مربوط به کانتینرها اشاره کرد.
تصویر(2)
با استفاده از ویژگیهای امنیتی این برنامه، میتوانید بخش هایی را تعریف کنید که کاربران به آن دسترسی داشته باشند. همچنین امکان مدیریت بارهای کاری و پروژهها را بدون نیاز به دانش عمیق در خصوص کوبرنتیز و ابزارهای خط فرمان (CLI) فراهم می کند. ابزارهای خط فرمان همچنان برای اتوماسیون یا اسکریپتنویسی قابل استفاده هستند اما کار با کنسول میتواند برای کاربران نهایی آسانتر باشد.
Application Catalog
Application Catalog (یا Marketplace در Rancher نسخه 2.5+) لیستی از برنامههای پیکربندی شده و تایید شده برای اجرا در کوبرنتیز را ارائه می دهد. این برنامهها نمودارهای Helm v3 هستند که با استفاده از برخی افزونههای رنچر تنظیم شدهاند تا فرایند شخصی سازی را تسهیل نمایند. این برنامهها به راحتی از طریق کنسول قابل نصب می باشند.
مخازن نرم افزاری دیگری نیز جهت استفاده در دسترس هستند. میتوانید مخزن نرم افزاری خود را نیز اضافه کنید تا بتوانید به راحتی برنامهها را در کلاستر موردنظرتان مستقر نمایید. با استقرار یک برنامه، دستورات helm در پس زمینه اجرا می شوند، بنابراین نگرانی در خصوص تنظیمات اشتباه یا وارد کردن مقادیر نادرست وجود ندارد. برنامههای متنوعی از جمله ابزار های مانیتورینگ قدرتمند مانند Prometheus و Grafana هستند که می توانید از آنها نیز استفاده نمایید.
نرمافزار Rancher
نرمافزار Rancher خود در یک کلاستر کوبرنتیز اجرا میشود. این کلاستر میتواند یک کلاستر کامل با استفاده از RKE یا یک کانتینر Docker با استفاده از K3s باشد. این نرمافزار دارای یک رابط کاربری تحت وب است که امکان دسترسی و مدیریت کلاسترهای کوبرنتیز را فراهم می کند.
RKE
RKE (مخفف Rancher Kubernetes Engine) یک توزیع کوبرنتیز با گواهینامه CNCF است که در کانتینرهای داکر اجرا میشود. این امر نصب و راهاندازی آن را تسهیل می کند زیرا تنها کاری که باید انجام دهید، اجرای یک نسخه پشتیبانی شده از Docker است.
K3s
K3s یک توزیع سبک و رسمی از کوبرنتیز است. در واقع یک فایل باینری با حجم کمتر از 40 مگابایت می باشد که شامل تمامی اجزا لازم برای اجرای یک کلاستر کوبرنتیز است. از جمله آنها میتوان به etcd، nginx و سایر کامپوننتهای کوبرنتیز اشاره کرد. این توزیع جهت اجرا در دستگاههای اینترنت اشیا (IoT) و محیطهایی با منابع محدود طراحی شده است.
آیا نیاز است از Rancher استفاده نمایید؟
رنچر برای مدیریت تعداد کلاستر های بالا مناسب است مخصوصا اگر دارای کاربرانی هستید که در حال انجام پروژه روی کلاستر های مختلف هستند. Rancher به شما امکان میدهد تا کاربران را در یک مکان به صورت متمرکز مدیریت نموده و تغییرات را در تمام پروژهها اعمال نمایید. همچنین به شما امکان می دهد تا تمامی کلاستر ها و تنظیماتشان را در یک مکان مشاهده کنید.
چه زمانی نیاز به استفاده از Rancher نمی باشد؟
اگر یک کلاستر با تعداد کمی کاربر دارید و فقط با استفاده از ابزارهای خط فرمان آن را مدیریت می کنید، Rancher ممکن است ابزار مناسبی نباشد. استفاده از این ابزار کمی پیچیدگی را افزایش میدهد و نیاز به حداقل یک Node اضافی برای کلاستر رنچر و همچنین زیرساختهای مربوط به آن مانند Load balancer ها، تنظیمات DNS، پشتیبان گیری از فایل ها و… دارد.
نتیجه گیری
Rancher یک ابزار خوب برای مدیریت کلاستر کوبرنتیز است. این ابزار ایجاد کلاستر را آسانتر نموده و یک رابط کاربری مناسب برای نظارت و مدیریت آنها فراهم میکند. استفاده از آن ساده است و ویژگیهای متنوعی از جمله یک داشبورد جداگانه کوبرنتیز برای مشاهده جزئیات داخلی هر کلاستر ارائه میدهد.