ansible playbook指定hosts文件
时间: 2024-02-19 22:51:00 浏览: 289
可以使用 `-i` 或 `--inventory-file` 参数来指定 Ansible playbook 所使用的 hosts 文件。例如:
```
ansible-playbook playbook.yml -i hosts.yml
```
这里的 `hosts.yml` 就是指定的 hosts 文件。如果不指定该参数,则默认使用 `/etc/ansible/hosts` 文件。
相关问题
ansible playbook
Ansible playbook是一种用于配置、部署和管理托管主机的剧本。通过playbook的详细描述,可以执行一系列tasks,以使远程主机达到预期状态。Playbook是一种类似剧本的概念,就像演员按照剧本进行表演一样,在Ansible中,计算机按照playbook的指令进行安装、部署应用、提供对外服务以及组织计算机处理各种事务。
在执行playbook命令时,它会按照自上而下的顺序逐步执行。Playbook还具有许多特性,例如可以从一个机器的文件中抓取内容并将其作为变量传递到后续的指令中。这使得您可以实现一些复杂的部署机制,这是使用Ansible命令无法实现的。
Playbook的核心元素包括:
- Hosts:执行的远程主机列表
- Tasks:任务集合
- Variables:内置变量或自定义变量,在playbook中进行调用
- Templates:使用模板语法的文件,如配置文件等
- Handlers:与notify结合使用,根据特定条件触发的操作
- Tags:标签,用于选择运行playbook中的部分代码
以下是一些
ansible playbook when
`ansible playbook when` is a conditional statement used in Ansible playbooks to define when a particular task or role should be executed. It allows you to specify conditions based on variables or facts gathered from the target hosts.
Here's an example of how `when` can be used in an Ansible playbook:
```yaml
- name: Example playbook
hosts: web_servers
tasks:
- name: Install Apache web server
package:
name: apache2
state: present
when: ansible_distribution == "Ubuntu"
```
In this example, the task to install Apache web server will only be executed if the target host's distribution is Ubuntu. The condition `ansible_distribution == "Ubuntu"` is evaluated, and if it's true, the task is executed; otherwise, it is skipped.
You can use various operators and comparison expressions in the `when` statement to define more complex conditions. Ansible provides a rich set of built-in variables and facts that can be used for condition evaluation.
阅读全文