- با استفاده از این ماژول میتوان بستههای ابزارها و نرم افزارهای مختلف را از مخازن دریافت و بر روی سیستم نصب نمود.
- استفاده از این ماژول تنها برای توزیعهای مشتق شده از سیستم عامل red hat enterprise linux امکان پذیر خواهد بود.
- به عنوان مثال کد زیر باعث میشود تا :
- بستهی سرویس httpd بر روی گروهی خاص از خادمهای تحت مدیریت نصب شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Install the latest version of Apache
yum:
name: httpd
state: latest
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شود، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [Install the latest version of Apache] ************************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- نکته: با توجه به ماهیت ماژول yum و خروجی بالا، عبارت changed=1 مشخص میکند که اعمال تغییرات بر روی خادم تحت مدیریت، صورت گرفته است.
- به عنوان مثال کد زیر باعث میشود تا :
- سرویس httpd از روی گروهی خاص از خادمهای تحت مدیریت حدف شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: remove the Apache package
yum:
name: httpd
state: absent
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [remove the Apache package] ***********************************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- ابزار htop توسط مخزن epel بر روی گروهی خاص از خادمهای تحت مدیریت نصب شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: install the latest version of htop tool
yum:
name: htop
enablerepo: epel
state: present
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [install the latest version of htop tool] *********************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- سرویس httpd نسخهی 2.4.6-90.el7.centos بر روی گروهی خاص از خادمهای تحت مدیریت نصب و راه اندازی شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: install one specific version of Apache
yum:
name: httpd-2.4.6-90.el7.centos
state: present
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [install one specific version of Apache] **********************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- تمام بستههای سیستم به جز kernel و foo به روز رسانی شوند.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: upgrade all packages, excluding kernel & foo related packages
yum:
name: '*'
state: latest
exclude: kernel*,foo*
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [upgrade all packages, excluding kernel & foo related packages] ***********************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به عنوان مثال کد زیر باعث میشود تا :
- ابزارهای htop و nano و سرویس httpd بر روی گروهی خاص از خادم های تحت مدیریت نصب شود.
---
- name: PlayBook
hosts: centos-servers
gather_facts: no
tasks:
- name: Install a list of packages
yum:
name:
- htop
- nano
- httpd
state: latest
...
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************
TASK [Install a list of packages] **********************************************************************************************************************************
changed: [172.16.0.245]
PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245 : ok=1 changed=1 unreachable=0 failed=0
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
https://docs.ansible.com/ansible/latest/modules/yum_module.html
https://www.mydailytutorials.com/ansible-yum-module-examples/
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04