设为首页 收藏本站
查看: 1283|回复: 0

[经验分享] CentOS 部署Etcd集群

[复制链接]

尚未签到

发表于 2019-1-31 11:45:09 | 显示全部楼层 |阅读模式


  一、环境介绍
  操作系统信息:CentOS 7 64位
  服务器信息:
  192.168.80.130  Etcd-master
  192.168.80.131  Etcd-node1
  192.168.80.132  Etcd-node2
  

  

  二、部署前准备
  

  1、设置免密登录
  [Master]
  [root@Etcd-master ~]# ssh-keygen
  [root@Etcd-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node1
  [root@Etcd-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node2
  

  2、所有机器上操作
  a、添加hosts
  [root@Etcd-master ~]# 192.168.80.130  Etcd-master
  [root@Etcd-master ~]# 192.168.80.131  Etcd-node1
  [root@Etcd-master ~]# 192.168.80.132  Etcd-node2
  b、同步时间
  [root@Etcd-master ~]# yum -y lrzsz git wget python-devel ntp net-tools curl cmake epel-release rpmdevtools openssl-devel kernel-devel gcc redhat-rpm-config bridge-utils
  [root@Etcd-master ~]# yum groupinstall "Development Tools" -y
  [root@Etcd-master ~]# cp -Rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  [root@Etcd-master ~]# ntpdate 133.100.11.8
  [root@Etcd-master ~]# sed -i 's#ZONE="America/New_York"#ZONE="Asia/Shanghai"#g' /etc/sysconfig/clock
  [root@Etcd-master ~]# hwclock -w
  [root@Etcd-master ~]# date -R
  

  三、部署Etcd
  

      [Master]
  1、安装及配置Master节点
      [root@Etcd-master ~]# yum -y install etcd
      [root@Etcd-master ~]# cat /etc/etcd/etcd.conf
  # [member]
  ETCD_NAME="etcd-master"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #[cluster]
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-master:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://Etcd-master:2379,http://Etcd-master:4001"
  

      [Node]
  2、安装及配置Node1节点
          [root@Etcd-node1 ~]# yum -y install etcd
          [root@Etcd-node1 ~]# cat /etc/etcd/etcd.conf
  # [member]
  ETCD_NAME="etcd-node1"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #[cluster]
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-node1:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://etcd-node1:2379,http://etcd-node1:4001"
  

  3、安装及配置Node2节点:
          [root@Etcd-node2 ~]# yum -y install etcd
          [root@Etcd-node2 ~]# cat /etc/etcd/etcd.conf
  # [member]
  ETCD_NAME="etcd-node2"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #[cluster]
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-node2:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://etcd-node2:2379,http://etcd-node2:4001"
  

      4、启动Etcd服务
          [master]
          [root@Etcd-master ~]# systemctl restart etcd
  
          [node1]
          [root@Etcd-node1 ~]# systemctl restart etcd
  
          [node2]
          [root@Etcd-node2 ~]# systemctl restart etcd
  
      5、查看服务状态
          [master]
      [root@Etcd-master ~]# etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

  [node1]
          [root@Etcd-node1 ~]# etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

          [node2]
          [root@Etcd-node2 ~]# etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

  四、测试集群同步情况
  

  [master]
          [root@Etcd-master ~]# etcdctl set zlyangdir/zlyangkeys0 0
  0
          [root@Etcd-master ~]# etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
          [root@Etcd-master ~]# etcdctl get zlyangdir/zlyangkeys0
  0
  

  [node1]
          [root@Etcd-node1 ~]# etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
          [root@Etcd-node1 ~]# etcdctl get zlyangdir/zlyangkeys0
  0
  

  [node2]
          [root@Etcd-node2 ~]# etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
          [root@Etcd-node2 ~]# etcdctl get zlyangdir/zlyangkeys0
  0
  

  

  官方部署方案:https://coreos.com/etcd/docs/latest/op-guide/clustering.html
  

  至此Etcd集群搭建已经完成,如有问题请联系:DBA_Master@163.com
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670009-1-1.html 上篇帖子: 深入浅出etcd系列Part 1 – etcd架构和代码框架 下篇帖子: django + etcd + confd配置管理平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表