kubernetes跨网段pod网络不通问题
kubernetes跨网段问题
k8s的master是10.10.10.0网段,新加了一些node,网段是172.16.100.0网段,造成容器直接网络不能相互访问。
部署k8s的时候也部署了flannel,它提供容器的跨主机通信支持的。部署参考 ,flannel中vxlan原理参考
二个网段不能互通,首先想到的被防火墙禁止了;尝试清理iptables防火墙,结果还是不行。iptables -P OUTPUT ACCEPT && iptables -P FORWARD ACCEPT && iptables -F && IPtables -L -n 一定要注意下清理防火墙一定要iptables -P OUTPUT ACCEPT,否则连不上就悲剧了。
然后查了etcd的Pod网段信息。发现了问题。解决如下:
> etcdctl ls -r #列出键值存储的目录
> etcdctl get /flannel/network/config #查看键值存储
{"Network":"10.233.0.0/16","SubnetLen":25,"Backend":{"Type":"host-gw","VNI":1}} #host-gw介绍如下
在数据层面,flannel支持基于路由的互联方案如host-gw、AliVPC、AWS VPC、GCE和基于封装的路由方案如UDP封装、vxlan封装、IPIP和IPSec等
1、host-gw 模式通过建立主机IP到主机上对应flannel子网的mapping,以直接路由的方式联通flannel的各个子网。这种互联方式没有vxlan等封装方式带来的负担,通过路由机制,实现flannel网络数据包在主机之间的转发。但是这种方式也有不足,那就是所有节点之间都要相互有点对点的路由覆盖,并且所有加入flannel网络的主机需要在同一个LAN里面
2、VXLAN 是一个在已有的3层物理网络上构建2层逻辑网络的协议。参考了如下资料。
- vxlan 协议原理简介 https://cizixs.com/2017/09/25/vxlan-protocol-introduction/
- VXLAN技术研究 https://blog.csdn.net/sinat_31828101/article/details/50504656
- Flannel中vxlan backend的原理和实现 http://dockone.io/article/2216
> etcdctl set /flannel/network/config '{"Network":"10.233.0.0/16","SubnetLen":25,"Backend":{"Type":"vxlan","VNI":1}}' #修改成vxlan
> route # 重启flannel后 查看路由
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 300 0 0 bond0
10.233.20.128 0.0.0.0 255.255.255.128 U 0 0 0 docker0
10.233.21.0 10.233.21.0 255.255.255.128 UG 0 0 0 flannel.1
10.233.27.0 10.233.27.0 255.255.255.128 UG 0 0 0 flannel.1
kubernetes跨网段pod网络不通问题的更多相关文章
- KAFKA跨主机部署网络不通解决思路
Kafka的部署不仅需要集群可用,同时需要对orderer节点可连,这就是为什么有的时候,kafka集群本身没问题,但是orderer却总是报错. 为了试验kafka剥离方案的可行性,跨阿里云网络和内 ...
- LVS之DR跨网段实战及高可用性
author:JevonWei 版权声明:原创作品 LVS-DR实现跨网段 网络拓扑 网络环境 RS1 RIP 192.168.198.138/24 VIP 192.168.80.100/32 GW ...
- 一次Flannel和Docker网络不通定位问题
一次Flannel和Docker网络不通定位问题 查看路由表的配置 路由表情况 [root@k8s-master ~]# route -n Kernel IP routing table Des ...
- Kubernetes 学习18配置网络插件flannel
一.概述 1.我们在学习docker时知道docker有四种常用的网络模型 a.bridge:桥接式网络 b.joined:联盟式网络,共享使用另外一个容器的网络名称空间 b.opened:容器直接共 ...
- 三十二、kubernetes集群的网络实现
Kubernetes集群的网络实现 CNI介绍及集群网络选型 容器网络接口(Container Network Interface),实现kubernetes集群的Pod网络通信及管理.包括: CNI ...
- oracle RAC 跨网段客户端访问 报ORA-12170
场景描述: 服务器所在网段为20,在同一网段的机器客户端远程连接SCAN IP 可以正常访问,当时更换了网段之后,15网段的机器通过oracle客户端连接服务器SCAN ip 无法正常访问,telne ...
- 基于Kubernetes(k8s)网络方案演进
VIP PaaS在接近两年时间里,基于kubernetes主要经历四次网络方案的变迁: 1. kubernetes + flannel 2. 基于Docker libnetwork的网络定制 3. k ...
- Kubernetes 实战 —— 03. pod: 运行于 Kubernetes 中的容器
介绍 pod P53 pod 是 Kubernetes 中最为重要的核心概念,而其他对象仅仅用于 pod 管理. pod 暴露或被 pod 使用. pod 是一组并置的容器,代表了 Kubernete ...
- SQL Server 跨网段(跨机房)FTP复制
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建过程(Process) 注意事项(Attention) 参考文献(References) ...
随机推荐
- 【程序人生】程序员真会玩,工作996,生病ICU
昨天Github上一个项目彻底爆红了网络,短短一天star数突破一万,Issues已破1800,大家纷纷说出有关企业的不合理加班行为,句句吐露程序员的心声,掀起了一波抵制加班潮,抵制996. 该项目里 ...
- 织梦/dedecms采集怎么去除a标签
dedecms采集去除a标签代码 DedeCMS采集规则-过滤-替换-技巧2009-01-14 15:491.采集去除链接[Copy to clipboard]CODE:{dede:trim}]*)& ...
- 网络编程 - 端口 & 地址占用
1.设置地址复用(还可以设置端口复用): int enable=1; if (setsockopt(socketfd,SOL_SOCKET,SO_REUSEADDR,&iEnable,size ...
- 史上最全最新java面试题合集二(附答案)
下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 51.类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断 ...
- JAVA堆,栈的区别,用AarrayList、LinkedList自定义栈
大家都知道java模拟机在运行时要开辟空间所以它有特定的五个内存划分: 1.寄存器: 2.本地方法区: 3.方法区: 4.栈内存: 5.堆内存: 但是我们今天来注重讲一下栈和堆 ...
- 两个gif图片动画效果
<div className="uploading-animation-tip-wrap"> <img src={require('~/shared/assets ...
- Code First 下自动更新数据库结构(Automatic Migrations)
示例 Web.config <?xml version="1.0" encoding="utf-8"?> <configuration> ...
- hdu 1548 简单bfs。。。
由于题目过水.. 我就在这里把bfs的模板写一些吧.. bfs的思想是利用队列的特性 对树的每一层先遍历 每一次访问时取出队首 然后排出~ #include<queue>void bfs( ...
- VS.NET(C#)--1.4项目与解决方案
项目与解决方案 项目 除创建网站,VS2005可创建项目.然后把项目放入解决方案中.VS2005可编译很多类型项目,分别是: 1.Windows应用程序 --在用戶计算机上运行的客户端应用程序,可显示 ...
- C# 卡控时间输入
int hour = (int.Parse(DateTime.Now.Hour.ToString())) * 60; int minute = int.Parse(DateTime.No ...