Etcd是Kubernetes的数据库,生产环境最少采用3个以上节点实现高可用,并且节点数必须为奇数个。
Etcd的配置大致相同,主要是每个Master节点的Etcd配置的主机名和IP地址。
这里将Etcd和Kubernetes Master节点部署在同一台机器,如果读者需要将Etcd和Master节点拆分成不同的服务器,只需要更改对应的IP地址即可。3个节点的Etcd配置大致相同,主要涉及如下参数需要修改(完整文件见本书下载资源):
接下来在每个Master节点创建Etcd Service并启动:
# vim /usr/lib/systemd/system/etcd.service [Unit] Description=Etcd Service Documentation=https://coreos.com/etcd/docs/latest/ After=network.target [Service] Type=notify ExecStart=/usr/local/bin/etcd --config-file=/etc/etcd/etcd.config.yml Restart=on-failure RestartSec=10 LimitNOFILE=65536 [Install] WantedBy=multi-user.target Alias=etcd3.service
所有Master节点创建Etcd的证书目录:
# mkdir /etc/kubernetes/pki/etcd # ln -s /etc/etcd/ssl/* /etc/kubernetes/pki/etcd/ # systemctl daemon-reload # systemctl enable --now etcd
查看Etcd集群状态:
Etcd集群状态如图2.3所示。
图2.3 Etcd集群状态