اگر از محیط مجازی VMware استفاده می کنید و با استفاده از vCenter این محیط مجازی و سرورهای ESXi را کنترل می کنید. شاید یک راه سریع برای ساخت و ویرایش ماشین های مجازی (VM) استفاده از ابزار قدرتمند Ansible می باشد.
Ansible یک نرم افزار می باشد که می توان آن را در گروه Automation tool طبقه بندی کرد. در واقع Ansible یک ابزار Open Source و software provisioning, configuration management
و application-deployment می باشد.
در این مطلب قصد داریم با استفاده از یک پروژه ی Ansible که نام آن ansible-deploy-vmware-vm می باشد، ماشین مجازی خود را در بستر مجازی ساز VMware راه اندازی کنیم. پروژه ی ansible-deploy-vmware-vm را می توانید بر روی GitHub مشاهده کنید:
https://github.com/hos7ein/ansible-deploy-vmware-vm
همانطور که می دانید Ansible دارای ماژول های فراوانی می باشد، در این پروژه از ماژول vmware_guest استفاده شده است که قابلیت های زیادی دارد از جمله ساخت VM از روی template یا ساخت VM از روی یک ماشین مجازی دیگر و همچنین تغییر و کنترل یک ماشین مجازی که برای اطلاعات بیشتر در مورد این ماژول می توانید مستندات آن را به همراه مثال در لینک پایین مشاهده کنید:
https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html
ساخت ماشین مجازی با استفاده از Ansible:
برای شروع کار و استفاده از پروژه ی ansible-deploy-vmware-vm پیش نیازهای زیر لازم می باشد.
- پایتون نسخه ی 2.6 یا بالاتر که معمولا به صورت پیش فرض Python بر روی اکثر توزیع های لینوکس نصب می باشد.
- نصب بسته ی PyVmomi
اگر از توزیع لینوکس فدورا و یا هم خانواده ی های آن مانند CentOS و یا RHEL استفاده می کنید، برای نصب بسته ی PyVmomi کافیست تا دستور زیر را اجرا کنید:
# dnf install python3-pyvmomi
یا اینکه می توان آن را با استفاده از pip نصب کرد:
pip3 install pyvmomi
اکنون پروژه ی ansible-deploy-vmware-vm را از روی GitHub بر روی سیستم خود Clone کنید:
$ git clone git@github.com:hos7ein/ansible-deploy-vmware-vm.git
سپس فایل زیر را باز کنید:
$ vi group_vars/all
این فایل شامل متغیرهای برنامه می باشد و باید آن را بر اساس محیط مجازی خود تنظیم کنید. اکنون برای Deploy کردن یک VM با توجه به متغیر ها و اطلاعات درون فایلی که در بالا گفته شد، می توان دستور زیر را اجرا کرد:
$ ansible-playbook main-playbook.yml
پس از اجرای دستور بالا ماشین مجازی که بر اساس مشخصاتی که در فایل متغیرها وارد کردید Deploy خواهد شد.
همانطور که گفته شد ماژول vmware_guest دارای ویژگی های زیادی می باشد که بر اساس نیاز خود می توانید Ansible playbook پروژه را ویرایش کنید و از آنها استفاده کنید.