Ansible CLI 速查表

此页面展示了每个 Ansible 命令行实用程序的一个或多个示例,其中添加了一些常用的标志,并链接到该命令的完整文档。此页面仅提供一些常见用例的快速提醒 - 它可能已过时或不完整,甚至两者兼而有之。有关规范的文档,请点击链接到 CLI 页面的链接。

ansible-playbook

ansible-playbook -i /path/to/my_inventory_file -u my_connection_user -k -f 3 -T 30 -t my_tag -M /path/to/my_modules -b -K my_playbook.yml
从当前工作目录加载 my_playbook.yml
  • -i - 使用提供的路径中的 my_inventory_file 来匹配 清单 中的 模式.

  • -u - 以 my_connection_user 用户身份 通过 SSH 连接.

  • -k - 要求输入密码,然后将其提供给 SSH 身份验证。

  • -f - 分配 3 个 并行任务数.

  • -T - 设置 30 秒的超时时间。

  • -t - 仅运行标记为 标签 my_tag 的任务。

  • -M - 从 /path/to/my/modules 加载 本地模块.

  • -b - 以提升的权限执行(使用 become)。

  • -K - 提示用户输入 become 密码。

有关详细信息,请参见 ansible-playbook

ansible-galaxy

安装集合

  • 安装单个集合

ansible-galaxy collection install mynamespace.mycollection

从配置的 Galaxy 服务器(默认情况下为 galaxy.ansible.com)下载 mynamespace.mycollection

  • 安装集合列表

ansible-galaxy collection install -r requirements.yml

下载 requirements.yml 文件中指定的集合列表。

  • 列出所有已安装的集合

ansible-galaxy collection list

安装角色

  • 安装名为 example.role 的角色

ansible-galaxy role install example.role

# SNIPPED_OUTPUT
- extracting example.role to /home/user/.ansible/roles/example.role
- example.role was installed successfully
  • 列出所有已安装的角色

ansible-galaxy role list

有关详细信息,请参见 ansible-galaxy

ansible

运行 ad-hoc 命令

  • 安装软件包

ansible localhost -m ansible.builtin.apt -a "name=apache2 state=present" -b -K

运行 ansible localhost - 在本地系统上。 - name=apache2 state=present - 在基于 Debian 的系统上安装 apache2 软件包。 - -b - 使用 become 以提升的权限执行。 - -m - 指定模块名称。 - -K - 提示输入特权升级密码。

localhost | SUCCESS => {
"cache_update_time": 1709959287,
"cache_updated": false,
"changed": false
#...

ansible-doc

  • 显示插件名称及其源文件

ansible-doc -F
#...
  • 显示可用的插件

ansible-doc -t module -l
#...