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 - ...
随机推荐
- 一个改动配置文件的linux shell script
不久以前,以前搜到一篇博客是读取配置文件的,http://www.cnblogs.com/bo083/archive/2012/11/19/2777076.html,用到如今,感觉十分方便.感谢作者. ...
- libevent在windows下用visual studio编译时出现error C2894错误的原因与解决方法
libevent是一个使用很广泛的网络库,今天想了解下它.于是去git clone了一份源码,用vs2005的命令行:nmake -f makefile.nmake编译之,顺利编译通过,生成三个静态库 ...
- 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
#include<stdio.h> int cnt=0; //用来记录每个进制存放的位置 char num[20]; //用来存 ...
- 标准模板库--STL
标准模板库STL 1.泛型程序设计 C++ 语言的核心优势之一就是便于软件的重用 C++中有两个方面体现重用: 1.面向对象的思想:继承和多态,标准类库 2.泛型程序设计(generic progra ...
- PowerDesigner之设置(2)——扩展属性
数据库:SQL2000 PD版本:16 在PowerDesigner之设置(1)中,创建表的表头注释部分由于中文的原因无法定长,这里我们用PD的扩展方法来解决. 具体方法如下: 主菜单DataBase ...
- Highway
Highway Accepted : 78 Submit : 275 Time Limit : 4000 MS Memory Limit : 65536 KB Highway In ICPCC ...
- Java中,由this关键字引发的问题
很久之前一直有一个疑问,最近重新翻了遍JVM的书,才算是终于有所顿悟.问题如下: 被自己遗忘的问题 package org.hanyan.test.testClass; public class T3 ...
- 自定义表单验证--jquery validator addMethod的使用
原文地址:jquery validator addMethod 方法的使用作者:蜡笔小玄 jQuery.validate是一款非常不错的表单验证工具,简单易上手,而且能达到很好的体验效果,虽然说在项目 ...
- Ajax 处理json的方法不同
json字符串从从后台传递到前台的方法有两种 1.使用context.Response(); 2.使用webmethod 方法调用静态函数 返回的字符串 前者返回的json是obj类型,而后者返回的是 ...
- Oracle 11g Enhancements in AWR Baselines
Enhancements in AWR Baselines A baseline is any set of snapshots taken over a period of time. The sn ...
