3

Ansible 指定 playbook 运行的主机

 1 year ago
source link: https://www.lfhacks.com/tech/ansible-playbook-host/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ansible 指定 playbook 运行的主机

2022-05-30
阅读 1 分钟
773.jpg
扫一扫,转发文章 ansible-playbook-host.png

Ansible 使用 ansible-playbook 命令来运行指定的 playbook,但是如何指定个别主机运行一个 playbook?

本文使用的是 2.9 版的 ansible:

$ ansible-playbook --versionansible-playbook 2.9.16

ansible-playbook 命令来运行指定的 playbook,参数帮助如下:

$ ansible-playbookusage: ansible-playbook [-h] [--version] [-v] [-k] [--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER] [-c CONNECTION] [-T TIMEOUT] [--ssh-common-args SSH_COMMON_ARGS] [--sftp-extra-args SFTP_EXTRA_ARGS] [--scp-extra-args SCP_EXTRA_ARGS] [--ssh-extra-args SSH_EXTRA_ARGS] [--force-handlers] [--flush-cache] [-b] [--become-method BECOME_METHOD] [--become-user BECOME_USER] [-K] [-t TAGS] [--skip-tags SKIP_TAGS] [-C] [--syntax-check] [-D] [-i INVENTORY] [--list-hosts] [-l SUBSET] [-e EXTRA_VARS] [--vault-id VAULT_IDS] [--ask-vault-pass | --vault-password-file VAULT_PASSWORD_FILES] [-f FORKS] [-M MODULE_PATH] [--list-tasks] [--list-tags] [--step] [--start-at-task START_AT_TASK] playbook [playbook ...]ansible-playbook: error: too few arguments

唯一一个和 inventory 文件相关的参数:-i INVENTORY 的解释是这样的:

-i INVENTORY
specify inventory host path or comma separated host list.

用于指定 hosts 文件。

但是如果我们希望从命令行上临时指定主机名称,就没有对应的参数。

我们只能通过最终万能方案:[-e EXTRA_VARS] 来解决问题。首先我们在 playbook 中规定 hosts 为变量:

---# playbook.yaml- name: do something hosts: "{{ variable_host }}" roles: - do_something...

主机 hosts 用 variable_host 变量规定,然后在 EXTRA_VARS 里指定变量:

$ ansible-playbook -e variable_host=web playbook.yaml

这样就临时指定了 playbook.yaml 在名叫 web 的主机或者主机组上执行。

为了保证阅读体验,本站不安放广告。但是,租用服务器和编写文章需要资金和时间的投入。

如果您觉得文章对您有用,请考虑捐助小站(金额不限),以期待更多原创文章。

wechatpay.pngalipay.png
cc-by-nc.gif

若无特别说明,本站文章均为原创,并采用 署名协议 CC-BY-NC 授权。
欢迎转载,惟请保留原文链接,且不得用于商业用途。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK