etcd集群装置和单机装置
etcd介绍
etcd 是基于 Raft 的分布式 key-value 存储系统,由 CoreOS 开发,罕用于服务发现、共享配置以及并发管制(如 leader 选举、分布式锁等)。kubernetes 应用 etcd 存储所有运行数据。etcd基于Go语言实现。
etcd作为服务发现零碎,有以下特点:
- 简略:装置配置简略,而且提供了HTTP API进行交互,应用也很简略
- 平安:反对SSL证书验证
- 疾速:依据官网提供的benchmark数据,单实例反对每秒2k+读操作
- 牢靠:采纳raft算法,实现分布式系统数据的可用性和一致性
官网地址: http://www.etcd.cn/
源代码地址: https://github.com/coreos/etcd
1.下载安装
curl -L https://github.com/coreos/etcd/releases/download/v3.0.6/etcd-v3.0.6-linux-amd64.tar.gz -o etcd-v3.0.6-linux-amd64.tar.gztar xzvf etcd-v3.0.6-linux-amd64.tar.gzmv etcd-v3.0.6-linux-amd64 etcdcd etcd./etcd --version
2.单机启动
etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://10.240.30.30:2379 &
3.集群启动
别离在三台机器启动etcd
cd /data/apps/etcd/$ nohup /data/apps/etcd/etcd --name etcd0 --initial-advertise-peer-urls http://10.240.30.9:2380 \ --listen-peer-urls http://10.240.30.9:2380 \ --listen-client-urls http://10.240.30.9:2379,http://127.0.0.1:2379 \ --advertise-client-urls http://10.240.30.9:2379 \ --initial-cluster-token etcd-cluster-1 \ --initial-cluster etcd0=http://10.240.30.9:2380,etcd1=http://10.240.30.10:2380,etcd2=http://10.240.30.11:2380 \ --initial-cluster-state new & cd /data/apps/etcd/$ nohup /data/apps/etcd/etcd --name etcd1 --initial-advertise-peer-urls http://10.240.30.10:2380 \ --listen-peer-urls http://10.240.30.10:2380 \ --listen-client-urls http://10.240.30.10:2379,http://127.0.0.1:2379 \ --advertise-client-urls http://10.240.30.10:2379 \ --initial-cluster-token etcd-cluster-1 \ --initial-cluster etcd0=http://10.240.30.9:2380,etcd1=http://10.240.30.10:2380,etcd2=http://10.240.30.11:2380 \ --initial-cluster-state new &cd /data/apps/etcd/$ nohup /data/apps/etcd/etcd --name etcd2 --initial-advertise-peer-urls http://10.240.30.11:2380 \ --listen-peer-urls http://10.240.30.11:2380 \ --listen-client-urls http://10.240.30.11:2379,http://127.0.0.1:2379 \ --advertise-client-urls http://10.240.30.11:2379 \ --initial-cluster-token etcd-cluster-1 \ --initial-cluster etcd0=http://10.240.30.9:2380,etcd1=http://10.240.30.10:2380,etcd2=http://10.240.30.11:2380 \ --initial-cluster-state new &
参考链接:
https://skyao.gitbooks.io/lea...
4.ETCD WEBUI
git clone https://github.com/henszey/etcd-browser.gitcd etcd-browsersudo docker build -t etcd-browser .sudo docker run --rm --name etcd-browser -p 0.0.0.0:8000:8000 --env ETCD_HOST=10.240.30.10 --env ETCD_PORT=2379 etcd-browser &
浏览器拜访: http://10.240.30.10:8000