1. 安装 etcd

首先需要安装 etcd 3.5.0,可以从官网下载对应版本的二进制文件,或者使用 yum 安装:

sudo yum install etcd
  1. 配置 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,表示这是一个新的集群。

  1. 部署 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 命令用于查看集群中的节点信息。

  1. 部署 etcd UI 管理

etcd UI 管理可以使用 etcdkeeper 工具,可以从 GitHub 上下载对应版本的二进制文件。

首先,需要将 etcdkeeper 工具部署到服务器上,并启动服务:

sudo ./etcdkeeper -insecure -addr 0.0.0.0:8080

然后,可以通过浏览器访问 etcdkeeper 界面,输入 etcd 集群的地址,即可进行管理。

  1. 部署 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.pemserver.pem 分别是 etcd 服务端的私钥和证书,client-key.pemclient.pem 分别是 etcd 客户端的私钥和证书,ca-key.pemca.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-filekey-file 分别是 etcd 服务端的证书和私钥,client-cert-auth 参数需要设置为 true,表示客户端需要提供证书进行认证,trusted-ca-file 参数是证书颁发机构的证书。

  1. 总结

通过以上步骤,可以在 CentOS7 系统上部署 etcd 3.5.0,实现高可用,采用 TLS,以及部署 etcd UI 管理。在实际部署过程中,需要根据实际情况进行调整和优化。

CentOS7系统部署 ETCD 350 高可用采用 tls并且再部署一个etcd UI管理请给出详细部署步骤。

原文地址: http://www.cveoy.top/t/topic/bLFq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录