具有堡垒和自定义SSH端口+代理转发的Kubespray

时间:2018-08-17 14:29:04

标签: ssh kubernetes kubespray

是否可以将Kubespray与Bastion一起使用,但可以在自定义端口和代理转发上使用?如果不支持,则需要做什么更改?

2 个答案:

答案 0 :(得分:2)

始终,因为您可以在三个单独的级别上进行配置:通过主机用户的~/.ssh/config,通过整个剧本使用group_vars或作为内联配置(即在命令行或库存文件)。

希望ssh配置简单明了:

Host 1.2.* *.example.com # or whatever pattern matches the target instances
  ProxyJump someuser@some-bastion:1234
  # and then the Agent should happen automatically, unless you mean
  # ForwardAgent yes

接下来,我将介绍内联配置,因为它有点简单:

ansible-playbook -i whatever \
    -e '{"ansible_ssh_common_args": "-o ProxyJump=\"someuser@jump-host:1234\""}' \
    cluster.yaml

或通过库存的相同方式:

master-host-0 ansible_host=1.2.3.4 ansible_ssh_common_args="-o ProxyJump='someuser@jump-host:1234'"

或通过group_vars进行添加,您可以将其添加到现有的group_vars/all.yml中,或者如果不存在,则创建包含group_vars文件的all.yml目录,如下所示:包含库存文件的目录的子项

如果您的ssh配置比您希望在清单/命令行/ group_vars中编码的更为复杂,则还可以通过ansible_ssh_extra_args变量指示ansible调用的ssh使用专用的配置文件:< / p>

ansible-playbook -e '{"ansible_ssh_extra_args": "-F /path/to/special/ssh_config"}' ...

答案 1 :(得分:0)

在我需要访问特定端口上的主机的情况下,我只需要将主机的~/.ssh/config修改为:

Host 10.40.45.102
  ForwardAgent yes
  User root
  ProxyCommand ssh -W %h:%p -p 44057 root@example.com

Host 10.40.45.104
  ForwardAgent yes
  User root
  ProxyCommand ssh -W %h:%p -p 44058 root@example.com

10.40.*是内部IP。