如何使用Ansible Playbook重启ubuntu服务器?

雷蒙德

我正在尝试构建一个Ansible剧本来配置一个ubuntu流浪者盒子。除了在升级内核后控制ubuntu盒重启之外,该手册还可以正常工作。

我有一个用于ansible的主机文件,如下所示:

localhost ansible_connection=local
dockerhost ansible_ssh_port=2222 ansible_ssh_host=127.0.0.1

我尝试解决此问题的最新迭代如下:

  - name: Restart the server
    shell: sleep 2s && reboot & executable=/bin/bash

  - name: Wait until the virtual machine stop ie: ssh port stop responding
    local_action: wait_for host={{ansible_ssh_host}} port={{ansible_ssh_port}} state=stopped
    sudo: false

  - name: Wait for server to come up
    local_action: wait_for host={{ansible_ssh_host}} port={{ansible_ssh_port}} delay=30
    sudo: false

通过执行此剧本步骤,过程块等待ssh端口停止响应,直到达到超时并退出剧本为止,我猜测如果重新启动速度特别快,则它可能发生在wait_for命令的轮询间隔之间,并且错过了ssh端口实际上处于关闭状态的时间很短。ansible返回的错误是:

失败:[dockerhost] => {“经过”:300,“失败”:true} msg:等待127.0.0.1:2222停止时超时。

至少有一次它成功进入了步骤,ansible等待ssh端口再次可用,但是挂在那里直到超时。我认为此解决方案对于重新启动速度的差异过于敏感,在虚拟环境中,重新启动速度的差异可能很大。我正在使用的ansible版本是1.5.3 Ubuntu是12.04lte,内核升级到3.8完整的剧本安装docker和所有依赖项。

我尝试了在各种网站上找到的许多变体和想法,但从未设法正确地控制重新引导,并继续进行后续步骤。

我正在寻找一种简单且可靠的方法来重新启动服务器,并在计算机备份并运行后继续执行剧本中的后续步骤。

我没有探索运行本地无业游民重装的可能性,因为我想在不运行无业游民的情况下使用同一本剧本,我只是提到了无业游民,以防万一它造成了我不知道的复杂性。我也不想只暂停5分钟,希望服务器再次启动,使用这种工具的目的是以可预测的及时方式提供服务器,并可以在环境之间随身携带,这是一个暂停只是看起来不正确。

我还四处寻找可以满足此要求的ansible模块,但是在ansible网站上的评论似乎将其排除在外。

谢谢

DomaNitro

我可能建议使用网桥或专用网络。使用端口转发可能很棘手。我将您的代码与专用网络和桥接网络一起使用时,两者完美结合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Ansible Playbook重启ubuntu服务器?

来自分类Dev

如何设置Ansible Playbook重启服务器

来自分类Dev

如何检查Ubuntu服务器何时重启?

来自分类Dev

使用 MQTT 服务重启服务器

来自分类Dev

如何在我的Ansible Playbook中使用Azure DevOps服务器(TFS)预定义变量?

来自分类Dev

如何重启flask服务器?

来自分类Dev

如何延迟IIS重启服务器?

来自分类Dev

如何使用Ansible等待服务器重启?

来自分类Dev

如何重启在Ubuntu Linux上运行的远程MySQL服务器?

来自分类Dev

在特定的服务器组上运行Ansible Playbook

来自分类Dev

在特定的服务器组上运行Ansible Playbook

来自分类Dev

Ansible Playbook 仅在特定服务器上失败

来自分类Dev

如何重启我的独角兽服务器?

来自分类Dev

如何知道为什么服务器不断重启?

来自分类Dev

如何设置默认节点版本?重启服务器后

来自分类Dev

如何正确重启服务器套接字?

来自分类Dev

如何使用Ansible在服务器上安装Python版本

来自分类Dev

更新ansible(ubuntu服务器14)

来自分类Dev

Ansible-playbook:以逗号分隔的形式列出所有服务器,并排除自己的服务器

来自分类Dev

Ansible Playbook:将本地cmd输出(例如git存档)传递到服务器?

来自分类Dev

运行 ansible playbook 以从 gituhub 签出代码时服务器证书验证失败

来自分类Dev

如何在 websocket 服务器停止或长时间重启后自动启动 websocket 服务器

来自分类Dev

如何使CDN服务器ubuntu系统

来自分类Dev

如何保护Ubuntu服务器安全?

来自分类Dev

如何保护Ubuntu服务器安全?

来自分类Dev

如何使CDN服务器ubuntu系统

来自分类Dev

如何更改Ubuntu服务器域名?

来自分类Dev

如何使我的Ubuntu服务器公开?

来自分类Dev

如果Linux服务器已关闭(对ping命令无响应),是否可以使用ssh重启服务器?

Related 相关文章

  1. 1

    如何使用Ansible Playbook重启ubuntu服务器?

  2. 2

    如何设置Ansible Playbook重启服务器

  3. 3

    如何检查Ubuntu服务器何时重启?

  4. 4

    使用 MQTT 服务重启服务器

  5. 5

    如何在我的Ansible Playbook中使用Azure DevOps服务器(TFS)预定义变量?

  6. 6

    如何重启flask服务器?

  7. 7

    如何延迟IIS重启服务器?

  8. 8

    如何使用Ansible等待服务器重启?

  9. 9

    如何重启在Ubuntu Linux上运行的远程MySQL服务器?

  10. 10

    在特定的服务器组上运行Ansible Playbook

  11. 11

    在特定的服务器组上运行Ansible Playbook

  12. 12

    Ansible Playbook 仅在特定服务器上失败

  13. 13

    如何重启我的独角兽服务器?

  14. 14

    如何知道为什么服务器不断重启?

  15. 15

    如何设置默认节点版本?重启服务器后

  16. 16

    如何正确重启服务器套接字?

  17. 17

    如何使用Ansible在服务器上安装Python版本

  18. 18

    更新ansible(ubuntu服务器14)

  19. 19

    Ansible-playbook:以逗号分隔的形式列出所有服务器,并排除自己的服务器

  20. 20

    Ansible Playbook:将本地cmd输出(例如git存档)传递到服务器?

  21. 21

    运行 ansible playbook 以从 gituhub 签出代码时服务器证书验证失败

  22. 22

    如何在 websocket 服务器停止或长时间重启后自动启动 websocket 服务器

  23. 23

    如何使CDN服务器ubuntu系统

  24. 24

    如何保护Ubuntu服务器安全?

  25. 25

    如何保护Ubuntu服务器安全?

  26. 26

    如何使CDN服务器ubuntu系统

  27. 27

    如何更改Ubuntu服务器域名?

  28. 28

    如何使我的Ubuntu服务器公开?

  29. 29

    如果Linux服务器已关闭(对ping命令无响应),是否可以使用ssh重启服务器?

热门标签

归档