Ansible 连接到具有多个跳转主机的服务器

问题描述 投票:0回答:1

我遇到了一个问题: 我设置了 3 个服务器:

Jumphost1 --> Jumphost2 --> 节点服务器

在本地我可以使用这个 ssh 命令及其工作,因此没有网络、ssh 或防火墙问题:

ssh -A -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -J customer@<jumphost_ip>:22000,customer@<bastion_ip>:22 [email protected] -p 22

这个命令也在我的管道中工作。

现在我想对 Ansible 做同样的事情。 我不想使用 ssh 配置文件,只想使用 ansible 主机文件。 我的主机文件:

[nodes]
customer-node ansible_host=10.1.0.123 ansible_port=22 ansible_user=customer
[nodes:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -J customer@<Jumphost_ip>:22000,customer@<bastion_ip>:22'

[bastion]
customer-bastion ansible_host=<bastion_ip> ansible_port=22 ansible_user=customer
[bastion:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'

[jumphost]
customer-jumphost ansible_host=<jumphost_IP> ansible_port=22000 ansible_user=customer
[jumphost:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'

看起来 Ansible 使用了错误的顺序,因为如果我启用 VPN,此配置才起作用,因为它只能通过 VPN 或从 Jumphost1 连接到第二个服务器 。 Ping Jumphost 和 Bastion 正常,只是节点不工作。 有人知道出了什么问题吗?

ansible devops pipeline ansible-2.x
1个回答
0
投票

问题真的很难说

© www.soinside.com 2019 - 2024. All rights reserved.