在窗户上设置Kubernetes与流浪汉

时间:2015-12-03 14:45:25

标签: windows vagrant kubernetes

我在Windows上设置了带有vagrant 1.7.4的Kubernetes 1.1。 box-cutter / fedora22用于流浪汉。 Kubernetes运行良好。所有节点都准备就绪,测试pod可以部署到任何就绪节点。但是该服务无法访问其他节点上的pod。如果我在托管pod的节点上运行服务,它工作正常。我认为这是一个网络问题,因为podIP只能在托管节点上访问。

我被告知要在所有节点上设置flanneld。但问题仍然存在。

非常感谢任何帮助。

乔治

3 个答案:

答案 0 :(得分:0)

我终于让它工作了。关键是在不同的节点上为docker建立一个覆盖网络,以便彼此看到。我正在使用flannel。这是关于如何在流浪汉上设置法兰绒的article

需要提及的一件事是你可能要删除' docker0'在开始flanneld之前的界面。我用bridge-utils来做这个

$ yum -y install bridge-utils
$ ip link set docker0 down
$ brctl delbr docker0

答案 1 :(得分:0)

Kubespray也可能对你感兴趣,它允许你使用Vagrant从sratch建立一个Kubernetes集群。

答案 2 :(得分:0)

以防万一将来有人发现。您不应该为Docker设置覆盖网络,因为容器CRI不能访问其容器外部的容器。此错误是由于在将私有网络用于节点时,vagrant如何启动多个VM以及分配的eth接口。在大多数用于Linux的VM中,eth0是默认的外部IP接口,而K8s会在无所事事的虚拟机中自动绑定到该接口,从而使K8s的网络无法正常运行,因为它已配置为实际在eth1上的外部IP。您可以通过在运行KubeAdm之前编辑一些ENV变量来轻松解决此问题。例如,请参阅此中篇文章。 https://medium.com/@joatmon08/playing-with-kubeadm-in-vagrant-machines-part-2-bac431095706?source=linkShare-102e54f71648-1533865749

相关问题