004.etcd集群部署-动态发现
一 etcd发现简介
1.1 需求背景
- etcd Discovery
- DNS发现
1.2 实现机制
1.3 协议工作流程
二 集群部署-etcd自带发现
2.1 环境准备
|
名称
|
地址
|
主机名
|
备注
|
|
etcd1
|
172.24.8.71
|
etcd1.example.com
|
|
|
etcd2
|
172.24.8.72
|
etcd2.example.com
|
|
|
etcd3
|
172.24.8.73
|
etcd3.example.com
|
1 # hostnamectl set-hostname etcd1.example.com
2 # hostnamectl set-hostname etcd2.example.com
3 # hostnamectl set-hostname etcd3.example.com
4 # vi /etc/hosts
5 #……
6 172.24.8.71 etcd1.example.com
7 172.24.8.72 etcd2.example.com
8 172.24.8.73 etcd3.example.com
2.2 安装etcd
1 # ETCD_VER=v3.3.9
2 # GITHUB_URL=https://github.com/coreos/etcd/releases/download
3 # DOWNLOAD_URL=${GITHUB_URL}
4 # rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
5 # rm -rf /tmp/etcd-download-test
6 # mkdir -p /tmp/etcd-download-test #创建下载保存目录
7 # curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
8 # tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1
9 # cp /tmp/etcd-download-test/etcd /usr/local/bin/
10 # cp /tmp/etcd-download-test/etcdctl /usr/local/bin/
11 # rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
12
13 # rm -rf /tmp/etcd-download-test/
14 # ETCDCTL_API=3
15 # etcd --version
16 # etcdctl --version #查看已安装版本
2.3 启动前准备
1 # mkdir -p /var/log/etcd/ #建议创建etcd日志保存目录
2 # mkdir -p /data/etcd #建议创建单独的etcd数据目录
2.4 创建集群发现
1 [root@etcd1 ~]# curl https://discovery.etcd.io/new?size=3 #使用公共etcd发现服务
2 https://discovery.etcd.io/c41a8c03922c32eaa4be1e7bcf6332a8
提示:size为集群节点数量,若未指定数量,则默认位3。
2.5 启动集群
1 [root@etcd1 ~]# etcd --name etcd1 --data-dir /data/etcd \
2 --initial-advertise-peer-urls http://172.24.8.71:2380 \
3 --listen-peer-urls http://172.24.8.71:2380 \
4 --listen-client-urls http://172.24.8.71:2379,http://127.0.0.1:2379 \
5 --advertise-client-urls http://172.24.8.71:2379 \
6 --discovery https://discovery.etcd.io/c41a8c03922c32eaa4be1e7bcf6332a8
7
8 [root@etcd2 ~]# etcd --name etcd2 --data-dir /data/etcd \
9 --initial-advertise-peer-urls http://172.24.8.72:2380 \
10 --listen-peer-urls http://172.24.8.72:2380 \
11 --listen-client-urls http://172.24.8.72:2379,http://127.0.0.1:2379 \
12 --advertise-client-urls http://172.24.8.72:2379 \
13 --discovery https://discovery.etcd.io/c41a8c03922c32eaa4be1e7bcf6332a8
14
15 [root@etcd3 ~]# etcd --name etcd3 --data-dir /data/etcd \
16 --initial-advertise-peer-urls http://172.24.8.73:2380 \
17 --listen-peer-urls http://172.24.8.73:2380 \
18 --listen-client-urls http://172.24.8.73:2379,http://127.0.0.1:2379 \
19 --advertise-client-urls http://172.24.8.73:2379 \
20 --discovery https://discovery.etcd.io/c41a8c03922c32eaa4be1e7bcf6332a8
2.6 集群检测
1 [root@etcd1 ~]# etcdctl member list
2 [root@etcd1 ~]# etcdctl cluster-health

三 集群部署-DNS发现
参考官方文档:
https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/configuration.md
004.etcd集群部署-动态发现的更多相关文章
- 003.etcd集群部署-静态发现
一 etcd集群概述 1.1 概述 静态启动etcd集群要求每个成员都知道集群中的另一个成员.Etcd运行在集群的每个coreos节点上,可以保证coreos集群的稳定,可靠的运行.当集群网络出现动荡 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
- etcd集群部署与遇到的坑(转)
原文 https://www.cnblogs.com/breg/p/5728237.html etcd集群部署与遇到的坑 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一 ...
- 005.基于docker部署etcd集群部署
一 环境准备 ntp配置:略 #建议配置ntp服务,保证时间一致性 etcd版本:v3.3.9 防火墙及SELinux:关闭防火墙和SELinux 名称 地址 主机名 备注 etcd1 172.24. ...
- etcd集群部署
etcd是用于共享配置和服务发现的分布式KV存储系统,随着CoreOS和Kubernetes等项目在开源社区日益火热,它们都用到了etcd组件作为一个高可用.强一致性的服务发现存储仓库.操作系统版本: ...
- Kubernetes集群部署之三ETCD集群部署
kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes 集群机器k8s-master.k8s-node-1.k ...
- K8s集群部署(一)------ETCD集群部署
环境说明 三台主机: k8s-master 10.0.3.225 k8s-node1 10.0.3.226 k8s-node2 10.0.3.227 配置主机名解析 [root@k8s- ...
- etcd集群部署与遇到的坑
在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑.今天记录一下,为了以后更好操作. ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群 ...
- etcd 集群部署
etcd web管理 https://nikfoundas.github.io/etcd-viewer/ # git clone https://github.com/nikfoundas/etcd- ...
随机推荐
- Confluence 6 安装 SQL Server
如果你还没有在安装可以连接的 Microsoft SQL Server 数据库,请先下载后进行安装.请参考 MSDN 上 Installation for SQL Server 的指南. 有关授权模 ...
- Vue.extend和Vue.component的联系与差异
extend 是构造一个组件的语法器. 你给它参数 他给你一个组件 然后这个组件 你可以作用到Vue.component 这个全局注册方法里, 也可以在任意vue模板里使用apple组件 var ap ...
- opencv 图像矫正
四个坐标系的转换:https://blog.csdn.net/humanking7/article/details/44756073 标定和矫正:https://blog.csdn.net/u0134 ...
- python之内置模块random(转载)
转载自http://www.cnblogs.com/wcwnina/p/9281334.html random.seed(a=None, version=2) # 初始化伪随机数生成器,若种子a相同, ...
- gnuradio 使用eclipse 编辑器记录
第1步 - 首先安装eclipse 先去官网下载,然后解压 --->下载版本是C++/C 版---->解压--->打开--->help->eclipse marketp ...
- SpringCloud路由(网关)
springcloud网关接口就类似于转发 搭建路由网关项目(ZuulDemo) 1.创建pom.xml <project xmlns="http://maven.apache.org ...
- C++标准库和标准模板库(转)
转自原文http://blog.csdn.net/sxhelijian/article/details/7552499 C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标 ...
- laravel 频率限制throttle
在 Laravel 5.6 中,还引入了频率限制功能.所谓频率限制,指的是在指定时间单个用户对某个路由的访问次数限制,该功能有两个使用场景,一个是在某些需要验证/认证的页面限制用户失败尝试次数,提高系 ...
- 10进制 VS 2进制
10进制 VS 2进制 时间限制: 1 Sec 内存限制: 32 MB 题目描述 样例输出 623 #include<stdio.h> #include<string.h> ...
- 第二周学习总结-Java
2018年7月22日 暑假第二周马上就要结束了,这一周我继续学习了java. 本周学到了一些Java的修饰词,比如static.private.public等,这些修饰词用法与c++类似,很容易掌握. ...