摘要:经过一系列走访排查,最终定位此现象只发生在阿里云的经典网络环境下。但是在阿里云经典网络环境中,无论如何配置安全组功能,表中始终无法匹配进入主机栈的数据包。
近期国内很多用户曝出在阿里云的环境中无法使用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.co... ,但重启机器后发现VXLAN网络依然不通。无法确定是否存在删除不彻底的情况,所以重建环境并在创建VM时选择去掉“安全加固”选项。
重新添加主机,发现VXLAN一切恢复正常。
我们也正在尽力与阿里云官方取得联系,确认这种情况是否存在误杀。当前可选择的临时方案除了按照上面的说明删除“安全加固”组件外,还可以在创建VM的时候选择不使用安全加固镜像,这样Rancher VXLAN就可以正常工作。
在这里,非常感谢社区用户的热情发问,没有大家对技术专注的态度和刨根问底的精神,Rancher也无法真正发现问题的根源,Rancher会一如既往地接受用户的问题与需求,改进自身产品,真真正正能够提供一个有生产力的工具。
9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。
CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!
11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27029.html
摘要:经过一系列走访排查,最终定位此现象只发生在阿里云的经典网络环境下。但是在阿里云经典网络环境中,无论如何配置安全组功能,表中始终无法匹配进入主机栈的数据包。 近期国内很多用户曝出在阿里云的环境中无法使用Rancher的VXLAN网络,现象是跨主机的容器无法正常通信,healthcheck服务一直无法更新正常状态。经过一系列走访排查,最终定位此现象只发生在阿里云的经典网络环境下。如果你也遭...
摘要:在之前的版本上,用户时常抱怨的网络只有,没有其他选择。而容器社区的发展是十分迅猛的,各种容器网络插件风起云涌,欲在江湖中一争高下。同样是基于,使用提供的,网络配置信息以方式注入。 在之前的Rancher版本上,用户时常抱怨Rancher的网络只有IPsec,没有其他选择。而容器社区的发展是十分迅猛的,各种容器网络插件风起云涌,欲在江湖中一争高下。Rancher v1.2版本中与时俱进,...
摘要:在之前的版本上,用户时常抱怨的网络只有,没有其他选择。而容器社区的发展是十分迅猛的,各种容器网络插件风起云涌,欲在江湖中一争高下。同样是基于,使用提供的,网络配置信息以方式注入。 在之前的Rancher版本上,用户时常抱怨Rancher的网络只有IPsec,没有其他选择。而容器社区的发展是十分迅猛的,各种容器网络插件风起云涌,欲在江湖中一争高下。Rancher v1.2版本中与时俱进,...
摘要:日志会显示令牌过期的信息,随后检查主机和主机的时钟是否同步。如果这个子网已经被使用,你将需要更改网络中使用的默认子网。如果负载均衡器处于初始化状态,则很可能主机之间无法进行跨主机通信。而一直显示黄色初始化状态,说明一直没有通过健康检查。 一、服务/容器 1、为什么我只能编辑容器的名称? Docker容器在创建之后就不可更改了。唯一可更改的内容是我们要存储的不属于Docker容器本身的那...
阅读 2002·2021-11-18 10:02
阅读 2819·2021-09-04 16:41
阅读 1120·2019-08-30 15:55
阅读 1331·2019-08-29 17:27
阅读 1016·2019-08-29 17:12
阅读 2453·2019-08-29 15:38
阅读 2831·2019-08-29 13:02
阅读 2752·2019-08-29 12:29