آموزش نصب و کار با Ansible

ansible

یکی از ابزارهایی که در زمینه ی Automation tool  وجود دارد، Ansible می باشد. Ansible با زبان پایتون نوشته شده است و به صورت آزاد، رایگان و Open Source منتشر می شود. یکی از مزیت های خوب Ansible نسبت به سایر Automation tool های دیگر مانند Chef یا Puppet این می باشد که نیاز به نصب Agent بر روی Node ها ندارد و تنها با SSH با Node ها ارتباط برقرار می کند.

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

 

نصب Ansible بر روی فدورا :

برای نصب Asible بر روی فدورا کافیست تا دستور زیر را اجرا کنید :

 

# dnf install ansible

نصب Ansible بر روی CentOS :

برای نصب Ansible بر روی CentOS ایتدا مخازن EPEL  را نصب کنید :

 

# yum install epel-release

پس از اضافه کردن مخزن کافیست تا دستور زیر را اجرا کنید :

 

# yum install ansible

 

جهت بررسی نسخه ی Ansible کاقیست تا دستور زیر را اجرا کنید :

# ansible --version

 

کار با Ansible :

همانطور که گفته شد، Ansible از طریق SSH با Node ها ارتباط برقرار می کند. از این رو نیاز هست تا سرویس SSH بر روی Node هایی که قصد دارید آنها را با Ansible کنترل و مدیریت کنید، نصب و فعال باشد. اکنون برای ارتباط Ansible Server با سایر Node ها نیاز هست تا ssh-key بر روی Ansible Server ایجاد کنید (اگر از قبل وجود دارد نیاز نیست) و Public key را بر روی Node ها کپی کنید.برای ساخت ssh-key باید دستور زیر را اجرا کنید :

 

# ssh-keygen

اکنون برای کپی کردن  Public key بر روی Node ها کافیست تا دستور زیر را اجرا کنید :

 

# ssh-copy-id root@192.168.10.60

IP نوشته شده در دستور بالا، آدرس یکی از Node هایی می باشد که قصد داریم تا با Ansible آن را مدیریت کنیم.برای سایر Node ها همین فرایند کپی کردن Public key باید تکرار شود.

 

گام بعدی معرفی Node ها به Ansible می باشد که برای این کار Ansible یک فایل inventory دارد که به صورت پیش فرض آن را فراخوانی می کند. برای اضافه کردن Node ها کافیست فایل inventory  را باز کنید :

 

# vi /etc/ansible/hosts

 

سپس آدرس Node های خود را درون فایل بنویسید :

 

192.168.10.60

یا اینکه می توانید Node ها را گروه بندی کنید :

 

[test-servers]

192.168.10.61

192.168.10.62

اکنون برای اجرای دستورات بر روی Node ها از طریق Ansible Server می توان از روش های زیر استفاده کرد.به عنوان نمونه برای ping کردن همه ی Node ها :

 

# ansible -m ping all

 

برای ping کردن گروهی از Node ها که نام گروه انها test-servers می باشد می توان از دستور زیر استفاده کرد :

 

# ansible -m ping 'test-servers'

 

 

 

برای بررسی نسخه Kernel که بر روی Node هایی که در گروه test-servers قرار دارند می توان از دستور زیر استفاده کرد :

 

# ansible -m command -a "uname -r" 'test-servers'

 

 

برای ذخیره ی خروجی یک دستور می توان به شکل زیر عمل کرد :

 

# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt

 

امید است تا از این مطلب استفاده ی لازم را برده باشید.

 

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.