ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster - ETCD_INITIAL_CLUSTER=etcd-1=http://192.168.9.81:2380,etcd ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster - ETCD_INITIAL_CLUSTER=etcd-1=http://192.168.9.81:2380,etcd ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster - ETCD_INITIAL_CLUSTER=etcd-1=http://192.168.9.81:2380,etcd /deploy-etcd-cluster-conf.sh etcd-2 192.168.9.82 etcd-1=http://192.168.9.81:2380,etcd-2=http://192.168.9.82 /deploy-etcd-cluster-env.sh etcd-2 192.168.9.82 etcd-1=http://192.168.9.81:2380,etcd-2=http://192.168.9.82
name etcd-0 \ --initial-cluster "etcd-0=https://192.168.1.36:2380,etcd-1=https://192.168.1.37:2380,etcd name etcd-1 \ --initial-cluster "etcd-0=https://192.168.1.36:2380,etcd-1=https://192.168.1.37:2380,etcd $ ETCDCTL_API=3 etcdctl snapshot restore /data/etcd_backup_dir/etcd-snapshot-20191222.db \ --name etcd -2 \ --initial-cluster "etcd-0=https://192.168.1.36:2380,etcd-1=https://192.168.1.37:2380,etcd-2=https
角色 IP etcd-1 192.168.31.100 etcd-2 192.168.31.101 etcd-2 192.168.31.102 证书工具准备 在以前早期的Kubernetes,我们也使用这个方法来生成证书 initial-advertise-peer-urls=https://192.168.31.100:2380 \ --initial-cluster=etcd-1=https://192.168.31.100:2380,etcd /bin/bash etcd \ --name=etcd-2 \ --data-dir=/var/lib/etcdnew \ --listen-client-urls=https://192.168.31.101 initial-advertise-peer-urls=https://192.168.31.101:2380 \ --initial-cluster=etcd-1=https://192.168.31.100:2380,etcd initial-advertise-peer-urls=https://192.168.31.102:2380 \ --initial-cluster=etcd-1=https://192.168.31.100:2380,etcd
集群规划 主机名 ip 角色 备注 centos7-node1 192.168.56.11 k8s-master etcd-1 centos7-node2 192.168.56.12 k8s-node1 etcd etcdctl snapshot restore snap.db --name etcd-1 --initial-cluster="etcd-1=https://192.168.56.11:2380,etcd /etcdctl snapshot restore snap.db --name etcd-2 --initial-cluster="etcd-1=https://192.168.56.11:2380, etcd-2=https://192.168.56.12:2380,etcd-3=https://192.168.56.13:2380" --initial-cluster-token=etcd-cluster etcdctl snapshot restore snap.db --name etcd-3 --initial-cluster="etcd-1=https://192.168.56.11:2380,etcd
initial-cluster-token etcd-lock-cluster-1 // 集群 token --initial-cluster etcd-1=http://127.0.0.1:2381,etcd 127.0.0.1:2379 --initial-cluster-token etcd-lock-cluster-1 --initial-cluster etcd-1=http://127.0.0.1:2381,etcd --election-timeout 5000 > /Users/noogel/Debug/data/etcd1/run.log 2>&1 & ETCDCTL_API=3 etcd --name etcd 127.0.0.1:2378 --initial-cluster-token etcd-lock-cluster-1 --initial-cluster etcd-1=http://127.0.0.1:2381,etcd 127.0.0.1:2377 --initial-cluster-token etcd-lock-cluster-1 --initial-cluster etcd-1=http://127.0.0.1:2381,etcd
以下是一个示例Etcd集群配置:initial-cluster: etcd-1=https://192.168.0.100:2380,etcd-2=https://192.168.0.101:2380, etcd-cluster-1auto-compaction-mode: periodicauto-compaction-retention: 1h这里定义了一个Etcd集群,包含3个节点etcd-1、etcd
比如在本地部署一个 3 个节点的集群,参考文档操作: CLUSTER="etcd-0=http://127.0.0.1:2380,etcd-1=http://127.0.0.1:3380,etcd-2= initial-advertise-peer-urls http://127.0.0.1:3380 \ --initial-cluster ${CLUSTER} & /usr/local/bin/etcd \ --name etcd etcd-1 | http://127.0.0.1:3380 | http://127.0.0.1:3379 | false | | b7bacd4212cc9323 | started | etcd
etcd/certs目录中,注意私钥文件权限600 chown etcd.etcd /opt/etcd/ssl/* chmod 600 /opt/etcd/ssl/etcd-key.pem etcd-1 etcd discovery-fallback: 'proxy' discovery-proxy: discovery-srv: initial-cluster: 'etcd-1=https://10.1.1.100:2380,etcd log-outputs: [default] force-new-cluster: false EOF cat > /opt/etcd/cfg/etcd.config.yml << EOF name: 'etcd discovery-fallback: 'proxy' discovery-proxy: discovery-srv: initial-cluster: 'etcd-1=https://10.1.1.100:2380,etcd discovery-fallback: 'proxy' discovery-proxy: discovery-srv: initial-cluster: 'etcd-1=https://10.1.1.100:2380,etcd
Healthy {"health":"true"} etcd-0 Healthy {"health":"true"} etcd -0 Healthy {"health":"true"} etcd-1 Healthy {"health":"true"} etcd
Healthy {"health":"true"} etcd-0 Healthy {"health":"true"} etcd -0 Healthy {"health":"true"} etcd-1 Healthy {"health":"true"} etcd
ETCD_ADVERTISE_CLIENT_URLS="https://42.51.80.131:2379" ETCD_INITIAL_CLUSTER="etcd-1=https://42.51.80.131:2380,etcd /cfg/etcd.conf #[Member] ETCD_NAME="etcd-x" #修改此处,节点2改为etcd ://42.51.80.xxx:2379" #修改此处为当前服务器IP ETCD_INITIAL_CLUSTER="etcd-1=https://42.51.80.131:2380,etcd
-1 Healthy {"health":"true"} etcd-0 Healthy {"health":"true"} etcd
Contains components: [scheduler controller-manager etcd-0 etcd-1 etcd-3 etcd-2 etcd-4] # kubecm switch
Healthy {"health":"true"} etcd-0 Healthy {"health":"true"} etcd -0 Healthy {"health":"true"} etcd-1 Healthy {"health":"true"} etcd
Healthy ok etcd-0 Healthy {"health":"true"} controller-manager Healthy ok etcd
节点名称 IP etcd-1 192.168.31.71 etcd-2 192.168.31.72 etcd-3 192.168.31.73 注:为了节省机器,这里与K8s节点机器复用。 ETCD_ADVERTISE_CLIENT_URLS="https://192.168.0.121:2379" ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.0.121:2380,etcd lib/systemd/system/ 修改节点2和节点3etcd.conf配置文件 node-1 cat /opt/etcd/cfg/etcd.conf #[Member] ETCD_NAME="etcd ETCD_ADVERTISE_CLIENT_URLS="https://192.168.0.123:2379" ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.0.121:2380,etcd scheduler Healthy ok controller-manager Healthy ok etcd
2380 initial-advertise-peer-urls: http://30.1.3.42:2380 initial-cluster: etcd-1=http://30.1.3.42:2380,etcd [root@karbor2 etcd]# etcdctl --endpoints "http://30.1.3.43:2379" member list 6f840018249f939b: name=etcd
VM-0-13-centos etcd]# etcdctl --endpoints 106.53.131.xx:2379 member list 42c8b94265b9b79a, started, etcd pod | grep etcd etcd-0 1/1 Running 0 22h etcd-1 1/1 Running 0 22h etcd VM-0-13-centos etcd]# etcdctl --endpoints 106.53.131.xx:2379 member list 42c8b94265b9b79a, started, etcd pod | grep etcd etcd-0 1/1 Running 0 22h etcd-1 1/1 Running 0 22h etcd VM-0-13-centos etcd]# etcdctl --endpoints 106.53.131.xx:2379 member list 42c8b94265b9b79a, started, etcd
etcd-cluster-0 - --initial-cluster=etcd-0=https://etcd-0.etcd:2380,etcd-1=https://etcd-1.etcd:2380,etcd
节点名称 IP etcd-1 192.168.1.1 etcd-2 192.168.1.2 etcd-3 192.168.1.3 注:为了节省机器,这里与K8s节点机器复用。 ETCD_ADVERTISE_CLIENT_URLS="https://192.168.1.1:2379" ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.1.1:2380,etcd etcd.conf配置文件中的节点名称和当前服务器IP: vim /opt/etcd/cfg/etcd.conf #[Member] ETCD_NAME="etcd-1" # 修改此处,节点2改为etcd "https://192.168.31.71:2379" # 修改此处为当前服务器IP ETCD_INITIAL_CLUSTER="etcd-1=https://192.168.31.71:2380,etcd