zoukankan      html  css  js  c++  java
  • docker搭建etcd集群环境

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

    1.拉取etcd镜像

    docker pull quay.io/coreos/etcd

    2.编辑docker-compose.yaml文件:

    version: '2'
    networks:
      byfn:
    services:
      etcd1:
        image: quay.io/coreos/etcd
        container_name: etcd1
        command: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
        ports:
          - "12379:2379"
          - 2380
        networks:
          - byfn
      etcd2:
        image: quay.io/coreos/etcd
        container_name: etcd2
        command: etcd -name etcd2 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
        ports:
          - "22379:2379"
          - 2380
        networks:
          - byfn
      etcd3:
        image: quay.io/coreos/etcd
        container_name: etcd3
        command: etcd -name etcd3 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
        ports:
          - "32379:2379"
          - 2380
        networks:
          - byfn

    3.启动服务验证:

    docker-compose up
    #docker-compose down
    curl -L http://127.0.0.1:12379/v2/members #查看etcd1的数据
    curl -L http://127.0.0.1:22379/v2/members #查看etcd2的数据
    curl -L http://127.0.0.1:32379/v2/members #查看etcd3的数据
    #也可以用命令行工具etcdctl
    docker exec -t etcd1 etcdctl member list
    #我们往一个node上上传数据,在其他node上就能下载到
    curl -L http://127.0.0.1:12379/v2/keys/foo -XPUT -d value="Hello foo"
    curl -L http://127.0.0.1:12379/v2/keys/foo1/foo1 -XPUT -d value="Hello foo1"
    curl -L http://127.0.0.1:12379/v2/keys/foo2/foo2 -XPUT -d value="Hello foo2"
    curl -L http://127.0.0.1:12379/v2/keys/foo2/foo21/foo21 -XPUT -d value="Hello foo21"
    curl -L http://127.0.0.1:22379/v2/keys/foo
    curl -L http://127.0.0.1:22379/v2/keys/foo2
    curl -L http://127.0.0.1:22379/v2/keys/foo2?recursive=true

    参考:

    ETCD 与 服务发现

    Docker 搭建 etcd 集群 

    Etcd项目介绍

    etcd-io/etcd

  • 相关阅读:
    PHP 日志专题
    ThinkPHP 3.2 用户注册邮箱验证帐号找回密码
    ThinkPHP 3.2 用户注册邮箱验证激活帐号
    ThinkPHP 3.2 vendor()方法的深入研究及Phpqrcode的正确扩展
    基于Composer的Laravel扩展包开发工作流
    如何利用showdoc自动生成API文档
    PHP中的几个随机数生成函数
    isset在php5.6-和php7.0+的一些差异
    PHP学习方向-进阶2(三)
    Jupyter Notebook 下安装 PHP 内核
  • 原文地址:https://www.cnblogs.com/majiang/p/11414200.html
Copyright © 2011-2022 走看看