Ansible Playbook 是 Ansible 用于描述配置和任务的配置文件,通常使用 YAML 语言编写,它包含了一系列的“play”,每个 play 都描述了一组任务,这些任务在特定的主机上执行。
以下是一些常用的 Ansible Playbook 参数:
1、hosts: 指定 play 要执行的主机或主机组。
2、tasks: 包含要在主机上执行的任务列表。
3、remote_user: 指定连接到远程主机时使用的用户名。
4、become: 设置为 yes 或 true 时,将以特权用户身份运行任务。
5、gather_facts: 设置为 no 或 false 时,将禁用事实收集。
6、vars: 用于定义变量。
7、roles: 用于包含角色。
8、handlers: 用于定义通知事件。
9、pre_tasks: 在主任务之前运行的任务列表。
10、post_tasks: 在主任务之后运行的任务列表。
11、tags: 用于标记任务,以便在运行时选择特定任务。
12、environment: 用于设置环境变量。
13、run_once: 设置为 yes 或 true 时,任务将在所有主机上只运行一次。
14、when: 用于条件性地运行任务。
下面是一个简单的 Ansible Playbook 示例:
name: Install and configure Apache hosts: webservers become: yes vars: http_port: 80 max_keep_alive_requests: 100 tasks: name: Ensure Apache is installed package: name: httpd state: present name: Create Apache configuration file template: src: apache.conf.j2 dest: /etc/httpd/conf/httpd.conf name: Enable and start the Apache service service: name: httpd state: started enabled: yes ...
在这个示例中,我们定义了一个名为“Install and configure Apache”的 play,它将在“webservers”主机组上执行,我们使用了一些常用的参数,如 become、vars 和 tasks。
下面是一个介绍,列出了一些常用的Ansible playbook参数及其描述:
参数 | 描述 |
inventory | 指定inventory文件路径,定义了要管理的主机列表,默认为/etc/ansible/hosts 。 |
i ,inventoryfile | 与inventory 相同,用于指定inventory文件路径。 |
limit | 限制运行playbook的主机或组。 |
l ,listhosts | 列出将要执行任务的所有主机。 |
k ,askpass | 提示输入SSH密码,而不是使用基于密钥的身份验证。 |
K ,askbecomepass | 提示输入sudo密码(适用于become)。 |
become | 允许playbook中的任务以超级用户权限运行。 |
becomemethod | 指定提升权限的方法(默认为sudo)。 |
becomeuser | 指定要成为的用户(默认为root)。 |
s ,sudo | 与become 相同,用于兼容性。 |
u ,user | 指定SSH连接时要使用的用户。 |
e ,extravars | 设置额外的变量,可以用于playbook运行时。 |
vaultpasswordfile | 指定一个文件,其中包含用于解密vault文件的密码。 |
f ,forks | 指定并发执行任务的最大数量。 |
privatekey | 指定用于SSH连接的私钥文件。 |
v ,verbose | 输出详细的执行信息,可以指定多次(如:vvv)以获得更多的输出。 |
t ,tags | 只运行标记了特定标签的任务。 |
skiptags | 跳过标记了特定标签的任务。 |
C ,check | 执行一个“干燥运行”,不会对实际目标产生影响。 |
diff | 当改变文件内容时,显示具体的变化。 |
请注意,这个介绍并不是所有参数的完整列表,但涵盖了最常用的参数,更多参数和详细信息可以在Ansible官方文档中找到。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/686864.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复