zoukankan      html  css  js  c++  java
  • 005.基于docker部署etcd集群部署

    一 环境准备

    ntp配置:略 #建议配置ntp服务,保证时间一致性
    etcd版本:v3.3.9
    防火墙及SELinux:关闭防火墙和SELinux
    名称
    地址
    主机名
    备注
    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
     

    二 docker etcd集群部署

    2.1 安装docker

    见《docker版本及安装》。

    2.2 etcd基础配置

      1 # mkdir -p /var/log/etcd/			        #建议创建etcd日志保存目录
      2 # mkdir -p /data/etcd				#建议创建单独的etcd数据目录
      3 # REGISTRY=gcr.io/etcd-development/etcd		#配置etcd镜像的仓库,不推荐使用
      4 # REGISTRY=quay.io/coreos/etcd			#建议使用此仓库
      5 # ETCD_VERSION=latest				#设置etcd版本
      6 # TOKEN=my-etcd-01				        #设置唯一集群ID
      7 # CLUSTER_STATE=new				        #置为新建集群
      8 # NAME_1=etcd1
      9 # NAME_2=etcd2
     10 # NAME_3=etcd3					#设置三个节点的name
     11 # HOST_1=172.24.8.71
     12 # HOST_2=172.24.8.72
     13 # HOST_3=172.24.8.73				#设置三个节点的IP
     14 # CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380					                        #设置集群所有节点信息
     15 # DATA_DIR=/data/etcd				#设置集群etcd数据节点
     
    提示:以上所有操作需要在所有节点操作。

    2.3 启动docker etcd集群

      1 [root@etcd1 ~]# THIS_NAME=${NAME_1}
      2 [root@etcd1 ~]# THIS_IP=${HOST_1}
      3 [root@etcd1 ~]# docker run 
      4   -p 2379:2379 
      5   -p 2380:2380 
      6   --volume=${DATA_DIR}:/etcd-data 
      7   --name etcd ${REGISTRY}:${ETCD_VERSION} 
      8   /usr/local/bin/etcd 
      9   --data-dir=/etcd-data --name ${THIS_NAME} 
     10   --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://0.0.0.0:2380 
     11   --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://0.0.0.0:2379 
     12   --initial-cluster ${CLUSTER} 
     13   --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
     14 
     15 [root@etcd2 ~]# THIS_NAME=${NAME_2}
     16 [root@etcd2 ~]# THIS_IP=${HOST_2}
     17 [root@etcd2 ~]# docker run 
     18   -p 2379:2379 
     19   -p 2380:2380 
     20   --volume=${DATA_DIR}:/etcd-data 
     21   --name etcd ${REGISTRY}:${ETCD_VERSION} 
     22   /usr/local/bin/etcd 
     23   --data-dir=/etcd-data --name ${THIS_NAME} 
     24   --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://0.0.0.0:2380 
     25   --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://0.0.0.0:2379 
     26   --initial-cluster ${CLUSTER} 
     27   --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
     28 
     29 [root@etcd3 ~]# THIS_NAME=${NAME_3}
     30 [root@etcd3 ~]# THIS_IP=${HOST_3}
     31 [root@etcd3 ~]# docker run 
     32   -p 2379:2379 
     33   -p 2380:2380 
     34   --volume=${DATA_DIR}:/etcd-data 
     35   --name etcd ${REGISTRY}:${ETCD_VERSION} 
     36   /usr/local/bin/etcd 
     37   --data-dir=/etcd-data --name ${THIS_NAME} 
     38   --initial-advertise-peer-urls http://${THIS_IP}:2380 --listen-peer-urls http://0.0.0.0:2380 
     39   --advertise-client-urls http://${THIS_IP}:2379 --listen-client-urls http://0.0.0.0:2379 
     40   --initial-cluster ${CLUSTER} 
     41   --initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
     
    提示:quay.io/coreos/etcd镜像国内可能无法pull,可在国外节点pull,然后scp至集群节点。

    2.4 确认验证

      1 [root@etcd1 ~]# docker ps
    15
      1 [root@etcd2 ~]# docker ps
    16
      1 [root@etcd3 ~]# docker ps
    17
      1 [root@etcd1 ~]# docker exec -it 21e6cf6e5e89 /usr/local/bin/etcdctl cluster-health
    18
      1 [root@etcd1 ~]# netstat -nltp | grep 2380
    19
     
  • 相关阅读:
    OSG快速生成一个带有纹理的四边形Geometry
    Excel计算一列的和sum(A:A)
    如何区分SNAT和DNAT
    openstack 常用命令
    Access an instance through a console
    OpenStack网络指导手册 -基本网络概念
    vlan与交换机端口模式Access,Hybrid,Trunk
    网卡的混杂模式
    What is the difference between provider network and self-service network in OpenStack?
    C/C++程序终止时执行的函数——atexit()函数详解
  • 原文地址:https://www.cnblogs.com/itzgr/p/9920897.html
Copyright © 2011-2022 走看看