更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Ubuntu 22.04系统上安装和配置etcd的方法

在Ubuntu 22.04系统上安装和配置etcd的方法

更新时间:2023-01-09 15:49:47浏览次数:616+次

本文介绍在Ubuntu 22.04系统上安装和配置etcd的方法,这是单节点群集设置,不适用于三节点群集。Etcd是一个用Go编写的简单、可靠、快速和安全的开源密钥值存储,它使用Raft共识算法来管理高度可用的复制日志。

在Ubuntu 22.04上安装etcd

Etcd作为二进制包分发,但您可以从源代码构建它。在本文中,我们将下载一个预先构建的二进制包。

在继续获取最新版本标签之前,请检查预构建的版本二进制文件,项目地址在https://github.com/etcd-io/etcd/releases。在Ubuntu系统上安装curl和wget软件包:

sudo apt update

sudo apt install vim wget curl

在Ubuntu上下载etcd的最新版本:

export RELEASE=$(curl -s https://api.github.com/repos/etcd-io/etcd/releases/latest|grep tag_name | cut -d '"' -f 4)

wget https://github.com/etcd-io/etcd/releases/download/${RELEASE}/etcd-${RELEASE}-linux-amd64.tar.gz

提取下载的存档文件:

tar xvf etcd-${RELEASE}-linux-amd64.tar.gz

更改为新文件目录:

cd etcd-${RELEASE}-linux-amd64

将etcd和etcdctl二进制文件移动到/usr/local/bin目录:

sudo mv etcd etcdctl etcdutl /usr/local/bin

确认版本:

$ etcd --version

etcd Version: 3.5.6

$ etcdctl version

$ etcdutl version

创建Etcd配置文件和数据目录:

sudo mkdir -p /var/lib/etcd/

sudo mkdir /etc/etcd

创建蚀刻系统用户:

sudo groupadd --system etcd

sudo useradd -s /sbin/nologin --system -g etcd etcd

将/var/lib/etcd/目录所有权设置为etcd用户:

sudo chown -R etcd:etcd /var/lib/etcd/

配置Systemd并启动etcd服务

为etcd创建新的systemd服务文件:

sudo vim /etc/systemd/system/etcd.service

将以下数据粘贴到文件中:

[Unit]

Description=etcd key-value store

Documentation=https://github.com/etcd-io/etcd

After=network.target

[Service]

User=etcd

Type=notify

Environment=ETCD_DATA_DIR=/var/lib/etcd

Environment=ETCD_NAME=%m

ExecStart=/usr/local/bin/etcd

Restart=always

RestartSec=10s

LimitNOFILE=40000

[Install]

WantedBy=multi-user.target

在Ubuntu上重新加载systemd服务并启动etcd:

sudo systemctl  daemon-reload

sudo systemctl  start etcd.service

启用服务以在系统启动时启动:

$ sudo systemctl enable etcd.service

Created symlink /etc/systemd/system/multi-user.target.wants/etcd.service → /etc/systemd/system/etcd.service.

检查服务状态:

$ systemctl status etcd.service

 etcd.service - etcd key-value store

     Loaded: loaded (/etc/systemd/system/etcd.service; enabled; vendor preset: enabled)

     Active: active (running)

服务将在本地主机地址端口2379上启动:

$ ss -tunelp | grep 2379

 tcp   LISTEN 0 128 127.0.0.1:2379 0.0.0.0:*  uid:998 ino:72981 sk:45c <->

$ etcdctl member list

 8e9e05c52164694d: name=5fbf3d068d6c491eb687a7a427fc2263 peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true

检查运行状况:

$ etcdctl  endpoint health

127.0.0.1:2379 is healthy: successfully committed proposal: took = 1.871483ms

至此,安装etcd完成。