docker 创建etcd集群
1、本文采用etcd3.5.1版本,首先下载etcd3.5.1 docker镜像
docker pull quay.io/coreos/etcd:v3.5.1
2、在自己设定的目录,比如/home/etcd下创建docker-compose.yml,内容如下
##xx.xx.xx.xx 为自己服务器ip地址
version: "3.7"services:etcd0:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd0ports:- "23800:2380"- "23790:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd0- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23790- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23800- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=newetcd1:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd1ports:- "23801:2380"- "23791:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd1- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23791- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23801- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=newetcd2:image: "quay.io/coreos/etcd:v3.5.1"container_name: etcd2ports:- "23802:2380"- "23792:2379"environment:- ALLOW_NONE_AUTHENTICATION=yes- ETCD_NAME=etcd2- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://xx.xx.xx.xx:23792- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster- ETCD_INITIAL_CLUSTER=etcd0=http://xx.xx.xx.xx:23800,etcd1=http://xx.xx.xx.xx:23801,etcd2=http://xx.xx.xx.xx:23802- ETCD_INITIAL_CLUSTER_STATE=new
3、在home/etcd目录下执行docker-compose up -d
4、验证是否成功,输入docker ps
然后根据容器id,查看每个容器中 etcd集群内成员信息,正常情况下,三个容器出现的结果是一致的。
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 2b900596bc82 etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it cf932f70bd6a etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 208ae882d104 etcdctl member list
10708a1c20394730, started, etcd1, http://xx.xx.xx.xx:23801, http://xx.xx.xx.xx:23791, false
816ab764a1780c22, started, etcd2, http://xx.xx.xx.xx:23802, http://xx.xx.xx.xx:23792, false
e87b893102f81d9f, started, etcd0, http://xx.xx.xx.xx:23800, http://xx.xx.xx.xx:23790, false
测试一下,在容器A(etcd0)中创建一个key,在容器B(etcd1)和容器C(etcd2)中读取。
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it cf932f70bd6a etcdctl put Test "hello etcd"
OK
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 2b900596bc82 etcdctl get Test --prefix
Test
hello etcd
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]# docker exec -it 208ae882d104 etcdctl get Test --prefix
Test
hello etcd
[root@iZbp1bq6vb70qq3lbmjlh0Z ~]#
可以看到,三个容器中的etcd已实现了数据同步过程。至此,etcd利用docker容器生成多节点模拟多台服务器来完成etcd集群的部署已完成。
docker 创建etcd集群相关推荐
- Docker下ETCD集群搭建
Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...
- (通俗易懂~)Docker搭建Etcd集群
(通俗易懂~)基于Docker的Etcd集群环境搭建 闲言碎语 Etcd简介 准备环境 第一步,下载Etc镜像 第二步,创建自定义Docker网络 第三步,创建并启动Etcd镜像节点 验证结果 完结撒 ...
- 使用docker创建swarm集群网络
Docker集群网络,解决的问题是能同时响应多少请求.不是分布式计算,因为分布式计算是将一个任务拆分若干个子任务,然后将子任务分配到不同的机器上去执行. 集群网络的命令 (1)docker swarm ...
- ETCD教程(一) 通过docker安装etcd集群
相关阅读: etcd教程(零)---etcd使用过程中遇到的问题 - etcd教程(二)---clientv3简单使用 - etcd教程(三)---etcd之v3API简单分析 - 本文主要记录了如何 ...
- k8s之创建etcd集群
主机规划 maste01--192.168.10.63 master02--192.168.10.64 node01--192.168.10.65 node02--192.168.10.66 1.为保 ...
- 用Kubernetes搭建Etcd集群和WebUI
今天用这篇文章带大家在自己的电脑上搭建一个Kubernetes Etcd集群,Kubernetes本身的功能就依赖Etcd实现,不过并不会开放给我们的程序使用,所以需要自己单独搭建. Etcd现在是分 ...
- Etcd教程 — 第二章 Etcd集群静态发现
Etcd教程 - 第二章 Etcd集群静态发现 一.Etcd集群安装方式 二.Etcd集群静态发现 2.1 静态启动的方式 ※2.2 单机搭建Etcd集群 2.2.1 安装 goreman工具 2.2 ...
- CA证书与ETCD集群
目录 一.CA证书 二.制作K8S集群证书流程 1.制作官方颁发的证书 2.制作master端的证书 3.制作worker node端证书 (1)服务器单向认证 (3)双向 TLS 认证 三.K8S ...
- Docker Swarm(创建swarm集群,节点的升级降级,滚动更新,Portainer)
Docker swarm 1.创建 Swarm 集群 2.部署swam监控 3.节点的降级升级 4.删除节点 5. 私有仓库的结合 6.滚动更新 滚动更新镜像版本 删除服务 7. 编写compose文 ...
最新文章
- Design Pattern - Adapter(C#)
- express get和post数据
- [数分提高]2014-2015-2第9教学周第1次课 (2015-04-28)
- html 鼠标图标做成动画效果,怎么实现鼠标经过图标动画效果
- eclipse打war包_jar包和war包的区别
- linux等候脚本,linux – 在bash脚本中继续之前等待通过ssh运行的脚本完成
- paip.svn 导入项目到SVN库
- 动手教你撸一个iOS颜色拾取器
- 小程序源码:长期稳定短视频去水印-多玩法安装简单
- 中国首个超250米高“空中连廊”幕墙工程合拢 创多项世界之最
- 【OpenBMC 系列】2.OpenBMC镜像编译流程
- height百分比%-px的实现(增加两个嵌套标签)~
- iOS获取设备IP地址
- 学网页平面UI设计让你挑战高薪
- 编译单个java文件
- c语言验证卡布列卡猜想,西安电子科技大学刘三阳教授为新生作专题讲座
- java界面绘制地铁路线_基于 HTML5 Canvas 的交互式地铁线路图
- 2023年黑马Java入门到精通教程--Java基础入门
- 【热门书籍】不生病的智慧 作者:马悦凌
- 量子计算机科学家姚期智,姚期智论文,关于图灵奖获得者姚期智:量子计算机只差“最后一公里”相关参考文献资料-免费论文范文...