启动本地 kubernetes 集群时 运行 install_fedora_deps 失败

Failed to run install_fedora_deps when starting up local kubernetes cluster

我 运行 我在 Ubuntu 14.04 上使用 vagrant 1.8.1 和 virtualbox 4.3.28 的本地 kubernetes v1.1.4 集群。一切正常,但自上周五 2016 年 1 月 22 日以来,我在执行 ./cluster/kube-up.sh

时一直遇到相同的错误
==> master:  *  INFO:  sh -- Version 2015.11.09  
==> master:  *  INFO: System Information:  
==> master:  *  INFO:   CPU:          GenuineIntel  
==> master:  *  INFO:   CPU Arch:     x86_64  
==> master:  *  INFO:   OS Name:      Linux  
==> master:  *  INFO:   OS Version:   3.17.4-301.fc21.x86_64  
==> master:  *  INFO:   Distribution: Fedora 21  
==> master:  *  INFO: Installing master  
==> master:  *  INFO: Found function install_fedora_deps  
==> master:  *  INFO: Found function install_fedora_stable  
==> master:  *  INFO: Found function install_fedora_stable_post  
==> master:  *  INFO: Found function install_fedora_restart_daemons  
==> master:  *  INFO: Found function daemons_running  
==> master:  *  INFO: Found function install_fedora_check_services  
==> master:  *  INFO: Running install_fedora_deps()  
==> master: which: no dnf in (/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)  
==> master:  *  INFO: Adding SaltStack's COPR repository  
==> master:   
==> master:   
==> master: File contains no section headers.  
==> master: file: file:///etc/yum.repos.d/saltstack-salt-fedora-21.repo, line: 1  
==> master: '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n'  
==> master:  * ERROR: Failed to run install_fedora_deps()!!!  
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.  

我 ssh 进入 master,这是 /etc/yum.repos.d/saltstack-salt-fedora-21.repo

的内容
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://copr.fedorainfracloud.org/coprs/saltstack/salt/repo/fedora-21/saltstack-salt-fedora-21.repo">here</a>.</p>
<hr>
<address>Apache/2.4.6 (Red Hat Enterprise Linux) Server at copr.fedoraproject.org Port 80</address>
</body></html>

我在 运行 最新的 v1.2.0-alpha.6 时遇到同样的错误。这是 salt-fedora21 存储库的问题吗?任何人都可以复制错误吗?

编辑:相关问题可在此处找到https://github.com/kubernetes/kubernetes/issues/20088

这是一个临时修复方法:

正如 https://github.com/kubernetes/kubernetes/issues/20088#issuecomment-174930620 中所指出的,根本问题是 URL 中 salt-bootstrap 对基础依赖项引用的更改。

这已在 https://github.com/saltstack/salt-bootstrap/pull/738 中得到修复,但该修复尚未达到 salt-bootstrap 稳定。

我们可以使用develop版本:

cd cluster/vagrant
sed -i "s/https:\/\/bootstrap.saltstack.com/https:\/\/bootstrap.saltstack.com\/develop/" provision-minion.sh 
sed -i "s/https:\/\/bootstrap.saltstack.com/https:\/\/bootstrap.saltstack.com\/develop/" provision-master.sh 

在 Kubernetes 上测试 1.1.4

对于带有笨重 bsd sed 的 macos:

cd cluster/vagrant
sed -e "s/https:\/\/bootstrap.saltstack.com/https:\/\/bootstrap.saltstack.com\/develop/" provision-minion.sh > provision-minion.sh.back
mv provision-minion.sh.back provision-minion.sh
sed -e "s/https:\/\/bootstrap.saltstack.com/https:\/\/bootstrap.saltstack.com\/develop/" provision-master.sh > provision-master.sh.back
mv provision-master.sh.back provision-master.sh