针对同一主机同时发出多个请求以执行同一任务,并给出"无法将数据发送到远程主机 IP。确保可以通过 ssh 访问此主机



场景

我在两个终端中同时运行以下任务

  • 第一个成功
  • 第二个给出了上述错误

因此,我们在同时为多个会话运行可解析的剧本时出现了上述错误

无法将数据发送到远程主机[内部ip]。确保可以通过ssh 访问此主机

失败的任务正在执行的代码是

- name: run docker container
docker_container:
name: "{{ container_name }}"
image: "organization/{{ app_name }}:{{ docker_image_version }}"
#    command: "{{ adhoc_command }}"
command: "/bin/sh /data/run-command.sh"
state: started
recreate: yes
capabilities:
- sys_time
cap_drop:
- all
privileged: true
cleanup: true
detach: false
network_mode: host
env_file: "{{ adhock_data_path }}/{{ app_name }}/{{ md5suffix }}/.env"
volumes:
- "{{ adhock_data_path }}/{{ app_name }}/{{ md5suffix }}:/data:rw"

我怀疑这是在我们试图同时在容器中执行一些繁重任务时发生的
我在想,是否有一些解决方案可以延迟连接,比如下面的

wait_for_connection:
delay: 30
timeout: 300

但是,当两个任务同时执行时,我们会遇到同样的问题。如有任何帮助,我们将不胜感激。

如果需要,我也可以提供其他信息。

尝试用值retries = 5更新您的ansible.cfg,这将允许您的剧本在重试延迟为1s、2s、4s等的情况下重试连接到主机5次。这将在ansible.cfg文件本身中得到更多解释。检查一次。

最新更新