CentOS 7 Flannel的安装与配置
1. 安装前的准备
etcd 3.2.9
Docker 17.12.0-ce
三台机器10.100.97.236, 10.100.97.92, 10.100.97.81
etcd不同版本之间的差别还是挺大的,使用V3版本跟Flannel整合起来会有坑,下文详解。
2. 安装
sudo yum install -y flannel
安装后,版本是0.7.1
3. 在etcd中设置变量
etcdctl put /coreos.com/network/config '{ "Network": "172.17.0.0/16" }'
curl -X PUT http://127.0.0.1:2379/v2/keys/coreos.com/network/config -d value='{ "Network": "172.17.0.0/16" }'
有两种方法可以设置,但是flannel 0.7.1版默认使用的是etcd V2的http接口,所以如果etcd是V3版本而且用第一种方法设置那么会导致fannel读取不到配置,运行flannel会报错failed to retrieve network config: 100: Key not found (/coreos.com);如果ectd是V2版本,那么两种方法设置都可以。
同时,如果出现类似的报错,可以使用下面的命令测试
curl http://172.0.0.1:2379/v2/keys/coreos.com/network/config
4. 放开8285 udp端口
sudo firewall-cmd --zone=public --add-port=8285/udp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
5. 创建日志目录
sudo mkdir -p /var/log/flannel
6. 修改flanneld配置
sudo vim /etc/sysconfig/flanneld
修改为
FLANNEL_ETCD_ENDPOINTS="http://10.100.97.236:2379,http://10.100.97.92:2379,http://10.100.97.81:2379"
FLANNEL_ETCD_PREFIX="/coreos.com/network"
FLANNEL_OPTIONS="--logtostderr=false --log_dir=/var/log/flannel/ --iface=你的网卡名字"
7. 启动
sudo systemctl daemon-reload
sudo systemctl start flanneld
sudo systemctl status flanneld
sudo systemctl enable flanneld
8. 配置Docker
Flanneld服务需要先于Docker启动,此时应该停掉Docker,待配置完之后重启。
配置好Flanneld之后它会从etcd中获取network的配置信息,然后划分subnet并在etcd中进行注册,然后将子网信息记录到/run/flannel/subnet.env中,最后将subnet.env转写成一个docker的环境变量文件/run/flannel/docker。
可以通过以下命令查看相关文件信息:
cat /run/flannel/subnet.env
cat /run/flannel/docker
此外,Flanneld还会自动修改Docker的配置
systemctl show docker


我们需要修改/usr/lib/systemd/system/docker.service,并应用/run/flannel/docker当中的DOCKER_NETWORK_OPTIONS配置:
sudo vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock $DOCKER_NETWORK_OPTIONS
重启Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
9. 测试安装结果
ip addr show

查看docker的地址段是否在etcd中存储的地址段中。
CentOS 7 Flannel的安装与配置的更多相关文章
- 在CentOS 6.3中安装与配置JDK-7
在CentOS 6.3中安装与配置JDK-7 来源:互联网 作者:佚名 时间:02-07 16:28:33 [大 中 小] 在CentOS-6.3中安装与配置JDK-7,有需要的朋友可以参考下 安装说 ...
- centos 6.5下安装、配置并启动SSH远程访问
centos 6.5下安装.配置并启动SSH远程访问 1.登录centos 6.5系统,使用root用户登录,如果为非root用户则执行su或su - 或su root或su - root切换为roo ...
- mac与centos下redis的安装与配置
前言 最近在用redis,下面简单写一下mac和centos下redis的安装与配置方法. 安装 mac下面 安装命令:brew intall redis 运行命令:brew services sta ...
- Centos下telnet的安装和配置
Centos下telnet的安装和配置 首先为Centos配置地址(192.168.0.1/24) 一.查看本机是否有安装telnetrpm -qa | grep telnetrpm -q telne ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- Centos下Nagios的安装与配置
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- Linux CentOS 7下Memcached 安装与配置
前言 本篇文章记录一下Linux CentOS 7中关于Memcached的安装与配置. 安装 安装memcached之前首先需要安装libevent,我这里用的版本是: •libevent-2.0. ...
- 怎样在 CentOS 7.0 上安装和配置 VNC 服务器
这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC ...
- 阿里云服务器下安装LAMP环境(CentOS Linux 6.3) 安装与配置 FTP 服务器
我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...
随机推荐
- github page更新后不生效
昨晚在本地git仓库修改了页面内容后,git push上去,到页面去刷新发现,并没有改变.本来还想着是需要点时间来更新,就再等等. 没想到过了十几分钟后,还是没有更新. 然后同时习惯性地打开了邮箱,发 ...
- 解决windows 下mysql 表名自动转成小写的问题
由于web用的是mvc,数据库用的是mysql.为了方便开发,在windows7下面也安装了个mysql,今天在创建表的时候,遇到了个棘手的问题.所有的表名都转成了小写,这不是我要的,作为处女座,是不 ...
- linux的文件类型和权限
Linux下使用ll或ls -l查看文件的信息 (ll和ls-l的区别:ll会显示出当前目录下的隐藏文件,而ls -l不会) 文件信息分为:文件类型.权限.链接数.所属用户.所属用户组.文件大小. ...
- 139. Word Break (String; DP)
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...
- VC++ 定时器使用总结
VC++ WM_TIMER 定时器使用方法 在编程时,会经常使用到定时器.使用定时器的方法比较简单,通常告诉Windows一个时间间隔,然后WINDOWS以此时间间隔周期性触发程 ...
- web 批量打印
批量打印,同时打印多个页面,有两种思路: 第一种思路,将所有的页面内容加载到一个页面中,然后再打印.这种打印方式有几个弊端,页面的样式会丢失,页面太多同时加载到一个页面中,数据量太大,响应时间很长,消 ...
- 【转】HttpApplication的认识与加深理解
原文:http://www.cnblogs.com/whtydn/archive/2009/10/16/1584584.html HttpApplication对象是经由HttpApplication ...
- 201621123008 《Java程序设计》第二周学习总结
1. 本周学习总结 通过查询API掌握了一下几种类的基本用法: String类 StringBuilder类 ArrayList类 BigInteger类 BigDecimal类 Arrays类 认知 ...
- oracle常用函数速记
1.截断中文字符串 CREATE OR REPLACE function cn_cutstr(v_str varchar2,v_len number) return varchar2 IS v_i n ...
- 2018.09.18 atcoder Best Representation(kmp)
传送门 思路简单不知为何调试了很久. 显然要么分成n个(所有字符相同),要么分成1个(原字符串无循环节),要么分成两个(有长度至少为2的循环节). 一开始以为可以直接hash搞定. 后来wa了几次之后 ...