工作记录四-etcd与flanneld
2016-03-21 15:15
253 查看
#######################
## etcd用来做flannld的数据中心,记录flannld各主机子网的配置
## flannld使各容器实例处于同一子网内,可以相互访问
#######################
### 一、etcd安装及使用
## 1. 下载编译二进制包
git clone https://github.com/coreos/etcd.git cd etcd # 进入相关目录
./build # 编译
# cd bin目录下,将相关的生成文件cp到/usr/bin目录下
sudo cp etcd* /usr/bin
# 先取etcd发现的key,后面的size表示有几个etcd实例,单机测试可以size=1 https://discovery.etcd.io/new?size=3 中获取一个discovery地址
# 2. 启动etcd相关脚本
# 3. 校验
# 插入一条记录 {"AAA" :"this is awesome"}
# 查询相关的记录
## etcd用来做flannld的数据中心,记录flannld各主机子网的配置
## flannld使各容器实例处于同一子网内,可以相互访问
#######################
### 一、etcd安装及使用
## 1. 下载编译二进制包
git clone https://github.com/coreos/etcd.git cd etcd # 进入相关目录
./build # 编译
# cd bin目录下,将相关的生成文件cp到/usr/bin目录下
sudo cp etcd* /usr/bin
# 先取etcd发现的key,后面的size表示有几个etcd实例,单机测试可以size=1 https://discovery.etcd.io/new?size=3 中获取一个discovery地址
# 2. 启动etcd相关脚本
etcd -initial-advertise-peer-urls http://192.168.1.110:2380 \ -listen-peer-urls http://192.168.1.110:2380 \ -listen-client-urls http://0.0.0.0:2379 \ -advertise-client-urls http://0.0.0.0:2379 \ -initial-cluster-state new \ -discovery https://discovery.etcd.io/f65861ba56d34ab3857836a6c57d1a2c &
# 3. 校验
# 插入一条记录 {"AAA" :"this is awesome"}
curl -L http://192.168.1.110:2379/v2/keys/AAA -XPUT -d value="this is awesome"
# 查询相关的记录
curl -L http://192.168.1.110:2379/v2/keys/AAA[/code]
### 二、安装flannel
# 1. 下载编译git clone https://github.com/coreos/flannel.git cd flannel ./build
# 复制到相关目录下sudo cp flanneld /usr/bin
# 在dist目录下,将mk-docker-opts.sh 复制到/usr/bin中sudo cp mk-docker-opts.sh /usr/bin
# 切换回docker用户,在节点上执行sudo mk-docker-opts.sh -i # 自动生成subnet.env文件
# 2. flannld配置及启动
# 在etcd中配置flannld需要使用的子网记录etcdctl rm /coreos.com/network/config etcdctl mk /coreos.com/network/config '{"Network":"10.0.0.0/16"}'
#切换到root用户下,启动nohup flanneld -iface=virbr0 & # 启动,由于在虚拟机只有virbr0 source /run/flannel/subnet.env # 生效环境 echo ${FLANNEL_SUBNET} # 检查环境配置 # 配置docker0 sudo ifconfig docker0 ${FLANNEL_SUBNET}
# 3. 重新启动docker以生效sudo systemctl stop docker.service sudo systemctl start docker.service # 可能会报一个错,但不影响使用
# 4. 效果检查
#查看配置:etcdctl ls /coreos.com/network/subnets
=> 输出/coreos.com/network/subnets/172.17.99.0-24
# 查看容器ipdocker ps #查看运行中的容器 docker inspect f5ca21b47cef # 可以发现所有容器都在172.17.99.x这一子网段中即可
相关文章推荐
- [LeetCode]题解(python):117-Populating Next Right Pointers in Each Node II
- Mac下开发常用目录
- 【Codeforces Round 263 (Div 2)A】【水题 认真读题】Appleman and Easy Task 每个点的相邻o是否都为偶数
- 在android的同一个wifi局域网下,利用socket与多个手机进行数据的收发
- 调用android系统相机拍照并保存
- 数据库优化
- HTTP报文
- sqlite插入数据效率提升解决方案
- Office Web Apps资源
- [已解决问题] Could not find class XXX referenced from method XXX.<YYY>
- KAFKA分布式消息系统
- Android如何高性能编程
- 新手笔记:针对static关键字的学习
- Google cardBoard Android API (八):Eye.Type
- Android开发学习笔记秘籍(十六)
- vs2015 打不开了 提示"CSharpPackage",未能正确加载xx包
- 细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4
- Log4j详细使用教程
- 《构建之法》第1.2章读后感
- 自我总结- CGAffineTransform