انسیبل چیست ؟

Ansible یا به فارسی انسیبل یک ابزار کنترل و مدیریتی است که بر روی لینوکس نصب شده و قادر به آن است که سایر سرورها و کلاینت‌های لینوکسی را کنترل نماید.

این ابزار که در اکتبر 2015 توسط شرکتی با نام Ansible Inc معرفی شد است یکی از پروژه‌های زیر نظر Redhat بوده و در حال حاضر مالیکیت و استراتژی‌های کاری آن توسط ردهت پایه‌ریزی می‌شود.

حال در ادامه با معرفی انسیبل همراه ما باشید.

معرفی انسیبل
Ansible یکی ابزار متن‌باز اتوماسیون تأمین ، مدیریت پیکربندی ، تنظیمات و گسترش برنامه‌ها بر روی لینوکس و فضای ابری است که برای کنترل سرورها از طریق SSH اقدام نموده و نیازی به Agent بر روی سیستم کلاینت ندارد.

با نصب و کانفیگ این ابزار بر روی سرور اصلی که با نام Control Node شناخته می‌شود ، شما می‌توانید سایر کلاینت را از طریق SSH مدیریت نمایید.

این ابزار در حال حاضر بر روی توزیع‌های CentOS ، Redhat Enterprise ، Debian ، Ubuntu و سایر توزیع‌های استاندارد بر پایه لینوکس‌های ذکر شده قابل نصب و استفاده می‌باشد.

در یک تعریف کلی می‌توان گفت ، Ansible یک ابزار Remote Administration است که این توانایی را به مدیر یک شبکه می‌دهد تا سرورهای لینوکسی دیگر را به صورت جامع در یک پنل کارآمد مدیریت و کنترل نماید.

اهداف و طراحی Ansible
به گفته شرکت Redhat ، هدف اصلی طراحی و توسعه Ansible ، ساده‌سازی کار با سرورهای لینوکسی و همچنین افزایش امنیت و اعتماد‌پذیری به سرورهای لینوکسی است . در ادامه اهداف این ابزار ذکر شده که Ansible می‌تواند با اتوماسیون‌سازی ، قابلیت‌های آن را در اختیار یک تیم قرار داده تا تنها با یک کلیک مشکلات بوجود آمده را حل کنند.

ماژول‌ها
ماژول‌های انسیبل ، واحدهای کاری آن محسوب می‌شوند و هر یک از آنها قابلیت کارایی به صورت تنها و بدون وابستگی را دارند و می‌توان آنها را با زبان‌های اسکریپت‌نویسی Bash ، Python ، Perl و Ruby تولید نمود. لازم بذکر است که بدانید تا به امروز بیش از 800 ماژول متنوع برای این ابزار سیستمی طراحی و توسعه داده شده است که هر یک از آنها را نسبت به نیاز خود می‌توانید دانلود و استفاده نمایید.

نحوه عملکرد Ansible
تمامی کلاینت‌هایی که با نام Node به سروری که Ansible نصب شده است که به آن Control Machine گفته می‌شود از طریق SSH متصل شده و پس از درخواست اجرای یک دستور ، ماژول به صورت موقت از Control Machine به Node ارسال می‌گردد و از طریق پروتکل‌های استاندارد JSON اجرا می‌شوند و نتیجه را به انسیبل (Control Machine) باز می‌گرداند. لازم بذکر است که بدانید در هنگامی که دستوری برای هر Node ارسال نمی‌گردد ، انسیبل هیچ سرویسی را در Background کلاینت‌ها اجرا نمی‌کند ، بنابراین پردازشی بر روی سیستم‌های کلاینت انجام نشده و در نتیجه منابع سخت‌افزاری برای این موضوع در اختیار Ansible قرار نمی‌گیرد.