آموزش Ansible

Ansible چیست؟

Ansible یک موتور IT متن باز و ساده است که استقرار نرم افزار، intra service orchestration، cloud provisioning و سایر ابزارهای IT خودکار می سازد. استقرار Ansible آسان است زیرا از هیچ عامل یا زیرساخت امنیتی سفارشی استفاده نمی کند.

Ansible از playbook استفاده می کند تا مشاغل خودکارسازی را توصیف کند و playbook از زبان بسیار ساده ای استفاده می کند. YAML (زبان سریال سازی داده است و معمولا برای فایل های پیکربندی مورد استفاده قرار می گیرد، اما می تواند در بسیاری از اپلیکیشن ها که داده ها در آنها ذخیره می شود بکار رود) برای فهمیدن، خواندن و نوشتن بسیار ساده و آسان می باشد. از این رو، مزیت این امر این است که حتی زیرساخت های فناوری اطلاعات از افرادی که می توانند playbook را بخوانند و درک کنند  و در صورت لزوم اشکال زدایی کنند پشتیبانی می کند.

Ansible برای استقرار multi-tier طراحی شده است. Ansible یک سیستم را در یک زمان مدیریت نمی کند، زیرساخت فناوری اطلاعات را با توصیف تمام سیستم های مرتبط مدل سازی می کند. Ansible با اتصال به گره ها از طریق ssh (به طور پیش فرض) کار می کند. اما اگر می خواهید از متد دیگری برای اتصال مانند Kerberos، Anabled استفاده کنید این گزینه را برای شما فراهم می کند. پس از اتصال به گره ها، Ansible برنامه های کوچکی را به نام Ansible Modules اعمال می کند. Ansible آن ماژول ها را در گره ها اجرا می کند و و بعد از اتمام آنها را حذف می کند. Ansible موجودی شما را در فایل های متنی ساده مدیریت می کند (hosts file). همچنین Ansible از فایل هاست ها استفاده می کند که در آن می توان هاست ها را گروه بندی کرد و می تواند اقدامات مربوط به یک گروه خاص را در Playbooks کنترل کرد.

کاربرد Ansible 

  • مدیریت پیکربندی
  • Multi-Tier Orchestration
  • استقرار اپلیکیشن یا نرم افزار
  • تحویل مداوم
  • امنیت و انطباق
  • provisioning

Ansible برای دستگاه های شبکه

از زمان انتشار Ansible 2.1 پشتیبانی شبکه کاملا گسترده ای به عنوان بخشی از محصول وجود دارد. بنابراین اکنون هیچ مشکلی برای مدیریت دستگاه های شبکه با Ansible نیست. ماژول های شبکه سازی اصلی Ansible، به پلتفرم های خاص متصل می شوند. مثلا یک ماژول ios_config برای پیکربندی دستگاه های Cisco IOS، برای Juniper ماژول junos_config و غیره است. شما همچنین می توانید با استفاده از کتابخانه Napalm از Ansible شبکه خود را خودکارسازی کنید.