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 - ...
随机推荐
- C++11写算法之冒泡排序
冒泡排序很形象,指从数组后面将更小的值慢慢浮到前面去,每遍历一趟使得最小值浮到最前面(指当前位置). 这里有点小技巧,当某一次遍历过程中发现无交换,则说明此时数组已经排序完成,可提前退出. 时间复杂度 ...
- Android开发:《Gradle Recipes for Android》阅读笔记1.6——使用android studio添加依赖
有经验的gradle开发者习惯直接编辑build.gradle文件,但是IDE没有提供许多代码提示.IDE提供了一个可视的界面显示配置内容. 点击像文件夹一样的图标可以看到project struct ...
- jmeter3.3测试webservice 接口
1.天气预报网站,提供webservice接口 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 2.选择测试的接口getSupp ...
- 构造三层时报错“程序 “D:\MyTest\....”不包含适合于入口点的静态"Main"方法”
错误 1 程序“D:\MyTest\EBookShop\Model\obj\x86\Debug\Model.exe”不包含适合于入口点的静态“Main”方法 原因:原来创建项目的时候,用的是“空项目” ...
- PowerDesigner之设置(2)——扩展属性
数据库:SQL2000 PD版本:16 在PowerDesigner之设置(1)中,创建表的表头注释部分由于中文的原因无法定长,这里我们用PD的扩展方法来解决. 具体方法如下: 主菜单DataBase ...
- n++ ++n
n = 100 + m++ n = 100 +m; ++m n = 100 + ++m; ++m; n = 100 +m ;
- spring多数据源事务配置
项目中遇到多数据源问题, 对于每个数据源需要单独完成事务控制, 这里记录下具体实现方法 在spring配置文件中 定义两个数据源 <!-- 数据源定义(spring-jndi) --> ...
- ThinkPHP在入口文件中判断是手机还是PC端访问网站
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE ...
- Python— 匿名函数
匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的 “一句话函数” #初始代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = ...
- ThreadPoolExecutor 线程池任务队列分析 与 利特尔法则(Little's law)
一. 演示 public class ThreadPoolTest { static class MyThread implements Runnable { private String name; ...
