پرش به مطلب اصلی

اپراتورها

اپراتورها در کوبرنتیز افزونه‌هایی برای خودکارسازی استقرار اپلیکیشن‌ها هستند. به‌طور معمول اپراتورها با فراهم کردن کنترلرها و Custom Resource Definition یا CRDها به‌شما کمک می‌کنند اپلیکیشن‌ها را به‌طور خودکار نصب و مدیریت کنید. در واقع اپراتورهای کوبرنتیز می‌توانند به‌کمک APIهای کوبر اپلیکیشن‌های پیچیده را به‌جای کاربر ایجاد، پیکربندی و نگه‌داری کنند.

کوبرنتیز می‌تواند اپلیکیشن‌های Stateless مانند وب‌اپلیکیشن‌ها، بک‌اند موبایل یا سرویس‌های API را بدون نیاز به آگاهی از شیوه‌ی عملکرد آن‌ها مدیریت و مقیاس کند. اما برای اپ‌های Stateful مانند دیتابیس‌ها و سیستم‌های مانیتورینگ نیاز به دانش اضافه‌ای وجود دارد که کوبرنتیز آن‌ را ندارد. اپراتورهای کوبرنتیز این دانش را در افزونه‌های Kubernetes قرار می‌دهند تا بتوانند چرخه‌ی عمر اپ را مدیریت و خوکار کنند.

به عبارت دیگر، اپراتورها مثل یک "اپراتور انسانی" عمل می‌کنند که وظایف تکراری و پیچیده را به‌طور خودکار انجام می‌دهد.

برای نمونه، اگر یک دیتابیس دچار خرابی شود، اپراتور می‌تواند به صورت خودکار اقدام به بازیابی داده‌ها و راه‌اندازی مجدد دیتابیس کند. همچنین، اپراتورها می‌توانند به صورت خودکار برنامه‌ها را به نسخه‌های جدیدتر ارتقاء دهند و اطمینان حاصل کنند که تمامی اجزای سیستم به درستی پیکربندی شده‌اند.

کانتینر ابری آروان‌کلاد با ارایه‌ی اپراتورهای پرکاربردی هم‌چون MongoDB ،PostgreSQL ،MariaDB ،Redis ،Kafka و CockroachDB تجربه‌ی ساده‌تری در اجرا و مدیریت این اپلیکیشن‌ها فراهم کرده است.

این قابلیت از طریق Kubectl در دسترس شما قرار دارد.

استفاده از اپراتورها

با اجرای دستور زیر به‌کمک Kubectl می‌توانید لیستی از تمام اپراتورهای موجود در زیرساخت کانتینر ابری را دریافت کنید:

kubectl api-resources

پس از آن می‌‌توانید با دریافت فایل yaml موردنظرتان و اجرای دستور زیر از آن‌ها استفاده کنید.

kubectl apply -f [operator.yaml] -n [namespace]

توجه داشته باشید هر یک از این اپراتورها توسط ارایه‌دهنده‌هایی مانند Strimzi ،Opstreelabs و ... طراحی شده‌اند. بنابراین اپلیکیشن‌هایتان ممکن است بر اساس محدودیت‌ها و ویژگی‌های هر کدام تحت تاثیر قرار بگیرد.