问题描述
我目前正在尝试在 download_localhost: true 模式下使用 Kubespray。我也将 download_run_once 设置为 true。一些信息,我在我们网络上的代理后面运行它,我们的网络在 443 处不允许其他任何东西。一切运行正常,图像下载,直到我到达 download_file 步骤。看起来无论我做什么,download_file 都不会接受代理设置。我已经通过 ansible-playbook 命令的 -e 选项设置了它,我已经在 group_vars 文件中设置了它,并且我还确保 use_proxy 为 download_file 任务打开。我已经确认我可以在本地主机上获取文件,所以我知道它在我们的网络上没有被阻止。我只是想弄清楚这是否是此时的错误。谢谢!
编辑:我对文件所做的唯一修改以帮助复制的示例:
./inventory/mycluster/group_vars/all/all.yml
deploy_container_engine:false
proxy_env:
https_proxy: "http://192.186.1.2:8080"
http_proxy: "http://192.186.1.2:8080"
no_proxy: "mydomain"
./extra_playbooks/roles/download/defaults/main.yml
download_run_once: true
download_localhost: true
/etc/environment
https_proxy: "http://192.168.1.2:8080"
http_proxy: "http://192.168.1.2:8080"
no_proxy: "mydomain"
./cluster.yml
- hosts: all
environment:
http_proxy: http://192.168.1.2:8080"
https_proxy: http://192.168.1.2:8080"
我还尝试将以下设置添加到 download_file |下载物品任务:
- name: download_file | Download item
use_proxy: yes
解决方法
看起来 kubespray 只有在利用 ./inventory/mycluster/group_vars/all/all.yml 中内置的代理变量时才能成功地将代理用于所有任务。