CentOS7系统部署 ETCD 350 高可用采用 tls并且再部署一个etcd UI管理请给出详细部署步骤。
- 安装 etcd
首先需要安装 etcd 3.5.0,可以从官网下载对应版本的二进制文件,或者使用 yum 安装:
sudo yum install etcd
- 配置 etcd
在 etcd 配置文件中,需要设置以下参数:
# 监听的地址和端口
listen-client-urls: https://0.0.0.0:2379
listen-peer-urls: https://0.0.0.0:2380
# 集群信息
initial-advertise-peer-urls: https://node1.example.com:2380
initial-cluster: node1=https://node1.example.com:2380,node2=https://node2.example.com:2380,node3=https://node3.example.com:2380
initial-cluster-state: new
initial-cluster-token: my-etcd-cluster
# TLS 配置
cert-file: /etc/etcd/ssl/server.pem
key-file: /etc/etcd/ssl/server-key.pem
client-cert-auth: true
trusted-ca-file: /etc/etcd/ssl/ca.pem
其中,initial-cluster 参数需要设置所有节点的信息,initial-cluster-state 参数需要设置为 new,表示这是一个新的集群。
- 部署 etcd 高可用
在 etcd 高可用部署中,需要将多个 etcd 节点组成一个集群,通过 Raft 算法保证数据的一致性和可用性。
首先,需要在每个节点上启动 etcd 服务:
sudo systemctl start etcd
然后,需要在其中一个节点上初始化集群:
sudo etcdctl member add node1 https://node1.example.com:2380
sudo etcdctl member add node2 https://node2.example.com:2380
sudo etcdctl member add node3 https://node3.example.com:2380
sudo etcdctl member list
sudo etcdctl cluster add-node node2 https://node2.example.com:2380
sudo etcdctl cluster add-node node3 https://node3.example.com:2380
sudo etcdctl cluster member list
其中,etcdctl member add 命令用于添加节点,etcdctl member list 命令用于查看节点信息,etcdctl cluster add-node 命令用于添加节点到集群中,etcdctl cluster member list 命令用于查看集群中的节点信息。
- 部署 etcd UI 管理
etcd UI 管理可以使用 etcdkeeper 工具,可以从 GitHub 上下载对应版本的二进制文件。
首先,需要将 etcdkeeper 工具部署到服务器上,并启动服务:
sudo ./etcdkeeper -insecure -addr 0.0.0.0:8080
然后,可以通过浏览器访问 etcdkeeper 界面,输入 etcd 集群的地址,即可进行管理。
- 部署 etcd TLS
在 etcd TLS 部署中,需要生成证书和私钥,并且配置 etcd 服务的 TLS 参数。
首先,需要生成证书和私钥:
sudo mkdir -p /etc/etcd/ssl
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/etcd/ssl/server-key.pem -out /etc/etcd/ssl/server.csr -subj "/CN=etcd.example.com"
sudo openssl x509 -req -days 365 -in /etc/etcd/ssl/server.csr -signkey /etc/etcd/ssl/server-key.pem -out /etc/etcd/ssl/server.pem
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/etcd/ssl/client-key.pem -out /etc/etcd/ssl/client.csr -subj "/CN=etcd-client"
sudo openssl x509 -req -days 365 -in /etc/etcd/ssl/client.csr -signkey /etc/etcd/ssl/client-key.pem -out /etc/etcd/ssl/client.pem
sudo openssl genrsa -out /etc/etcd/ssl/ca-key.pem 2048
sudo openssl req -x509 -new -nodes -key /etc/etcd/ssl/ca-key.pem -days 10000 -out /etc/etcd/ssl/ca.pem -subj "/CN=etcd-ca"
其中,server-key.pem 和 server.pem 分别是 etcd 服务端的私钥和证书,client-key.pem 和 client.pem 分别是 etcd 客户端的私钥和证书,ca-key.pem 和 ca.pem 分别是证书颁发机构的私钥和证书。
然后,需要在 etcd 配置文件中添加以下参数:
# TLS 配置
cert-file: /etc/etcd/ssl/server.pem
key-file: /etc/etcd/ssl/server-key.pem
client-cert-auth: true
trusted-ca-file: /etc/etcd/ssl/ca.pem
其中,cert-file 和 key-file 分别是 etcd 服务端的证书和私钥,client-cert-auth 参数需要设置为 true,表示客户端需要提供证书进行认证,trusted-ca-file 参数是证书颁发机构的证书。
- 总结
通过以上步骤,可以在 CentOS7 系统上部署 etcd 3.5.0,实现高可用,采用 TLS,以及部署 etcd UI 管理。在实际部署过程中,需要根据实际情况进行调整和优化。
原文地址: http://www.cveoy.top/t/topic/bLFq 著作权归作者所有。请勿转载和采集!