Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes上嵌套容器的印花布IP-in-IP连接问题_Kubernetes_Containers_Tunnel_Project Calico_Cni - Fatal编程技术网

Kubernetes上嵌套容器的印花布IP-in-IP连接问题

Kubernetes上嵌套容器的印花布IP-in-IP连接问题,kubernetes,containers,tunnel,project-calico,cni,Kubernetes,Containers,Tunnel,Project Calico,Cni,我正在实现一个——也就是说,我正在尝试将Kubernetes节点作为Kubernetes吊舱运行,并在集群中形成一个集群 除了在基础设施集群的吊舱上运行的内部集群吊舱之间的网络连接之外,我还有其他工作要做,但我仍然无法确定问题所在 我在GKE上运行,使用默认的CNI实现。然后,我尝试使用Calico实现内部集群的覆盖,使用IP-in-IP封装,这样基础设施集群的节点就不需要知道如何路由内部集群Pod IP 我创建的基础架构集群如下:UBUNTU映像是封装所需的ipip内核模块所需的 gcloud

我正在实现一个——也就是说,我正在尝试将Kubernetes节点作为Kubernetes吊舱运行,并在集群中形成一个集群

除了在基础设施集群的吊舱上运行的内部集群吊舱之间的网络连接之外,我还有其他工作要做,但我仍然无法确定问题所在

我在GKE上运行,使用默认的CNI实现。然后,我尝试使用Calico实现内部集群的覆盖,使用IP-in-IP封装,这样基础设施集群的节点就不需要知道如何路由内部集群Pod IP

我创建的基础架构集群如下:UBUNTU映像是封装所需的ipip内核模块所需的

gcloud container clusters create management-cluster --image-type=UBUNTU
然后,我将许多nginx pod部署到内部集群。如果它们位于同一个内部集群节点上,则可以相互连接。如果它们降落在单独的内部集群节点上,它们就不能降落,所以我假设这意味着IP隧道中的IP不能正常工作,但我不确定为什么。即使内部群集节点吊舱落在同一基础设施外部群集节点上,此操作也会失败。两个集群的Pod和服务CIDR范围不重叠

我意识到这对于印花布来说不是一个受支持的用例,但我看不出为什么它不可能,我想让它工作起来。外部群集节点是否需要支持在IP数据包中转发IP?它们被配置为转发IPv4数据包,但我不确定这是否足够

我想需要更多的信息来给出这不起作用的具体原因,但我不太确定这一点会是什么,如果有任何指示,我将不胜感激。

有必要在GKE节点上允许ipencap协议:

iptables -C FORWARD -p ipencap -j ACCEPT || iptables -A FORWARD -p ipencap -j ACCEPT