wllxxxx 2021-08-23 08:14 采纳率: 0%
浏览 251
已结题

公网部署k8s 1.21集群时的网络问题

场景:
目前我在利用手上的机台云服务器搭建基于公网的k8s简易集群,状况如下

img
所有pod运行都没有问题
之后我发现pod跨主机无法ping通,结合flannel的注册信息都是节点内网网址,于是我利用iptables做了转发

iptables -t nat -A OUTPUT -d 节点内网ip -j DNAT --to-destination 节点公网ip

转发后pod跨节点之间可以ping通了,如下
使用的是节点1上的pod ping 节点2上的pod
img
节点1 flannel.1 网卡情况:
img
节点1 eth0 网卡情况:
img
节点2 eth0 网卡情况:
img
节点2 flannel.1 网卡情况:
img

但是之后试了curl 失败了,具体情况是:节点1上的flannel.1 和 eth0 网卡 数据都到了,节点2上的eth0网卡也收到了数据,但是节点2上的flannel.1网卡没有收到数据,情况如下:
节点1-flannel
img
节点1-eth0
img
节点2-eth0
img
节点2-flannel
img

这就是我知识盲区了

测试后发现只有ping能通,curl telnet都不通
我在节点2的eth0网卡上抓包看了下,ping和curl的包都是vxlan的格式包,除了协议不同也没发现什么特别的
ping icmp
img
curl tcp
img

展开全部

  • 写回答

3条回答 默认 最新

  • {∞} 2021-08-23 13:38
    关注

    检查一下每个节点

    评论
  • gammey 2021-08-26 09:06
    关注

    把节点上的docker-proxy重启试下

    评论
  • 凯云大叔 2021-08-27 23:30
    关注

    curl和telnet截图,iptables -L截图

    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 8月30日
  • 修改了问题 8月25日
  • 赞助了问题酬金 8月25日
  • 修改了问题 8月24日
  • 展开全部
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部