k8s-trouble-sealos: calico+外网映射构建集群时出错
环境描述这是一个网络有点复杂的环境如图:
·
环境描述
这是一个网络有点复杂的环境如图:
存在的难题:
- 172段的机器与10.121.181段的机器不能直接通信,需要开放端口
- 10.121.181段的机器不能直接访问172段的机器,比如访问172.16.20.18需要访问10.121.232.18
172段机器构建成集群
使用了sealos将172端机器构成了三master的集群
开网,打通端口
要想将10.121.181机器加进来需要打通如下端口
端口号 | 方向 | 作用 | tcp or udp |
---|---|---|---|
6443 | 10.121.181 -> 10.121.232 | 访问apiserver | tcp |
22 | 10.121.232 -> 10.121.181 | sealos 添加节点 | tcp |
8472 | 双向 | vxlan | UDP |
修改apiserver的地址
10.121.181段的机器上,apiserver 的service 转化为 ipvs后,真实服务器的地址使用的是172段的,这显然不行的。这会导致物理机上起的容器会报错,大概是 10.96.0.1:443 time out
之类。
需要我们修改master的广播地址:
如果你使用sealos添加的节点,你还要修改一个虚拟服务 10.103.92.2:6443
calico的问题
calico node一直启动不起来,报错如下
这个是真的没招,我替换为了Flannel。
为flannel添加iptables
因为fdb中还是保存的是172.16.20网段,所以物理机向外发送vxlan报文发不去,我们要做的就是添加snat转换即可
iptables -t nat -A OUTPUT -d 172.16.20.x -j DNAT --to 10.121.232.x
有问题,请留言,谢谢大家
更多推荐
已为社区贡献17条内容
所有评论(0)