نصب Ansible و نحوه کار با آن
یکی از ابزارهایی که در زمینه Automation tool وجود دارد، Ansible میباشد. نصب Ansible که با زبان پایتون نوشته شده و نرمفزاری آزاد، رایگان و متنباز است، در این پست، آموزش داده خواهد شد.
یکی از مزیتهای خوب Ansible نسبت به سایر Automation tool های دیگر مانند Chef یا Puppet این میباشد که نیاز به نصب Agent بر روی Node ها ندارد و تنها با SSH با Node ها ارتباط برقرار میکند.
با استفاده از 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
درباره فرشید نوتاش حقیقت
همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرمافزارهای آزاد/ متنباز و سیستمعامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.
نوشتههای بیشتر از فرشید نوتاش حقیقتدیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش جفنگ استفاده میکند. درباره چگونگی پردازش دادههای دیدگاه خود بیشتر بدانید.
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.