gpt4 book ai didi

Ansible 在本地执行命令,然后在远程服务器上执行

转载 作者:行者123 更新时间:2023-12-02 16:29:43 25 4
gpt4 key购买 nike

我正在尝试使用 ansible shell 模块和 ipmitools 启动服务器,然后在该服务器启动后进行配置更改。

安装了ansible的服务器也有ipmitools。

在带有ansible的服务器上,我需要执行ipmitools来启动目标服务器,然后在其上执行剧本。

有没有办法在运行ansible的服务器上执行本地ipmi命令,通过ansible启动目标服务器,然后通过ssh在目标服务器上执行所有剧本。

最佳答案

您可以通过提供 delegate_to 参数在本地运行任何命令。

- shell: ipmitools ...
delegate_to: localhost

如果 ansible 提示通过 ssh 连接到 localhost,您需要在 list 中添加一个条目,如下所示:

localhost              ansible_connection=local

或在host_vars/localhost中:

ansible_connection: local

参见behavioral parameters .

接下来,您需要等待服务器启动并可通过 ssh 访问。 Here Ansible 的一篇文章涵盖了这个主题,这是他们列出的任务:

- name: Wait for Server to Restart
local_action:
wait_for
host={{ inventory_hostname }}
port=22
delay=15
timeout=300
sudo: false

如果这不起作用(因为这是一篇较旧的文章,而且我认为我以前对此解决方案存在问题),您可以查看 this SO question 的答案.

关于Ansible 在本地执行命令,然后在远程服务器上执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31774213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com