3.6. 添加 etcd 节点
恢复 etcd 后,您可以在集群中添加更多 etcd 节点。您可以使用 Ansible playbook 或手动步骤添加 etcd 主机。
3.6.1. 使用 Ansible 添加新 etcd 主机
流程
在 Ansible 清单文件中,创建一个名为
[new_etcd]
的新组,再添加新主机。然后,将new_etcd
组添加为[OSEv3]
组的子组:[OSEv3:children] masters nodes etcd new_etcd 1 ... [OUTPUT ABBREVIATED] ... [etcd] master-0.example.com master-1.example.com master-2.example.com [new_etcd] 2 etcd0.example.com 3
注意将旧的
etcd 主机条目
替换为清单文件中的新etcd
主机条目。在替换旧的etcd 主机
时,必须创建一个/etc/etcd/ca/
目录的副本。另外,您可以在扩展etcd 主机
前重新部署 etcd ca 和 certs。在安装 OpenShift Container Platform 并托管 Ansible 清单文件的主机中,切换到 playbook 目录并运行 etcd
scaleup
playbook:$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook playbooks/openshift-etcd/scaleup.yml
在 playbook 运行后,通过将新 etcd 主机从
[new_etcd]
组移到[etcd]
组来修改清单文件,使其反映当前的状态:[OSEv3:children] masters nodes etcd new_etcd ... [OUTPUT ABBREVIATED] ... [etcd] master-0.example.com master-1.example.com master-2.example.com etcd0.example.com
如果使用 Flannel,修改位于
/etc/sysconfig/flanneld
主机上的flanneld
服务配置,使其包含新的 etcd 主机:FLANNEL_ETCD_ENDPOINTS=https://master-0.example.com:2379,https://master-1.example.com:2379,https://master-2.example.com:2379,https://etcd0.example.com:2379
重启
flanneld
服务:# systemctl restart flanneld.service