Ansible چیست ؟
Ansible یک ابزار متن باز اتوماسیون تامین سیستم ابری، مدیریت کانفیگ، تنظیمات و گسترش برنامه ها میباشد. این ابزار به agent نیازی نداشته و اصطلاحا Agent Less میباشد. با نصب و کانفیگ این ابزار بر روی Control Node میتوانید Node های Client را با استفاده از اتصال نوع SSH مدیریت نمایید. این ابزار DevOPS بر روی توضیع لینوکس CentOS, Debian, Redhat Enterprise قابل نصب و استفاده است. Ansible یک ابزار Remote Administration بسیار قوی با امکانات بسیار کارامد میباشد.
در حال حاضر مالکیت Ansible در اختیار کمپانی Redhat میباشد و توسط ان اداره میشود. همانند دیگر ابزار های مدیریت و کانفیگ انسیبل نیز دارای دو سرور است:
- Control Machine
- Node
تمامی Node ها توسط یک Control Machine از طریق SSH مدیریت خواهد شد. برای تنظیم و مدیریت Node ها Ansible ماژول ها را از طریق SSH به Node ها انتقال میدهد. ماژول ها بصورت موقت در Node ها ذخیره شده و از طریق پروتکل JSON با Control Machine با استفاده از خروجی استاندارد ارتباط برقرار میکند. زمانی که انسیبل در حال مدیریت Node ها نباشد هیچ برنامه و یا پردازشی بصورت Background اجرا نشده و به همین دلیل منابعی نیز مصرف نخواهد شد.
اهداف طراحی Ansible
- حدعقل میزان مصرف کنابع
- امنیت
- اعتمادپذیری بالا
- منحنی یادگیری کم
هدف اصلی Ansible ساده سازی استفاده میباشد هرچند این شرکت امنیت و اعتمادپذیر بودن را نیزبسیار مورد توجه قرار داده و روی موارد مذکور نیز بشدت حساس میباشد. با این ابزار شما میتوانید برای مشکلات ایجاد شده یک راه حل ایجاد و ان را اتوماسیون سازی کرده و در اختیار تیم قرار دهید تا با یک کلیک مشکل را مرتفع سازد.
ماژول ها
ماژول ها واحد کاری در Ansible محسوب میشود. هر ماژول بصورت Standalone بوده و میتواند توسط زبان های استاندارد اسکریپت نویسی مانند Perl, Python, Bash یا Ruby تولید شود. تا کنون برای Ansible بیش از ۷۵۰ ماژول تولید شده است.