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

  • 相关阅读:
    线性滤波器(linear filter)与非线性滤波器(non-linear filter)
    线性滤波器(linear filter)与非线性滤波器(non-linear filter)
    80后开网店卖故事:1500多位为感觉而埋单
    [置顶] think in java interview-高级开发人员面试宝典(一)
    Android ToggleButton Example--开关按钮
    UVA 10012 How Big Is It?(暴力枚举)
    Windows远程连接的实现
    系统集成项目管理之项目采购管理
    UVA 165 Stamps (DFS深搜回溯)
    EF操作增删改查
  • 原文地址:https://www.cnblogs.com/majiang/p/11414200.html
Copyright © 2011-2022 走看看