我最近建立了一个多机的Kubernetes集群w/ Docker和Flannel。我已经在子网172.16.0.0/24上设置了Flannel,这样,主机A上具有指定IP的172.16.78.2的容器可以用指定的172.16.74.2 IP来平主机B上的容器。
我已经设置了Kubernetes和它的所有组件(kubelet、kube-proxy kube-apiserver、kube-scheduler、kube-controller-manager),我可以成功地启动集群周围的部署和吊舱。
问题
我在集群中部署了Redis服务和webapp pod。在我的webapp上,设置了环境变量REDIS_SERVICE_HOST和REDIS_SERVICE_PORT,但是REDIS_SERVICE_HOST是172.16.0.0/16子网上的随机IP。要明确的是,如果我运行ifconfig并在Redis容器中获取eth0的IP地址,我可以从我的webapp pod中点击这个地址。但不包括分配给REDIS_SERVICE_HOST的IP地址。
我确信这是一个配置问题,但是下面是我为每个服务设置的一些标志:
kube-代理论点
--cluster-cidr 172.16.0.0/16kube-apiserver论点
--service-cluster-ip-range=172.16.0.0/16库贝-控制器-经理论点
--cluster-cidr=172.16.0.0/16--service-cluster-ip-range=172.16.0.0/16我不太清楚上面的标志是如何与Flannel一起工作的,但是我尝试了很多东西,但是我没有得到任何东西去工作。关于这些东西是如何工作的一些解释将是一个很大的帮助。谢谢。
发布于 2016-12-19 09:31:07
所以,在游玩和阅读了更多的问题后,我发现我在这里一点问题都没有。从这里https://github.com/kubernetes/kubernetes/issues/7996,我了解到,点击一个服务什么都不做。到目前为止,我还没有试图连接到这个服务,但我做到了,而且成功了。
上面,我使用了172.16.0.0/16的CIDR,这是Flannel子网。这是错误的,而且它实际上不应该与Flannel的子网重叠。我将验证所有这些,并确保它跨多个节点工作。
https://stackoverflow.com/questions/41217483
复制相似问题