ansible - 运行命令 ansible 和 ansible-playbook 有什么区别

标签 ansible

我是 ansible 的新手,正在学习 ansible 并致力于定义 ansible 脚本以在服务器上安装 confluent。在查看有关如何定义和运行 ansible 脚本的示例时,一些示例使用“ansible”命令来执行脚本,而一些示例使用“ansible-playbook”命令。但是我一直无法找到它们之间的区别或关于何时使用哪一个的指南。
这两个命令有什么区别?
谢谢

最佳答案

Ansible 脚本被称为 playbooks .
根据定义

A playbook is a list of plays. A play is minimally a mapping between a set of hosts selected by a host specifier (usually chosen by groups but sometimes by hostname globs) and the tasks which run on those hosts to define the role that those systems will perform. There can be one or many plays in a playbook.


https://docs.ansible.com/ansible/latest/reference_appendices/glossary.html#term-plays
然后,您使用命令 ansible-playbook 执行您的剧本。 ,例如这个命令执行剧本 test.ymlall您的服务器 inventory文件:
ansible-playbook test.yml -i inventory all
ansible命令你可以只对你的服务器执行一个任务,例如这个命令执行一个带有模块 ping 的任务在 all您的服务器 inventory文件:
ansible -m ping -i inventory all
那么区别就在于ansible-playbook您可以使用 ansible 执行包含大量任务的剧本。你只能执行一个任务。
欢迎来到 ansible 世界。 Red Hat 提供了 ansible 的入门类(class),您可以学习它,它会对您有很大帮助。
https://www.redhat.com/en/services/training/do007-ansible-essentials-simplicity-automation-technical-overview

关于ansible - 运行命令 ansible 和 ansible-playbook 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64723019/

相关文章:

linux - Ansible 在执行 .run 文件时无法传递参数

ansible - 如何使用ansibleVault上传加密文件?

python - ansible 在 OSX 上找不到 pycurl

ansible - 在 Ansible 中尝试多个端口

vagrant - host_vars 和 group_vars 未加载

Python:为 Ansible 编写 INI 文件

ansible - 仅当主机不属于组时才运行任务

ansible - 清除Ansible-Playbook中的错误输出

python - 在 Windows 上安装 Ansible Python 包

python - 相当于 Jinja2 中的 list(d.items())[0]