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 - ...
随机推荐
- WPF绑定Binding及模式
绑定,就是把一个对象属性的值绑定在别的对象的属性上 1. 默认绑定 public class Company { public string Name { get; set; } } XAML代码 1 ...
- 读取文件之<绝对路径>与<相对路径>
前言:字符流.字节流读取文件,下面的代码是在网上找到的一个各种文件读取方式,还算比较详细,分享给大家. public class ReadFromFile { /** * 以字节为单位读取文件,常用于 ...
- linux 学习笔记1
1.IDE硬盘 /dev/hd[a-d] IDE1 主 /dev/hda 从 /dev/hdb IDE2 主 ...
- HDOJ 4549 M斐波那契数列 费马小定理+矩阵高速幂
MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i ) ( i>=3) mod 1000000007 是质数 , 依据费马小定理 a^phi( p ) = 1 ( ...
- 锁(java, DB)
知识点 事务 锁(java, DB) 多线程知识点整理 锁(java, DB) 什么是锁 对资源的访问权限进行控制 如果把一个资源(对象)比喻成屋子.就好像你进入了屋子锁上了门.你家人和贼都进不去了. ...
- jQuery实现局部刷新页面数据绑定
今天遇到了一个问题:怎么样才能做到只刷新页面中的Repeater控件中的数据,在不用UploadPannel的情况下? 试了好多方法,无意间在看jquery文件时发现,使用load()方法即可解决此问 ...
- 通知url必须为直接可访问的url,不能携带参数 异步接收微信支付结果通知的回调地址 不能携带参数。 回调地址后是否可以加自定义参数 同步回调地址 异步回调地址 return_url和notify_url的区别
[微信支付]微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7 通知url必须为直接可访问的 ...
- 让vs只启动自己想调试的站点
VS中里面多个WEB项目如何只启动一个? 每次启动时,右下角都会出现一堆的 网站有10来个.即使设置了默认启动项目, 但每次按F5启动,或者哪怕是在项目上右键启动新实例 右下角都会出现这一堆的站点 有 ...
- Django models ORM基础操作--白话聊Django系列
上次我们讲完了views视图,那我们这次来看一下Django强大的ORM,可以这么说,你不懂Django的ORM,你就不懂Django,那废话不多说 ORM又称关系对象映射,在ORM里,一张表就是一个 ...
- 《Python数据分析》笔记2——统计学与线性代数
统计学与线性代数 用Numpy进行简单的描述性统计计算 import numpy as np from scipy.stats import scoreatpercentile data=np.loa ...
