18.flannel的配置
Kubernetes网络通信:
(1) 容器间通信:同一个Pod内的多个容器间的通信, lo
(2) Pod通信:Pod IP <--> Pod IP
(3) Pod与Service通信:PodIP <--> ClusterIP
(4) Service与集群外部客户端的通信;
CNI:
flannel
calico
canel
kube-router
... 解决方案:
虚拟网桥
多路复用:MacVLAN
硬件交换:SR-IOV
[root@master ~]# cat /etc/cni/net.d/-flannel.conflist
{
"name": "cbr0",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
}
]
}
flannel:
支持多种后端:
VxLAN
() vxlan
() Directrouting
host-gw: Host Gateway #不推荐,只能在二层网络中,不支持跨网络,如果有成千上万的Pod,容易产生广播风暴
UDP: 性能差 flannel的配置参数:
Network:flannel使用的CIDR格式的网络地址,用于为Pod配置网络功能;
10.244.0.0/ ->
master: 10.244.0.0/
node01: 10.244.1.0/
...
node255: 10.244.255.0./ 10.0.0.0/
10.0.0.0/
...
10.255.255.0/ SubnetLen:把Network切分子网供各节点使用时,使用多长的掩码进行切分,默认为24位; SubnetMin:10.244.10.0/ SubnetMax: 10.244.100.0/ Backend:vxlan, host-gw, udp
vxlan:
flannel Pod间跨主机通信原理抓包[root@master ~]# ip rdefault via 172.20.0.1 dev ens3 proto dhcp metric
10.244.0.0/ dev cni0 proto kernel scope link src 10.244.0.1
10.244.1.0/ via 10.244.1.0 dev flannel. onlink
10.244.2.0/ via 10.244.2.0 dev flannel. onlink
172.17.0.0/ dev docker0 proto kernel scope link src 172.17.0.1
172.20.0.0/ dev ens3 proto kernel scope link src 172.20.0.91 metric
从路由可以看出 Pod cni0 -----> flannel.1 -----> 物理网卡 -----> 对端
[root@master ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP group default qlen
link/ether ::::b2:ca brd ff:ff:ff:ff:ff:ff
inet 172.20.0.91/ brd 172.20.255.255 scope global noprefixroute dynamic ens3
valid_lft 2412sec preferred_lft 2412sec
: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP group default
link/ether :::::b4 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/ brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
: flannel.: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default
link/ether :e1::::c1 brd ff:ff:ff:ff:ff:ff
inet 10.244.0.0/ scope global flannel.
valid_lft forever preferred_lft forever
: cni0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP group default qlen
link/ether 0a::0a:f4:: brd ff:ff:ff:ff:ff:ff
inet 10.244.0.1/ scope global cni0
valid_lft forever preferred_lft forever
: veth0f580b07@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP group default
link/ether a2:::9b:b5:dc brd ff:ff:ff:ff:ff:ff link-netnsid
: vethb8510761@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP group default
link/ether 1a::6b:::fc brd ff:ff:ff:ff:ff:ff link-netnsid
: vethfc114a8b@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master cni0 state UP group default
link/ether fa:ec:f9:ee:: brd ff:ff:ff:ff:ff:ff link-netnsid
: veth023640f@if30028: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master docker0 state UP group default
link/ether d2:8a::e6:8f: brd ff:ff:ff:ff:ff:ff link-netnsid
: br-973161700d44: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue state UP group default
link/ether :::2e:ec: brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/ brd 172.18.255.255 scope global br-973161700d44
valid_lft forever preferred_lft forever
: vethfdee34f@if13226: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master docker0 state UP group default
link/ether 7e:3e:6a:e2::f0 brd ff:ff:ff:ff:ff:ff link-netnsid
: veth49aa01b@if13228: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc noqueue master br-973161700d44 state UP group default
link/ether b2:::6e:4d:da brd ff:ff:ff:ff:ff:ff link-netnsid
cni0 提供Pod网络共享的地址来源
flannel.1 是对数据包进行 vxlan封装
[root@master ~]# brctl show cni0
bridge name bridge id STP enabled interfaces
cni0 .0a580af40001 no veth0f580b07
vethb8510761
vethfc114a8b
[root@master ~]# brctl show flannel.
bridge name bridge id STP enabled interfaces
flannel. can't get info Operation not supported
抓包
15:13:26.796845 IP 172.20.0.93.52954 > 172.20.0.76.otv: OTV, flags [I] (0x08), overlay 0, instance 1
IP 10.244.1.175 > 10.244.2.223: ICMP echo request, id 3072, seq 221, length 64
18.flannel的配置的更多相关文章
- 18.flannel
18.flannel docker有四种常用网络 bridge joined opended 直接共享使用节点的网络名称空间 none k8s网络通信: 容器间的通信: 同一个Pod内的多个容器之间通 ...
- DOCKER学习_005:Flannel网络配置
一 简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...
- Ubuntu 18.04 下配置 HAXM 加速 Android模拟器
Ubuntu 18.04 下配置 HAXM 加速 Android模拟器 最近在vmware环境下搭建ubuntu18.04开发环境,开始发现总是运行android模拟器在console提示加载如下错误 ...
- Ubuntu 18.04安装配置Apache Ant
Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...
- Ubuntu 18.04 安装配置 go 语言
Ubuntu 18.04 安装配置 go 语言 1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 go 文件夹, 然后 cd 进这个文件夹 cd / ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- k8s1.4.3安装实践记录(1)-etcd、docker、flannel安装配置
虚拟机:VMware® Workstation 12 Pro 系统:CentOS Linux release 7.2.1511 (Core) 3.10.0-327.el7.x86_64 由于刚开始学习 ...
- CI 2.2 + smarty 3.1.18 完美整合配置成功
CI 2.2 + smarty 3.1.18 配置成功 一.准备文档下载 (CI 框架和smarty) 二.将Smarty-3.1.18 源码包里面的libs文件夹copy到ci的项目目录appli ...
- Ubuntu 18的网络配置
包括Ubuntu 18.04和18.10,设置为静态IP及DNS. sudo vim /etc/netplan/50-cloud-init.yaml network: ethernets: enp4s ...
随机推荐
- Laravel5.5 邮件驱动使用 SMTP 驱动实现邮件发送
laravel5.5 邮件驱动 Laravel 支持多种邮件驱动,包括 smtp.Mailgun.Maildrill.Amazon SES.mail 和 sendmail.Mailgun . Mail ...
- vue2.x 给一个对象里添加一个没有的属性
obj = {...obj, name:'addName'} //给obj对象 添加一个name字段,并且赋值为‘addName’ 参考:
- 逛csdn看见的一个知识阶梯,感觉不错
逛csdn看见的一个知识阶梯,感觉不错: 计算机组成原理 → DOS命令 → 汇编语言 → C语言(不包括C++).代码书写规范 → 数据结构.编译原理.操作系统 → 计算机网络.数据库原理.正则表 ...
- 我现在有个表,里面有100个不同的单词,每个单词对应有大概20个词组,我想通过sql,每个单词随机获取对应的3个词组,请问怎么写可以实现?
闲来无事刷技术论坛,看到一个这样的问题: 我现在有个表,里面有100个不同的单词,每个单词对应有大概20个词组,我想通过sql,每个单词随机获取对应的3个词组,请问怎么写可以实现? 感觉题材很新颖,角 ...
- 自动化测试之路2---python安装
借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html
- LeetCode算法题-Minimum Index Sum of Two Lists(Java实现)
这是悦乐书的第272次更新,第286篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第139题(顺位题号是599).假设Andy和Doris想要选择一家餐馆吃晚餐,他们都有 ...
- 《生命》第五集:Birds (鸟类)
看了前四集之后意犹未尽,今天终于有时间来看第五集了. 本集讲的是鸟类,一个在恐龙开始繁荣的时代才开始有的物种. 鸟类和其他动物最不同的地方,就是羽毛,能隔热,保暖,最重要的是:能帮助他们飞行. 在秘鲁 ...
- eclipse search java 可以搜到 source.jar里的
eclipse search java 可以搜到 source.jar里的
- kafka-rest:A Comprehensive, Open Source REST Proxy for Kafka
Ewen Cheslack-Postava March 25, 2015 时间有点久,但讲的还是很清楚的 As part of Confluent Platform 1.0 released ab ...
- 解析Object.defineProperty的作用
对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的值. 定义对象可以使用构造函数或字面量的形式: 除了以上添加属性的方式,还可以使用Object.defineProperty定义新属性 ...