etcd github地址
编译
# 下载并安装go
# 编译etcd
cd /apps/src/etcd
./build
# 做链接或者复制
cp bin/etcd /usr/sbin/etcd
cp bin/etcdctl /usr/sbin/etcdctl
ln -s /apps/src/etcd/bin/etcdctl /usr/sbin/etcd
ln -s /apps/src/etcd/bin/etcdctl /usr/sbin/etcdctl
单节点部署
etcd静态配置
name: 'k8s-master'
data-dir: "/data/etcd-single"
quota-backend-bytes: 0
listen-peer-urls: http://10.199.202.16:2380,http://localhost:2380 # 两个地址都监听
listen-client-urls: http://10.199.202.16:2379,http://localhost:2379 # 两个地址都监听
initial-advertise-peer-urls: http://10.199.202.16:2380
advertise-client-urls: http://10.199.202.16:2379
initial-cluster-token: 'k8s-master'
initial-cluster-state: 'new'
多节点部署
静态配置
上面的初始化只是在集群初始化时运行一次,之后服务有重启,这里的initial标记一定要指定为existing,如果为new则会自动生成一个新的member ID,和前面添加节点时生成的ID不一致,故日志中会报节点ID不匹配的错
discovery模式
申请token
curl -w "\n" 'https://discovery.etcd.io/new?size=3'
https://discovery.etcd.io/210bf29d7ebacf189df39a94c7844091
初始化目录
mkdir /data/etcd1 -p
mkdir /data/etcd2 -p
mkdir /data/etcd3 -p
启动进程
etcd --name infra0 --data-dir /data/etcd1 --initial-advertise-peer-urls http://192.168.0.80:12380 \
--listen-peer-urls http://192.168.0.80:12380 \
--listen-client-urls http://192.168.0.80:12379,http://127.0.0.1:12379 \
--advertise-client-urls http://192.168.0.80:12379 \
--discovery https://discovery.etcd.io/210bf29d7ebacf189df39a94c7844091
etcd --name infra2 --data-dir /data/etcd2 --initial-advertise-peer-urls http://192.168.0.80:22380 \
--listen-peer-urls http://192.168.0.80:22380 \
--listen-client-urls http://192.168.0.80:22379,http://127.0.0.1:22379 \
--advertise-client-urls http://192.168.0.80:22379 \
--discovery https://discovery.etcd.io/210bf29d7ebacf189df39a94c7844091
etcd --name infra3 --data-dir /data/etcd3 --initial-advertise-peer-urls http://192.168.0.80:32380 \
--listen-peer-urls http://192.168.0.80:32380 \
--listen-client-urls http://192.168.0.80:32379,http://127.0.0.1:32379 \
--advertise-client-urls http://192.168.0.80:32379 \
--discovery https://discovery.etcd.io/210bf29d7ebacf189df39a94c7844091
客户端检查
etcdctl --endpoints="http://192.168.0.80:12379,http://192.168.0.80:22379,http://192.168.0.80:32379" member list