要在多个服务器上使用Ansible执行"Yum Install"任务,您可以使用Ansible的yum
模块来完成。以下是一个解决方法的示例代码:
---
- name: Install packages using Yum
hosts: all
become: true # 使用sudo权限执行任务
tasks:
- name: Update Yum
yum:
name: "*"
state: latest
register: yum_update
- name: Install packages
yum:
name: "{{ item }}"
state: present
with_items:
- package1
- package2
- package3
when: yum_update.changed # 只有当Yum更新时才安装包
在上面的代码中,我们首先使用yum
模块更新Yum,然后使用yum
模块安装所需的软件包。register
关键字用于将任务的结果存储在yum_update
变量中,以便我们可以在后续任务中使用。
在安装软件包时,我们使用with_items
关键字指定要安装的软件包列表。您可以根据自己的需要添加或修改软件包列表。
最后,我们使用when
关键字确保只有当Yum更新时才执行软件包安装任务。这样可以避免在每次运行Ansible时都执行软件包安装任务。
您可以将上述代码保存为一个Ansible Playbook文件(例如install_packages.yml
),然后使用以下命令运行该Playbook:
ansible-playbook -i inventory.ini install_packages.yml
请确保将inventory.ini
替换为包含要在其中安装软件包的服务器列表的实际清单文件。