#关闭selinux、防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0

# 节点node1

docker run -d --name etcd --restart=always \
-p 2379:2379 \
-p 2380:2380 \
kubernetes/etcd:v3.2.4 \
/usr/local/bin/etcd \
--name node1 \
--initial-advertise-peer-urls http://172.19.15.92:2380 --listen-peer-urls http://0.0.0.0:2380 \
--advertise-client-urls http://172.19.15.92:2379 --listen-client-urls http://0.0.0.0:2379 \
--initial-cluster-state new \
--initial-cluster-token docker-etcd \
--initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 节点node2

docker run -d --name etcd --restart=always \
-p 2379:2379 \
-p 2380:2380 \
kubernetes/etcd:v3.2.4 \
/usr/local/bin/etcd \
--name node2 \
--initial-advertise-peer-urls http://172.19.15.93:2380 --listen-peer-urls http://0.0.0.0:2380 \
--advertise-client-urls http://172.19.15.93:2379 --listen-client-urls http://0.0.0.0:2379 \
--initial-cluster-state new \
--initial-cluster-token docker-etcd \
--initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 节点node3

docker run -d --name etcd --restart=always \
-p 2379:2379 \
-p 2380:2380 \
kubernetes/etcd:v3.2.4 \
/usr/local/bin/etcd \
--name node3 \
--initial-advertise-peer-urls http://172.19.15.94:2380 --listen-peer-urls http://0.0.0.0:2380 \
--advertise-client-urls http://172.19.15.94:2379 --listen-client-urls http://0.0.0.0:2379 \
--initial-cluster-state new \
--initial-cluster-token docker-etcd \
--initial-cluster node1=http://172.19.15.92:2380,node2=http://172.19.15.93:2380,node3=http://172.19.15.94:2380

# 配置网络

 [root@k8s ~]# docker exec etcd etcdctl set /k8s/network/config '{"Network":"192.100.0.1/16"}'
{"Network":"192.100.0.1/16"}

# 查看 etcd 成员

 [root@k8s ~]# docker exec etcd etcdctl member list
14a0991cbae18c78: name=node3 peerURLs=http://172.19.15.94:2380 clientURLs=http://172.19.15.94:2379 isLeader=false
33a95350dcc12573: name=node1 peerURLs=http://172.19.15.92:2380 clientURLs=http://172.19.15.92:2379 isLeader=true
6cb8872859c66c95: name=node2 peerURLs=http://172.19.15.93:2380 clientURLs=http://172.19.15.93:2379 isLeader=false

# 查看 etcd 健康状态

 [root@k8s ~]# docker exec etcd etcdctl cluster-health
member 14a0991cbae18c78 is healthy: got healthy result from http://172.19.15.94:2379
member 33a95350dcc12573 is healthy: got healthy result from http://172.19.15.92:2379
member 6cb8872859c66c95 is healthy: got healthy result from http://172.19.15.93:2379
cluster is healthy

# docker 命令行启动

 /usr/bin/dockerd --registry-mirror=http://f2d6cb40.m.daocloud.io --bip=192.100.68.1/24

Docker 搭建 etcd 集群配置的更多相关文章

  1. Docker 搭建 etcd 集群

    阅读目录: 主机安装 集群搭建 API 操作 API 说明和 etcdctl 命令说明 etcd 是 CoreOS 团队发起的一个开源项目(Go 语言,其实很多这类项目都是 Go 语言实现的,只能说很 ...

  2. docker搭建etcd集群环境

    其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群. 1.拉取etcd镜像 docker pull quay ...

  3. Docker 搭建 etcd 集群及管理

    环境 host1 10.1.99.13 host2 10.1.99.14 host3 10.1.99.15 host4 10.1.99.12(用于测试添加删除节点) 初始化集群 host1 $ doc ...

  4. 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现

    庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介      在第七篇文章<庐山真面目之七微服务架构Consul ...

  5. Docker搭建RabbitMQ集群

    Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...

  6. 搭建etcd集群

    一 介绍 etcd 高可用一致性键值存储系统,使用Raft一直算法处理日志复制以保证数据一致性.主要在搭建kubernates时关注到etcd来研究部署etcd.使用golang语言编写,和zooke ...

  7. 基于Docker部署ETCD集群

    基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议 ...

  8. 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)

    上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...

  9. 使用Docker搭建Hadoop集群(伪分布式与完全分布式)

    之前用虚拟机搭建Hadoop集群(包括伪分布式和完全分布式:Hadoop之伪分布式安装),但是这样太消耗资源了,自学了Docker也来操练一把,用Docker来构建Hadoop集群,这里搭建的Hado ...

随机推荐

  1. Nginx 前后端分离配置 分发

    前端项目VUE  端口8081 , 后端项目JAVA 端口8080 # For more information on configuration, see: # * Official English ...

  2. 【转】跨DLLnew delete问题

    转两篇文章来说这个问题的 链接1:https://blog.csdn.net/notebook2001a/article/details/6647850 链接2:https://blog.csdn.n ...

  3. cudnn 安装

    ubuntu 下载地址 https://developer.nvidia.com/rdp/cudnn-download 安装教程 http://docs.nvidia.com/deeplearning ...

  4. Java中的几种设计模式

    如果从事JAVA相关的开发,都不可避免的要用到抽象和封装,这是JAVA的一个特点,同时也是每个开发者必须掌握的,JAVA是这样,Android更是如此.而设计模式就是告诉我们应该如何写出高效且更具应用 ...

  5. Spring AOP相关术语

    ---------------------siwuxie095                                 Spring AOP 相关术语         (1)Joinpoint ...

  6. 721. Accounts Merge合并电子邮件账户

    [抄题]: Given a list accounts, each element accounts[i] is a list of strings, where the first element  ...

  7. nat转发

    http://www.revsys.com/writings/quicktips/nat.html https://www.alibabacloud.com/zh/product/nat?spm=a3 ...

  8. C#重启IIS

    using System.Diagnostics; using System.ServiceProcess; //ServiceController sc1 = new ServiceControll ...

  9. DOM 删除HTML元素

    常用方法: <script> var parent=document.getElementById("div1"); var child=document.getEle ...

  10. 有些标签的class有多个值,用空格隔开的,是什么意思阿?

    这个div同时应用了三个class.三个class的设置都会对它起作用,相互冲突时,越后面的class优先权越高.