• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    基于Docker的Etcd分布式部署的方法步骤

    一 环境准备

    1.1 基础环境

    ntp配置:略 #建议配置ntp服务,保证时间一致性

    etcd版本:v3.3.9

    防火墙及SELinux:关闭防火墙和SELinux

    名称
    地址
    主机名
    备注
    etcd1
    172.24.8.71
    etcd1.example.com
    用于保存相关IP信息
    docker01
    172.24.8.72
    docker01.example.com
     
    docker02
    172.24.8.73
    docker02.example.com
     

    # hostnamectl set-hostname etcd1.example.com
    # hostnamectl set-hostname docker01.example.com
    # hostnamectl set-hostname docker02.example.com

    提示:主机名非必须。

    1.2 docker环境

    以上所有节点均安装docker,具体方式见《002.docker版本及安装》。

    二 etcd节点部署

    提示:本环境全部采用docker化,即etcd服务也以docker形式存在。

    2.1 etcd基础配置

    # mkdir -p /var/log/etcd/  #建议创建etcd日志保存目录
    # mkdir -p /data/etcd  #建议创建单独的etcd数据目录
    # export HOST_1=172.24.8.71  #设置etcd节点的IP
    # export DATA_DIR=/data/etcd  #设置集群etcd数据节点
    # REGISTRY=quay.io/coreos/etcd  #建议使用此仓库
    # ETCD_VERSION=latest  #设置etcd版本
    # export NAME_1=etcd1  #设置etcd节点的name
    # docker volume create --name etcd-data

    提示:以上所有操作需要在所有节点操作。

    2.3 启动docker etcd集群

    [root@etcd1 ~]# docker run \
    
     -p 2379:2379 \
    
     -p 2380:2380 \
    
     --volume=${DATA_DIR}:/etcd-data \
    
     --name etcd ${REGISTRY}:${ETCD_VERSION} \
    
     /usr/local/bin/etcd \
    
     --data-dir=/etcd-data --name ${NAME_1} \
    
     --initial-advertise-peer-urls http://${HOST_1}:2380 --listen-peer-urls http://0.0.0.0:2380 \
    
     --advertise-client-urls http://${HOST_1}:2379 --listen-client-urls http://0.0.0.0:2379 \
    
     --initial-cluster ${NAME_1}=http://${HOST_1}:2380

    提示:quay.io/coreos/etcd镜像国内可能无法pull,可在国外节点pull,然后scp至集群节点。

    2.4 确认验证

     [root@etcd1 ~]# docker ps

     

     [root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl cluster-health

    [root@etcd1 ~]# docker exec -it bcb96fb0f987 /usr/local/bin/etcdctl --endpoints=http://${HOST_1}:2379 member list

    三 docker宿主机节点配置

    3.1 docker01配置

    [root@docker01 ~]# vi /etc/sysconfig/docker
    OPTIONS='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.72:2379'
    [root@docker01 ~]# systemctl restart docker

    3.2 docker02配置

    [root@docker02 ~]# vi /etc/sysconfig/docker
    OPTIONS='--cluster-store=etcd://172.24.8.71:2379 --cluster-advertise=172.24.8.73:2379'
    [root@docker02 ~]# systemctl restart docker

    3.3 创建overlay网络

    [root@docker01 ~]# docker network create -d overlay overlaynet1
    418654e0092f5d1c3e4bf2b9ee73cdd22932dd60fecf12d7a3b024818118244b
    [root@docker01 ~]# docker network inspect overlaynet1

    [root@docker02 ~]# docker network inspect overlaynet1

    提示:分别在docker01和docker02宿主机查看在docker01上创建的overlay网络,若都存在则表示通过 etcd,网络数据是分布式而不是本地的了。

    3.4 测试网络

    [root@docker01 ~]# docker run -d --name Container01 --network overlaynet1 training/webapp python app.py
    [root@docker02 ~]# docker run -d --name Container02 --network overlaynet1 training/webapp python app.py
    [root@docker01 ~]# docker exec -it 73e984a5528a /bin/bash
    root@73e984a5528a:/opt/webapp# ifconfig

    root@73e984a5528a:/opt/webapp# route -n


    [root@docker02 ~]# docker exec -it 89eac9521743 /bin/bash
    root@89eac9521743:/opt/webapp# ifconfig

    说明:

    [root@docker01 ~]# brctl show

    [root@docker01 ~]# docker network ls


    其他引用:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Nginx+SSL实现双向认证的示例代码
    下一篇:nginx配置支持https的示例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    基于Docker的Etcd分布式部署的方法步骤 基于,Docker,的,Etcd,分布式,