gpt4 book ai didi

networking - 优化非常规网络的 Ansible Transport\SSH

转载 作者:行者123 更新时间:2023-12-03 06:57:59 28 4
gpt4 key购买 nike

我想知道如何优化 Ansible 来处理与加速和默认不一定有益的用例完全不同的网络。

在这种情况下,我不处理虚拟网络,也不处理服务器。我正在处理数百个具有相当独特的网络设计的嵌入式设备,其缺点是主机或网络布线的故障可能会导致相邻主机的定期连接变化。

这通常会导致单个 SSH 连接上的 SSH session 丢失或滞后,但不幸的是,有时会导致 Ansible 在特定主机上挂起,而单独更改超时似乎没有任何区别。

任何人都可以提供一些关于哪些参数最适合管理配置更改并在网络上安装更新的信息,在该网络上,在特定主机上的 session 期间或连接到特定主机时可能会发生丢失,因此较长的 session 可能没有好处。特别是针对此使用场景的这些领域的一些建议

  1. ssh 与 paramiko
  2. 控制持久化、管道化和超时参数
  3. 加速还是不加速?
  4. 评估运行指定 fork 数量的适宜性

最佳答案

如果您在一个网络中工作,其中连接可能会在执行播放/任务期间丢失,那么我不确定(阅读:我不认为)ansible 是否经常保存执行上下文从此类问题中恢复。

如果你的网络不好,你应该修复它。

假设您已经知道所有这些,并且:如果您的网络很糟糕但您无法修复它,那么感兴趣的参数将是您列出的#2,也可能是#3。

更改 #2 以确保 SSH 不会尝试重用连接(不会持续)。这会减慢 playbook 的执行速度,但会提供更好的稳定性。

如果您必须传输大文件并且您使用的是 1.5 之前的 paramiko 或 ansible,请更改 #3。

为了完整性:#1 有点简单,除非你别无选择,否则不要使用 paramiko。因此,尽管您将其列为您可以选择的内容,但出于实际目的,ansible 希望您使用 SSH,因为使用 paramiko 相对于 SSH 有很多缺点,而且只有一个优点,如果您没有优点,那么您可能不需要它。 :-)

即使完成所有这些设置,如果您的连接在执行任务期间丢失,那么 ansible 可能除了向您显示错误消息之外无法执行任何操作。唯一能帮助你处理这些情况的是你的戏剧/任务的幂等性。这样您就可以循环运行它,直到您的剧本成功运行并进行 0 次更改。

关于networking - 优化非常规网络的 Ansible Transport\SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30609386/

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