آنچه در این مقاله میخوانید
نحوه نصب Ansible در ویندوز
۲۸ دی ۱۴۰۴
برای نصب انسیبل (Ansible) در ویندوز، میتوانید با مراجعه به وبسایت Cygwin، بستهی سازگار با معماری سیستمعامل خود (x86 یا x64) را دانلود کنید. همانطور که میدانید، Ansible ابتدا برای لینوکس طراحی شد، اما با توجه به دیدگاه جدید مایکروسافت در رابطه با نرمافزارهای متنباز و رایگان، پشتیبانی ویندوز به این ابزار افزوده شد.
قبل از شروع فرایند نصب، بهتر است بدانیم، انسیبل ابزاری سازگار و قابلاطمینان است که مقیاسپذیری را در زیرساخت شبکهی فراهم میکند و میتوانید پیکربندیهای پایگاه داده، ذخیرهسازی، مجازی سازی، فایروالها و دیگر ابزارهای شبکه را با استفاده از انسیبل خودکار کنید. انسیبل به علت معماری ساده و رابط کاربری کاربرپسندش یکی از پرطرفدارترین ابزارهای مهندسین DevOps و مدیران سیستم شناخته میشود.
در این آموزش از لیارا، نحوه نصب Ansible بر روی ویندوز را بررسی خواهیم کرد. تا پایان همراه ما باشید.
آنچه در این مقاله میخوانید:
- انسیبل چیست؟
- ویژگی های انسیبل
- انسیبل Ansible چه کامپوننت هایی دارد؟
- مزیت های استفاده از Ansible
- آموزش نصب انسیبل در ویندوز
- جمعبندی
- سوالات متداول

انسیبل چیست؟
انجام کارهای تکراری بهصورت دستی برای مدیران سیستم (System Admin) و توسعهدهندگان نه تنها یکی از بزرگترین چالشها است، بلکه میتواند به فرایند خستهکننده تبدیل شود. در این شرایط ابزاری که این کارها را بهطور خودکار انجام دهد، به یکی از نیازهای اساسی تبدیل میشود. در این مواقع ابزارهایی مانند انسیبل میآیند تا این بار سنگین را از دوش متخصصین زیرساخت و سرور بردارند.
انسیبل یک ابزار متنباز و رایگان است که توسط شرکت RedHat توسعه داده شده است و هدف آن، ارائه یک راهحل ساده و در عین حال قابل اعتماد برای خودکارسازی کارهایی است که ممکن است ساعتها وقت شما را بگیرند؛ از استقرار اپلیکیشنها گرفته تا بهروزرسانی زیرساخت، انسیبل به شما این اجازه را میدهد که بر روی کارهای مهمتر تمرکز کنید و کارهای روتین و تکراری را به خودش بسپارید.
به عبارت دیگر، Ansible یکی از پرطرفدارترین ابزارهای اتوماسیون زیرساخت و مدیریت پیکربندی است که فرآیندهای استقرار نرمافزار و مدیریت کلی زیرساخت را ساده میکند. انسیبل یک ابزار ساده، قدرتمند و بدون نیاز به Agent است که نیازی به نصب نرمافزار خاصی روی ماشینهایی که مدیریت میکند، ندارد. با استفاده از Ansible میتوانید، وظایف مدیریتی پیچیده را با حداقل پیچیدگی انجام دهید.
برای آموزش کامل ساخت و اجرای اولین Playbook در Ansible مقاله زیر را مطالعه کنید.
ساخت Playbook در Ansible
ویژگی های انسیبل
Ansible به عنوان بهترین ابزار خودکارسازی، دارای ویژگیهای منحصربهفردی است که در ادامه به بررسی آنها میپردازیم.
پیکربندی آسان
Ansible از فایلهای YAML ساده و خوانا برای انسان برای تعریف وظایف اتوماسیون استفاده میکند. این فایلها که به آنها playbook گفته میشود، نوشتن و درک اسکریپتهای اتوماسیون را بدون نیاز به دانش برنامهنویسی خاص، آسان میسازد.
معماری بدون نیاز به Agent
برخلاف بسیاری از ابزارهای خودکارسازی دیگر، Ansible نیازی به نصب Agent روی ماشینهای هدف ندارد. این ابزار برای برقراری ارتباط با سیستمهای مبتنی بر یونیکس از SSH و برای سیستمهای ویندوز از WinRM استفاده میکند.
امنیت
Ansible از پروتکلهای امن و پرطرفدار SSH و WinRM استفاده میکند. این ابزار نیازی به باز کردن پورتهای اضافی یا راهاندازی زیرساختهای امنیتی پیچیده ندارد.
استقرار اپلیکیشن
یکی دیگر از ویژگیهای کاربردی انسیبل، آسان کردن مراحل استقرار اپلیکیشنها است. مهندسین DevOps بهراحتی میتوانند تمام تسکهای مربوط به دیپلوی اپلیکیشن را با انسیبل پیش ببرند.
ارکستریشن
وقتی صحبت از ارکستریشن (Orchestration) میکنیم، اولین موردی که به ذهن میآید، معمولا کوبرنتیز است. اینکه کوبرنتیز در مدیریت و هماهنگی سرویسها حرف اول را میزند، قابل قبول است، اما انسیبل نیز میتواند نقش مهمی در این فرایند داشته باشد. Ansible، این قابلیت را به شما میدهد که با تعریف چند تسک مشخص، به راحتی سرویسها را مدیریت، هماهنگ و اجرا کنید.
اگر میخواهید با نحوه راهاندازی Docker Compose از طریق Ansible در اوبونتو، آشنا شوید، مقاله زیر را از دست ندهید.
راهاندازی Docker Compose با Ansible
انسیبل Ansible چه کامپوننت هایی دارد؟
Ansible از کامپوننتهای زیر تشکیل شده است:
- Playbook :Playbookها در انسیبل، فایلهای YAML هستند که شامل مجموعهای از دستورات و تسکها برای انجام وظایف مختلف هستند. این فایلها ساختارهایی دارند که میتوانند چندین مرحله را بهطور ترتیبی اجرا کنند تا وضعیت مطلوب سیستمها بهدست آید.
- Inventory :Inventory یک فایل است که شامل لیست سیستمهایی است که قرار است توسط Ansible مدیریت شوند.
- Facts: توسط Ansible Facts میتوان اطلاعاتی اعم از نوع سیستم عامل ، IP Address ، مشخصات CPU ، میزان RAM و غیره را از هاست ها دریافت کرد.
- Control Node: این کامپوننت جایی است که شما Ansible را نصب کردهاید و از آن برای ارسال دستورات به سایر سیستمها استفاده میکنید. در واقع، Control Node به عنوان مرکز فرماندهی عمل میکند و به سیستمهای مختلف دستوراتی که در Playbookها تعریف شدهاند را ارسال میکند.
- Plugins: Pluginsها اجزای قابل افزوده به Ansible هستند که میتوانند ویژگیهای جدید به آن اضافه کنند. بهعنوان مثال، callback plugins برای گزارشدهی، connection plugins برای مدیریت اتصالات مختلف، و lookup plugins برای دسترسی به دادهها استفاده میشوند.
- Modules: ماژولها قطعاتی از کد هستند که برای انجام کارهای خاص مثل نصب نرمافزار، مدیریت فایلها یا پیکربندی سیستمها طراحی شدهاند. Ansible مجموعه وسیعی از ماژولها را به طور پیشفرض ارائه میدهد، اما میتوانید ماژولهای سفارشی هم بنویسید.
برای آشنایی با انسیبل (Ansible) و کاربردهای آن، مقاله زیر را بخوانید.
انسیبل (Ansible) چیست؟
مزیت های استفاده از Ansible
رایگان و متنباز بودن
انسیبل کاملاً رایگان و متنباز است، میتوانید بدون هیچ محدودیتی از آن استفاده کنید.
منعطف و قابل تنظیم
انسیبل با قابلیت سفارشیسازی بالا میتواند برای هر نیازی متناسب شود. در محیطهای توسعه و مراحل دیپلوی، انسیبل بسیار راحت خود را با شرایط مختلف سازگار میکند.
قدرتمند
با انسیبل، میتوانید جریانهای کاری IT بسیار پیچیده را مدل کرده و به راحتی آنها را اجرا کنید.
Agentless بودن
با استفاده از انسیبل، شما نیازی به نصب هیچ نرمافزار اضافی یا باز کردن پورتهای فایروال روی سیستمهای کلاینتی که میخواهید به صورت خودکار مدیریت کنید، ندارید.
راهاندازی آسان
برای اینکه بتوانید از پلیبوکهای انسیبل استفاده کنید به مهارت خاصی در برنامهنویسی نیاز ندارید، و راهاندازی آن بسیار ساده میباشد.
آموزش جامع کار با کانتینرهای داکر (ساخت + مدیریت و حذف کانتینرها) را در مقاله زیر مطالعه کنید.
نحوه کار با کانتینرها
آموزش نصب انسیبل در ویندوز
با توجه به اینکه، انسیبل بهطور کلی ابزاری برای خودکارسازی سرورهای لینوکسی است، پشتیبانی روبه رشد آن در ویندوز، آن را به انتخابی مناسب برای مدیریت همزمان محیطهای لینوکس و ویندوز تبدیل کرده است.
قبل از شروع مراحل نصب انسیبل در ویندوز، باید پیشنیازهای زیر را آماده کنید:
- یک سرور با سیستمعامل ویندوز
- یک حساب کاربری با دسترسی ادمین (Administrative Privilege)
برای نصب انسیبل روی ویندوز، میتوانید یکی از سه روش زیر را انتخاب کنید:
- روش اول: نصب Ansible با Windows Subsystem for Linux (WSL)
- روش دوم: نصب Ansible با استفاده از Cygwin
- روش سوم: نصب Ansible با راهاندازی یک ماشین مجازی لینوکسی (Linux Virtual Machine)
در ادامه هر کدام از این روشها را باجزئیات بررسی میکنیم.
روش اول: نصب Ansible با Windows Subsystem for Linux (WSL)
subsystem ویندوز برای لینوکس یا همان WSL، یک محیط لینوکسی را مستقیما روی ویندوز راهاندازی میکند. برای نصب انسیبل با استفاده از WSL، مراحل زیر را دنبال کنید:
پاورشل (PowerShell) را باز کنید و از بخش سمت راست روی Run as Administrator کلیک کنید تا با دسترسی ادمین اجرا شود.
حالا دستور زیر را در پاورشل وارد کنید تا یک توزیع لینوکس مانند اوبونتو نصب شده و WSL فعال شود:
wsl --install

پس از اینکه نصب اوبونتو در WSL کامل شد، باید ریپازیتوریها را آپدیت کنید. برای اینکار دستور زیر را در محیط ترمینال WSL وارد کنید:
sudo apt update
سپس پیشنیازهای لازم برای نصب انسیبل را با دستور زیر نصب کنید:
sudo apt install software-properties-common
این پکیج، ابزارهای مدیریتی برای مخازن نرمافزاری را روی اوبونتو نصب میکند.
حال باید مخزن (repository) رسمی انسیبل را به سیستم اضافه کنید.
دستور زیر را وارد کنید:
sudo apt-add-repository ppa:ansible/ansible
با اجرای دستور بالا، انسیبل از منبع رسمی و معتبر نصب میشود که همیشه نسخههای بهروز را فراهم میکند.

زمانی که فرایند اضافه کردن ریپازیتوریها تمام میشود، و از شما درخواست میکند که میخواهید ادامه دهید، کافی است کلید Enter را بزنید.
پس از آن مجددا، ریپازیتوریها را آپدیت کنید تا سیستم، اطلاعات مخزن (Repository) جدید را هم بشناسد:
sudo apt update
این مرحله مهم است، زیرا بدون آپدیت، سیستم نمیتواند انسیبل را از مخزن (Repository) جدید پیدا کند.
پس از آپدیت، میتوانید نصب نهایی انسیبل را با دستور زیر انجام دهید:
sudo apt install ansible -y
اکنون، انسیبل بدون نیاز به تائید دوباره و بهصورت خودکار نصب میشود.

بعد از نصب، انسیبل آماده استفاده خواهد بود. با اجرای دستور زیر مطمئن شوید که Ansible بهدرستی نصب شده است:
ansible --version
برای آشنایی کامل با کوبرنتیز (Kubernetes) و چگونگی کارکرد آن، مقاله زیر را از دست ندهید.
کوبرنتیز (Kubernetes) چیست؟
روش دوم: نصب Ansible با استفاده از Cygwin
Cygwin یک محیط شبیه یونیکس بر روی ویندوز است که از طریق آن میتوانید، ابزارهای لینوکسی را بسیار راحت روی ویندوز اجرا کنید. اگر تصمیم گرفتید با استفاده از Cygwin انسیبل را نصب کنید، مراحل زیر را دنبال کنید:
- وارد سایت رسمی Cygwin شوید و فایل نصبی آن را دانلود کنید. فرقی نمیکند ویندوز شما ۳۲ یا ۶۴ بیتی باشد، فایل نصبی نسخه مناسب سیستمعاملتان را نصب میکند.
- فایل دانلود شده را نصب کنید.

در مرحله بعدی، باید گزینهی Install from Internet را به عنوان منبع دانلود انتخاب کنید.

اکنون باید یک مسیر برای نصب Cygwin انتخاب کنید. در قسمت Root Directory، مسیر نصب را مشخص کنید. با کلیک دکمه Next به مرحله بعد بروید.

حالا در پنجرهی Local Package Directory، باید یک دایرکتوری انتخاب کنید که فایلهای پکیجهای دانلودی Cygwin در آن ذخیره شود.
پس از انتخاب دایرکتوری، روی Next کلیک کنید.

وقتی محل نصب را انتخاب کردید، وقت آن است که تنظیمات اینترنت را انجام دهید.
اگر از پروکسی استفاده نمیکنید، گزینهی Direct Connection را انتخاب کنید. اما اگر از پروکسی برای اتصال به اینترنت استفاده میکنید، دو گزینه وجود دارد:
- Use System Proxy Settings: این گزینه، تنظیمات پروکسی سیستم را استفاده میکند.
- Use HTTP/FTP Proxy: این گزینه به شما این امکان را میدهد که تنظیمات پروکسی را به صورت دستی وارد کنید.
پس از انتخاب گزینه مناسب، روی Next کلیک کنید تا مراحل بعدی نصب انجام شود.

الان نوبت به انتخاب Mirror میرسد. یک mirror (آینه) باید انتخاب کنید تا فایلهای نصب Cygwin از آنجا دانلود شود.

پس از انتخاب Mirror، در صفحهی Select Packages، در قسمت جستجو، کلمهی Ansible را تایپ کنید.
پس از جستجو، دستهبندیهای Admin و Doc نمایش داده میشوند. این دستهها را باز کنید و پکیجهای ansible و ansible-doc را انتخاب کنید.

حالا که پکیجهای مورد نظر را انتخاب کردید، بهتر است همه چیز را مرور کنید.

در آخر، منتظر بمانید تا فرایند نصب تمام شود.

بعد از اینکه نصب تمام شد، باید انتخاب کنید که آیا میخواهید آیکونهای Cygwin روی Desktop یا Start Menu ایجاد شود یا خیر.

روش سوم: نصب Ansible با راهاندازی یک ماشین مجازی لینوکسی (Linux Virtual Machine)
اگر میخواهید با یک روش ساده، انسیبل را روی ویندوز نصب کنید، یکی از بهترین راهها این است که یک ماشین مجازی لینوکس روی ویندوز ایجاد کنید.
در این بخش روش نصب انسیبل را روی ویندوز با استفاده از Oracle VM VirtualBox بررسی میکنیم.
اگر بهدنبال شناخت تفاوتهای Ansible و Jenkins هستید، مقاله زیر را از دست ندهید.
تفاوتهای Ansible و Jenkins
مرحله اول: نصب VirtualBox
ابتدا به وبسایت رسمی VirtualBox بروید و فایل نصب مناسب برای سیستمعامل ویندوز خود را دانلود کنید. سپس، روی فایل دانلود شده دوبار کلیک کنید تا فرآیند نصب شروع شود.
در صفحه خوشآمدگویی ویندوز نصب، روی گزینه Next کلیک کنید.

در این مرحله، ویژگیهای موردنظر VirtualBox و مسیر نصب محلی را انتخاب کنید.
سپس روی گزینه Next کلیک کنید تا مراحل نصب ادامه پیدا کند.

هشدار: ممکن است صفحهای با عنوان Network Interfaces نمایش داده شود که اعلام میکند اتصال شبکه شما مجدد باید برقرار شود. برای ادامه روی گزینه Yes کلیک کنید.

با کلیک روی گزینهی Install، فرایند نصب VirtualBox شروع میشود.

اگر بهدنبال آموزش کامل راهاندازی اولیه سرور مجازی با اوبونتو Ubuntu هستید، میتوانید مقاله زیر را بخوانید.
راهاندازی سرور مجازی با اوبونتو
مرحله دوم: ساخت یک ماشین مجازی اوبونتو
بعد از اینکه VirtualBox روی سیستمتان نصب شد، باید توزیع اوبونتو را دانلود کنید. نسخه اوبونتو دسکتاپ را از وبسایت رسمی آن دانلود کنید.
سپس نرمافزار VirtualBox را باز کرده و در پنجرهی VirtualBox Manager در تصویر زیر، روی دکمه New کلیک کنید تا فرایند ساخت ماشین مجازی آغاز شود.

در مرحله بعدی، یک نام برای ماشین مجازی انتخاب کنید.
اگر نام سیستمعامل را Ubuntu بگذارید، VirtualBox بهصورت خودکار نوع سیستمعامل را روی Ubuntu (64-bit) تنظیم میکند. اگر این اتفاق نیافتاد، بهصورت دستی از منوی کشویی، سیستمعامل مناسب را انتخاب کنید.
سپس روی Next کلیک کنید.

با اسلایدرهایی که نشان داده میشوند، مقدار مناسبی از حافظهی RAM و تعداد CPU مجازیای که قرار است به ماشین مجازی اختصاص دهید را انتخاب کنید.
بهطور مثال اگر سیستمتان RAM کافی دارد، میتوانید ۴ گیگ RAM و ۲ هسته CPU برای ماشین مجازی در نظر بگیرید تا عملکرد خوبی داشته باشد.
پس از انجام تنظیمات، روی دکمه Next کلیک کنید.

در این مرحله، باید مشخص کنید که ماشین مجازی از چه هاردی استفاده میکند، به این علت که میخواهید یک ماشین جدید ایجاد کنید، گزینهی Create a virtual hard disk now را انتخاب کنید.
سپس با اسلایدر، ظرفیت هارد را تنظیم کنید. مثلاً اگر فقط میخواهید Ubuntu و Ansible را نصب کنید، حدودا ۲۰ تا ۳۰ گیگ کافی است.
وقتی اندازه هارد را مشخص کردید، روی Next کلیک کنید.

حالا که ماشین مجازی ساخته شد، از صفحهی اصلی VirtualBox ماشین جدید را از ستون سمت چپ انتخاب کنید.
سپس روی دکمهی Start کلیک کنید تا ماشین راهاندازی شود و نصب Ubuntu را شروع کنیم.

در این مرحله، یک پنجرهی جدید از VirtualBox (به اسم VirtualBoxVM) باز میشود.
حالا باید فایل ISO اوبونتو که قبلاً دانلود کردید را انتخاب کنید تا ماشین مجازی از روی آن بوت شود. این فایل نقش دیسک نصب اوبونتو را دارد.
بعد از انتخاب، نصب Ubuntu شروع میشود.

پس از آن، روی گزینه Mount and Retry Boot کلیک کنید تا ماشین مجازی با استفاده از فایل ISO اوبونتو بوت شود. اگر همه مراحل بهدرستی پیش رفته باشد، پس از چند لحظه، صفحه نصب اوبونتو نمایش داده میشود.

مرحله سوم: نصب Ansible
در آخر که اوبونتو روی ماشین مجازی نصب شد، باید یک ترمینال جدید داخل محیط VM باز کنید.
اکنون برای بهروزرسانی مخزن (Repository) اوبونتو، دستور زیر را اجرا کنید:
sudo apt update
پس آن برای نصب انسیبل، دستور زیر را وارد کنید:
sudo apt install ansible -y
بعد از نصب انسیبل، میتوانید با ساخت فایل (host inventory) و تست ارتباطات، این ابزار را پیکربندی کنید. همچنین این امکان را دارید که هم خود ماشین مجازی و هم سیستمهای دیگر روی شبکهتان را با انسیبل مدیریت کنید.
با ثبتنام در لیارا، ۱۰۰ هزار تومان اعتبار هدیه بگیرید و از سرور مجازی رایگان با کیفیت بالا و امکانات عالی استفاده کنید!
پشتیبانی ۲۴ ساعته برای کاربران سرور مجازی رایگان!
خرید سرور مجازی رایگان
جمعبندی
پس از اتمام این آموزش، باید حالا انسیبل روی سیستم ویندوز شما نصب شده باشد. همانطور که ابتدای مقاله گفته شد، Ansible یک ابزار قدرتمند و ارکستراسیون برای مدیریت وظایف تکراری زیرساخت است. با این ابزار میتوانید سرورهای ریموت را مدیریت و پیکربندی کرده و همچنین فرایند CI/CD تیم توسعه خود را طراحی کنید.
سوالات متداول
چگونه میتوانم بررسی کنم که انسیبل به درستی نصب شده است؟
برای بررسی نصب درست انسیبل، دستور ansible — version را در ترمینال لینوکس وارد کنید. اگر انسیبل به درستی نصب شده باشد، اطلاعات نسخه آن را مشاهده خواهید کرد.
ویندوز ساب سیستم (WSL) برای لینوکس چیست؟
WSL یک لایه سازگاری است که به شما این اجازه را میدهد که برنامههای باینری لینوکس را به طور بومی در ویندوز اجرا کنید.
چگونه باید WSL را روی سیستم ویندوزی خود فعال کنم؟
برای فعالسازی WSL، PowerShell را بهعنوان Administrator باز کرده و دستور wsl — install را وارد کنید تا WSL فعال شود و یک توزیع لینوکس پیشفرض نصب گردد. ممکن است نیاز به راهاندازی مجدد سیستم داشته باشید.
مزایای استفاده از WSL2 نسبت به WSL1 چیست؟
WSL 2 عملکرد بهتری دارد، سازگاری کامل با فراخوانیهای سیستم را ارائه میدهد و یک کرنل کامل لینوکس را شامل میشود، که آن را برای اجرای ابزارهای توسعه مانند انسیبل مناسبتر میکند.
چرا قبل از نصب انسیبل باید توزیع لینوکس خود را بهروز کنم و ارتقاء دهم؟
با بهروزسانی مطمئن میشوید که جدیدترین پکیجها را دارید که از مشکلات احتمالی هنگام نصب انسیبل جلوگیری میکند.