Etcd 多节点安装实践

Etcd主要功能

  1. 键值写入与读取。
  2. 过期时间。
  3. 观察者。
  4. 租约。
  5. 集群管理相关操作。
  6. 维护操作。
  7. 用户及权限管理。

安装与配置

  • wget https://github.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz

  • 解压下载
    sudo tar -zxvf etcd-v3.3.10-linux-amd64.tar.gz -C /opt/

  • 配置 (配置为V3版本,系统默认的是v2,通过下面命令修改配置)

    sudo vim /etc/profile

    在末尾追加 export ETCDCTL_API=3

    source /etc/profile

  • 配置节点

    • 示例为三个节点: 节点1=>192.168.56.200,节点2=>192.168.56.201,节点3=>192.168.56.202
  • 创建节点配置文件

    • 创建配置文件目录

      sudo mkdir /etc/etcd

    • 创建etcd配置文件

      • sudo vim /etc/etcd/conf.yml

      • 添加如下内容 (单机示例,实际要自己进行修改)

        name: etcd_1
        data-dir: /opt/etcd-v3.3.10-linux-amd64/data
        listen-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379
        advertise-client-urls: http://192.168.56.200:2379,http://127.0.0.1:2379
        listen-peer-urls: http://192.168.56.200:2380
        initial-advertise-peer-urls: http://192.168.56.200:2380
        initial-cluster: etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380
        initial-cluster-token: etcd-cluster-token
        initial-cluster-state: new
        

        
        --listen-client-urls
        含义:对外提供服务的地址
        默认值:http://localhost:2379
        环境变量:ETCD_LISTEN_CLIENT_URLS
        作用:对外提供服务的地址。
        提示:域名为无效值,如http://example.com:2379为错误配置。 
        
        --advertise-client-urls
        含义:此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名。
        默认值:http://localhost:2379
        环境变量:ETCD_ADVERTISE_CLIENT_URLS
        作用:对外公告的该节点客户端监听地址。
        
        --listen-peer-urls
        含义:和成员之间通信的地址。
        默认值:http://localhost:2380
        环境变量:ETCD_LISTEN_PEER_URLS
        作用:用于监听其他etcd member的url
        提示:域名为无效值,如http://example.com:2380为错误配置。
        
        --initial-advertise-peer-urls
        含义:该节点成员对等URL地址,且会通告群集的其余成员节点。
        默认值:http://localhost:2380 
        环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
        
        --initial-cluster
        含义:集群中所有节点的信息。
        默认值:default=http://localhost:2380 
        环境变量:ETCD_INITIAL_CLUSTER
        作用:
        注意:此处default为节点的--name指定的名字;localhost:2380为--initial-advertise-peer-urls指定的值。
        
        --initial-cluster-token
        含义:创建集群的 token,这个值每个集群保持唯一。
        默认值:etcd-cluster
        环境变量:ETCD_INITIAL_CLUSTER_TOKEN
        作用:此配置可使重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误。
        
        --initial-cluster-state
        含义:初始集群状态
        默认值:new
        环境变量:ETCD_INITIAL_CLUSTER_STATE
        作用:设置new为初始静态或DNS引导期间出现的所有成员。如果将此选项设置为existing,则etcd将尝试加入现有群集。
        

启动

  • 查看版本号

    • cd /opt/etcd-v3.3.10-linux-amd64

    • ./etcdctl version

  • 启动

    • ./etcd --config-file=/etc/etcd/conf.yml
  • 查看集群成员信息

    • ./etcdctl member list
  • 查看leader状态

    • curl http://127.0.0.1:2379/v2/stats/leader
  • 查看自己的状态

    • curl http://127.0.0.1:2379/v2/stats/self

加入新的节点

  • 新增节点 eg:192.168.56.201:2383

    ./etcdctl member add etcd_2 --peer-urls="http://192.168.56.201:2380"
    
    显示
    ETCD_NAME="etcd_2"
    ETCD_INITIAL_CLUSTER="etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380"
    ETCD_INITIAL_CLUSTER_STATE="existing"
    
  • 启动新节点

    • 写入conf.yaml文件
      vim /etc/etcd/conf.yml

      name: etcd_2
      data-dir: /opt/etcd-v3.3.10-linux-amd64/data
      listen-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379
      advertise-client-urls: http://192.168.56.202:2379,http://127.0.0.1:2379
      listen-peer-urls: http://192.168.56.202:2380
      initial-advertise-peer-urls: http://192.168.56.202:2380
      initial-cluster:    etcd_1=http://192.168.56.200:2380,etcd_2=http://192.168.56.201:2380,etcd_3=http://192.168.56.202:2380
      initial-cluster-token: etcd-cluster-token
      initial-cluster-state: existing
      
      

参考链接

etcd使用经验总结

结论测试通过!!!

3个节点全部加入成功

你可能感兴趣的:(Etcd 多节点安装实践)