توی بخش قبل تنظیمات ابتدایی انجام شد، ولی به یه جایی رسیدیم که کامند های خیلی پایه ای و گزارشی رو میتونستیم اجرا کنیم.
برخی از کامند ها هست که مجوز روت رو برای اجرا شدن لازم داره، یه راهش رو توی مرحله قبل توضیح دادیم ولی یه راه دیگه اش اینکه به اون یوزری که قراره این کامند رو اجرا کنه مجوز بدیم.
برای این کار :
visudo
به یوزر مورد نظر مجوزهای لازم رو میدیم
باید روی تمام کلاینت ها نیز این کار رو انجام بدیم، سپس کامند را با مجوز root اجرا می کنیم برای اینکار کامند رو به صورت زیر اجرا می کنیم
ansible -m command -a "lvdisplay" linuxgroup --become -K
بعد از این مرحله از ما پسورد برای یوزر ansuser رو میخواد و بعد کامند اجرا میشه
نکته اینکه هر وقت خواستیم یه Inventory دیگه انتخاب کنیم می توانیم از اپشن -i استفاده کنیم و بعد از مسیر فایل جدید inventory را به دستور اضافه کنیم.
اگر خواستیم کل سرورها رو به یک باره ping کنیم از ماژول Ping استفاده می کنیم
ansible -m ping linuxgroup
برای کپی کردن از ماژول copy استفده می کنیم
ansible -m copy -a "src=/etc/hosts dest=/tmp/hosts" linuxgroup
در شکل زیر نشون داده شده که changed:true هست یعنی یه تغییری ایجاد شده اگر همین کامند رو دوباره بزنیم changed:false میشه چون قبلا این فایل کپی شده
برای تعیین دسترسی و صاحب فایل از ماژول file استفاده میکنیم و باید حتما از –become استفاده کنیم چون مجوز بالاتری برای تغییر permission لازم داریم، در اینجا به صورت تستی یوزر Unixtest رو قرار دادم
ansible -m copy -a "src=/etc/hosts dest=/milad/hostsmode=888 owner=unixtest" --become -K linuxgroup
برای پاک کردن یک فایل :
ansible -m file -a "dest=/tmp/hosts state=absent" linuxgroup --become -K
برای اینکه هر بار این کامند ها را با –become نزنیم در فایل تنظیمات انسیبل تغییرات زیر رو میدیم، مسیر فایل به این صورت است
/etc/ansible/ansible.cfg
با ماژول کپی میتونیم یک مطلب رو داخل یک فایل کپی کنیم
نکته: با قرار دادن \n در انتهای فایل می توان اخر نوشته ها یک enter زد.
برخی کامند ها مثل set با ماژول command اجرا نمی شوند و باید با ماژول shell اجرا شوند
اگر خواستیم از ماژول های مختلفی که میتونیم داخل playbook استفاده کنیم با خبر شویم از سایت docs.ansible.com استفاده میکنیم
اما اگر نحوه استفاده از یه ماژول رو خواستیم بدونیم میتونیم دستور ansible-doc رو استفاده کنیم
اگر خواستیم عیب یابی یا troubleshooting کنیم میتونیم اخر هر کامند اجرایی -vvv بزنیم با اینکار برای هر مرحله لاگ های بیشتری در کنسول در اختیار ما قرار می دهد