K8s + Flannel 网络架构图
这是Flannel官网给出的网络架构图
这是通过自己的理解画的逻辑结构图

查看bridge
[root@node01 ~]# brctl show
bridge name bridge id STP enabled interfaces
cni0 .0a580af40001 no veth34bdd66f
veth374f9b6c
vethfe4aad1b
docker0 .0242ec6d0fef no
查看netns (需要先执行 ln -s /var/run/docker/netns /var/run/netns)
[root@node01 ~]# ip netns list
2ae7b96d0db6 (id: )
21684eef26a3 (id: )
6c568775f2d9 (id: )
default
查看网络接口
[root@node01 netns]# ip -d link show
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN mode DEFAULT qlen
link/loopback ::::: brd ::::: promiscuity addrgenmode eui64
: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP mode DEFAULT qlen
link/ether :0c::3a:: brd ff:ff:ff:ff:ff:ff promiscuity addrgenmode eui64
: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu qdisc noqueue state DOWN mode DEFAULT
link/ether ::ec:6d:0f:ef brd ff:ff:ff:ff:ff:ff promiscuity
bridge forward_delay hello_time max_age ageing_time stp_state priority vlan_filtering vlan_protocol .1Q bridge_id 8000.2::ec:6d:f:ef designated_root 8000.2::ec:6d:f:ef root_port root_path_cost topology_change topology_change_detected hello_timer 0.00 tcn_timer 0.00 topology_change_timer 0.00 gc_timer 241.95 vlan_default_pvid group_fwd_mask group_address ::c2::: mcast_snooping mcast_router mcast_query_use_ifaddr mcast_querier mcast_hash_elasticity mcast_hash_max mcast_last_member_count mcast_startup_query_count mcast_last_member_interval mcast_membership_interval mcast_querier_interval mcast_query_interval mcast_query_response_interval mcast_startup_query_interval addrgenmode eui64
: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN mode DEFAULT
link/ether 3e:bb:9b::a4: brd ff:ff:ff:ff:ff:ff promiscuity
vxlan id 1 local 172.16.65.181 dev ens33 srcport dstport nolearning ageing addrgenmode eui64
: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP mode DEFAULT qlen
link/ether 0a::0a:f4:: brd ff:ff:ff:ff:ff:ff promiscuity
bridge forward_delay hello_time max_age ageing_time stp_state priority vlan_filtering vlan_protocol .1Q bridge_id .a::a:f4:: designated_root .a::a:f4:: root_port root_path_cost topology_change topology_change_detected hello_timer 0.00 tcn_timer 0.00 topology_change_timer 0.00 gc_timer 27.93 vlan_default_pvid group_fwd_mask group_address ::c2::: mcast_snooping mcast_router mcast_query_use_ifaddr mcast_querier mcast_hash_elasticity mcast_hash_max mcast_last_member_count mcast_startup_query_count mcast_last_member_interval mcast_membership_interval mcast_querier_interval mcast_query_interval mcast_query_response_interval mcast_startup_query_interval addrgenmode eui64
: vethfe4aad1b@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP mode DEFAULT
link/ether ::8d:0d:: brd ff:ff:ff:ff:ff:ff link-netnsid promiscuity
veth
bridge_slave state forwarding priority cost hairpin on guard off root_block off fastleave off learning on flood on port_id 0x8001 port_no 0x1 designated_port designated_cost designated_bridge .a::a:f4:: designated_root .a::a:f4:: hold_timer 0.00 message_age_timer 0.00 forward_delay_timer 0.00 topology_change_ack config_pending proxy_arp off proxy_arp_wifi off mcast_router mcast_fast_leave off mcast_flood on addrgenmode eui64
: veth374f9b6c@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP mode DEFAULT
link/ether 5a::::b3: brd ff:ff:ff:ff:ff:ff link-netnsid promiscuity
veth
bridge_slave state forwarding priority cost hairpin on guard off root_block off fastleave off learning on flood on port_id 0x8002 port_no 0x2 designated_port designated_cost designated_bridge .a::a:f4:: designated_root .a::a:f4:: hold_timer 0.00 message_age_timer 0.00 forward_delay_timer 0.00 topology_change_ack config_pending proxy_arp off proxy_arp_wifi off mcast_router mcast_fast_leave off mcast_flood on addrgenmode eui64
: veth34bdd66f@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP mode DEFAULT
link/ether d6:f9:c1:4d:4c:af brd ff:ff:ff:ff:ff:ff link-netnsid promiscuity
veth
bridge_slave state forwarding priority cost hairpin on guard off root_block off fastleave off learning on flood on port_id 0x8003 port_no 0x3 designated_port designated_cost designated_bridge .a::a:f4:: designated_root .a::a:f4:: hold_timer 0.00 message_age_timer 0.00 forward_delay_timer 0.00 topology_change_ack config_pending proxy_arp off proxy_arp_wifi off mcast_router mcast_fast_leave off mcast_flood on addrgenmode eui64
查看路由
[root@node01 netns]# ip route
default via 172.16.65.2 dev ens33 proto static metric
10.244.0.0/24 dev cni0 proto kernel scope link src 10.244.0.1
10.244.1.0/24 via 10.244.1.0 dev flannel.1 onlink
10.244.2.0/24 via 10.244.2.0 dev flannel.1 onlink
172.16.65.0/ dev ens33 proto kernel scope link src 172.16.65.181 metric
172.17.0.0/ dev docker0 proto kernel scope link src 172.17.0.1
参考文章:https://tonybai.com/2017/01/17/understanding-flannel-network-for-kubernetes/
K8s + Flannel 网络架构图的更多相关文章
- K8S Flannel网络插件
		
0.前言 参考文档:https://github.com/containernetworking/cni Pod网络插件,为了实现Pod网络而需要的插件.组件.由于Kubernetes通过开放的CNI ...
 - docker - kubernetes 网络(转)+ 架构图
		
1.host网络 连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样.可以通过--network=host指定使用 host 网络.docker ...
 - k8s网络之Flannel网络
		
k8s网络主题系列: 一.k8s网络之设计与实现 二.k8s网络之Flannel网络 三.k8s网络之Calico网络 简介 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划 ...
 - K8s集群部署(四)------ Flannel网络部署
		
所有节点都要部署Flannel网络,在所有节点操作. 1.为Flannel生成证书 [root@k8s-master ssl]# pwd /usr/local/src/ssl [root@k8s-ma ...
 - K8S(03)核心插件-Flannel网络插件
		
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 K8S核心网络插件Flannel 目录 系列文 ...
 - K8s二进制部署单节点 etcd集群,flannel网络配置   ——锥刺股
		
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
 - k8s更换网络插件:从flannel更换成calico
		
卸载flannel 查看已安装的flannel的信息 # 查看CNI插件,可以得知使用的是flannel # cat /etc/cni/net.d/10-flannel.conflist { &quo ...
 - Kubernetes1.91(K8s)安装部署过程(五)--安装flannel网络插件
		
node节点需要安装flannel网络插件才能保证所有的pod在一个局域网内通信,直接使用yum安装即可,版本是0.7.1. 1.安装flannel插件: 注意是2个node节点都需要安装,都需要修改 ...
 - k8s集群———flannel网络
		
#master执行将内网通信地址写入etcd中,确保flannel能与etcd通信 #添加 /opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem - ...
 
随机推荐
- shell编程实战总结
			
最近复习一下shell,顺便高级进阶一下,之前写脚本能简单尽量简单来,发现好多高深的东西还是没有理解,因此在这里记录一下整个过程并做相应的总结. 通过上代码的方式来介绍,后续可能会调整相应的排版 1. ...
 - 《从零开始学Swift》学习笔记(Day 6)——哎呀常量和变量都该什么时候用啊?
			
原创文章,欢迎转载.转载请注明:关东升的博客 使用var还是let? 在我们开发过程中啊什么时候定义关键字为var,还是定义为let呢? 其实啊都能满足我们的需求,那我们到底应该如何选择? 例如:可以 ...
 - sqlserver 脚本和批处理指令小结
			
一.脚本基础 1.USE语句 设置当前数据库. 2.声明变量 语法:DECLARE @变量名 变量类型 在声明变量后,给变量赋值之 ...
 - HTML随意记录
			
HTML特殊符号对照表: http://www.cnblogs.com/knowledgesea/archive/2013/07/24/3210703.html
 - 启动hive --service metastore &出现Missing Hive Execution Jar: /opt/apache-hive-1.2.0-bin//lib/hive-exec-*.jar
			
原因:出现上述问题通常是运行hive 在bin/目录下的脚本所致. 解决办法:就是让HIVE_HOME变量指向hive-trunk/build/dist目录,将$HIVE_HOME/bin添加到PAT ...
 - Symfony4 数据库连接
			
代码 https://github.com/liudianpeng/BlogMVC-Symfony4 在 .env 文件可以调整一下数据库连接信息 ###> doctrine/doctrine- ...
 - IDEA 跑spring项目找不到get,set的问题
			
@Autowired的用法和作用 这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get. iDEA下安装lombok这个插件就可 ...
 - Nginx学习(1)
			
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 ...
 - android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI
			
在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信 ...
 - c#  HttpClient获取网页源码
			
#region 获取网页源码 public static string HttpClientGetHtmls(string url) { try { var client = new HttpClie ...
 
			
		