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) ...
随机推荐
- 处理ajax数据;数据渲染(细节)
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通 ...
- Maven添加依赖后如何在IDEA中引用
使用idea打开/创建maven项目,可以正常使用maven命令编译发布,但idea里智能提示.代码均找不到包,原因是idea并未引用依赖的包,这时需要添加idea引用即可 解决方法 在IDEA右侧的 ...
- 禁止服务向 eureka 上注册配置文件
### 禁止向注册中心注册服务eureka.client.register-with-eureka=false
- Consul微服务的配置中心体验篇
Spring Cloud Consul 项目是针对Consul的服务治理实现.Consul是一个分布式高可用的系统,具有分布式.高可用.高扩展性 Consul Consul 是 HashiCorp 公 ...
- ZooKeeper学习笔记(四)——shell客户端命令操作
ZooKeeper客户端命令行操作 启动服务端 [simon@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh start 查看状态信息 Using confi ...
- RVA与RWA的关系
RVA与RWA的关系 原理比较简单:首先判断这个地址是否在PE头中,如果在,文件偏移和内存偏移相等,如果存在于文件的区段中,则利用以下公式: 内存偏移 - 该段起始的RVA(VirtualAddres ...
- hdu 2353 n皇后问题
Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上.你的任务是,对于给定的N, ...
- jQueryUI的widget的Hello World
为了看懂jQuery-File-Upload里面的代码,所以学习到这里 //main.js //实践自定义jquery widget,风格1 (function($){ //$.widget('命名空 ...
- c#基础知识梳理(一)
一.C#简介 C#是微软公司发布的一种面向对象的.运行于.NET Framework之上的高级程序设计语言.C#看起来与Java有着惊人的相似:它包括了诸如单一继承.接口.与Java几乎同样的语法和编 ...
- 关于lock和synchronized的选择
这里不介绍具体用法,介绍lock和synchronized的不同从而做出选择 1.lock是一个接口,而synchronized是java中的一个关键字,synchronized是内置的语言实现. 2 ...