阿里云经典网络与Rancher VXLAN兼容性问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云经典网络与Rancher VXLAN兼容性问题相关的知识,希望对你有一定的参考价值。

近期国内很多用户曝出在阿里云的环境中无法使用Rancher的VXLAN网络,现象是跨主机的容器无法正常通信,healthcheck服务一直无法更新正常状态。经过一系列走访排查,最终定位此现象只发生在阿里云的经典网络环境下。如果你也遭遇了同样的情况,请关注此文。


阿里云经典网络部署最新的stable(v1.6.7)版本并启用VXLAN网络,使用经典网络的内网IP加入两台主机,现象如下:


技术分享


Rancher的VXLAN网络除了VXLAN本身的机制外,还需要在IPtables中的RAW表中进行数据包标记,然后在Filter表中对标记数据包设置ACCEPT规则,进而实现容器跨主机通信。但是在阿里云经典网络环境中,无论如何配置安全组功能,RAW表中始终无法匹配进入主机栈的数据包。


技术分享


依据“大胆假设,小心求证”的troubleshooting原则,首先我们验证了使用经典网络的公网IP注册主机,VXLAN并没有问题,这说明存在某种安全规则是作用在经典网络的内网IP的。


技术分享


其次,我们知道Rancher VXLAN的实现是基于Linux kernel的VXLAN module,IPtables的数据包处理也基本是kernel处理,所以理论上讲肯定系统中存在权限更高的组件截获了VXLAN的数据,因为我们测试了在其他公有云环境并无此问题,考虑阿里云会对经典网络的内网安全做诸多限制,所以怀疑阿里云镜像内做了一些特殊的定制。


以过往使用阿里云的经验,我们对系统中内置的“安全加固”组件疑惑很大,尝试删除这个组件,可以使用这个脚本 http://update.aegis.aliyun.com/download/uninstall.sh ,但重启机器后发现VXLAN网络依然不通。无法确定是否存在删除不彻底的情况,所以重建环境并在创建VM时选择去掉“安全加固”选项。


技术分享


重新添加主机,发现VXLAN一切恢复正常。


技术分享


我们也正在尽力与阿里云官方取得联系,确认这种情况是否存在误杀。当前可选择的临时方案除了按照上面的说明删除“安全加固”组件外,还可以在创建VM的时候选择不使用安全加固镜像,这样Rancher VXLAN就可以正常工作。


在这里,非常感谢社区用户的热情发问,没有大家对技术专注的态度和刨根问底的精神,Rancher也无法真正发现问题的根源,Rancher会一如既往地接受用户的问题与需求,改进自身产品,真真正正能够提供一个有生产力的工具。

本文出自 “12452495” 博客,请务必保留此出处http://12462495.blog.51cto.com/12452495/1964570

以上是关于阿里云经典网络与Rancher VXLAN兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

在阿里云搭建Rancher2.0和Kubernetes集群

如何连接Rancher与阿里云NAS存储

阿里云经典网络和专有网络的区别

rancher2.x + k3s 单机搭建

Rancher通过Aliyun-slb服务对接阿里云SLB教程

经典网络还是VPC,开发者作何选择?