首页 技术 正文
技术 2022年11月9日
0 收藏 972 点赞 2,361 浏览 1570 个字

tip:本节课的学习视频没有找到,所以有的地方可能不是很清晰。

可选的几种网络方案

openvswitch

是一种主流的虚拟化大二层技术

灵活 对现有物理网络没要求 业界主流

软件封装导致性能低 复杂度比较高 Trouble Shooting难

路由技术

一种结合了Linux路由功能的“正统”网络技术

常规路由技术

使用传统网络技术

简单

高性能

与现有网络融为一体

灵活性低

新设计的Flannel

Flannel网络方案详解

原始数据是在起始节点的 Flannel服务上进行UDP封装 的,投递到目的节点后就被 另一端的Flannel服务还原成 了原始的数据包,两边的 Docker服务都感觉不到这个 过程的存在。

用Etcd存储子网拓扑与路由表 怎么确保每个Node上的Dockers引擎用不同的IP地址段,这个事情看起来很诡异,但真相十分简单。其实只是

单纯的因为Flannel通过Etcd分配了每个节点可用的IP地址段后,偷偷的修改了Docker的启动参数,见下图。

这个IP范围是由Flannel自动分配的,由Flannel通过保存在Etcd服务中的记录确保它们不会重复。

需要在每台Node上都安装flannel。flannel软件的下载地址为 https://github.com/ coreos/ flannel/releases。将下载的压缩包 flannel–linux-amd64.tar.gz解压,把二进制文件 flanneld和mk-docker-opts.sh复制到/usr/bin(或其他PATH环境变 量中的目录),即可完成对flannel的安装。

使用systemd系统为例对flanneld服务进行配置。 编辑服务配置文件/usr/lib/systemd/system/flanneld.service:

[Unit]Description=Flanneld overlay address etcd agentAfter=network.targetBefore=docker.service[Service]Type=notifyEnvironmentFile=/etc/sysconfig/flanneld EnvironmentFile=-/etc/sysconfig/docker-networkExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} $FLANNEL_OPTIONS [Install]RequiredBy=docker.serviceWantedBy=multi-user.target

编辑配置文件/etc/sysconfig/flanneld,设置etcd的URL地址(Master上安装的etcd节点地址)

FLANNEL_ETCD="http://192.168.1.128:4001"

在启动flannel之前,需要在etcd中添加一条网络配置记录,这个配置将用于 flannel分配给每个Docker的虚拟IP地址段。

# etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'

由于flannel将覆盖docker0网桥,所以如果Docker服务已启动,则停止 Docker服务,然后systemctl restart flanneld

在每个节点上执行:

sudo mk-docker-opts.sh -isource /run/flannel/subnet.envsudo rm /var/run/docker.pidsudo ifconfig docker0 ${FLANNEL_SUBNET}

重启动一次Docker,这样配置就完成了。

Flannel很新颖很不错 实际在可控的网络里,路由的方案则性能

最好,适合生产用,配合Quagga 来做到 自动路由更新

下一篇: ch5 vlsms
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290