云网牛站
所在位置:首页 > Linux云服务器 > 在RHEL/CentOS 8上安装和配置etcd 3.3.12的方法

在RHEL/CentOS 8上安装和配置etcd 3.3.12的方法

2019-03-25 11:38:45作者:戴进稿源:云网牛站

本文介绍在RHEL/CentOS 8操作系统上安装和配置etcd 3.3.12的方法,它使用Go编写,etcd作为二进制包分发,但可以从源代码安装,我们将下载etcd 3.3.12二进制包然后进行安装。在安装前需要安装vim和wget,运行sudo dnf -y install curl vim命令即可,参考在RHEL 8/CentOS 8系统上安装和配置VIM文本编辑器一文。

 

一、下载及安装Etcd

目前要安装的版本是etcd 3.3.12,Etcd下载地址,先在系统终端中下载:

在继续获取最新版本标记之前,请检查版本页面上的最新版本。

wget https://github.com/etcd-io/etcd/releases/download/3.3.12/etcd-3.3.12-linux-amd64.tar.gz

提取下载的存档文件:

tar xvf etcd-3.3.12-linux-amd64.tar.gz

切换到新文件目录:

cd etcd-3.3.12-linux-amd64

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

sudo mv etcd etcdctl /usr/local/bin

确认版本,运行etcd --version命令:

$ etcd --version

etcd Version: 3.3.12

Git SHA: d57e8b8

Go Version: go1.10.8

Go OS/Arch: linux/amd64

从以上输出信息上看,安装etcd 3.3.12版本已经成功。

 

二、配置Etcd Systemd服务

我们将使用systemd来管理etcd服务,首先,为etcd创建数据目录:

sudo mkdir -p /var/lib/etcd/

sudo mkdir /etc/etcd

创建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

然后重新加载systemd服务:

sudo systemctl  daemon-reload

sudo systemctl  start etcd.service

如果SELinux在强制模式下运行,则生成本地策略模块以允许访问数据目录:

sudo ausearch -c '(etcd)' --raw | audit2allow -M my-etcd

要使此策略包处于活动状态,请执行:

sudo semodule -X 300 -i my-etcd.pp

sudo restorecon -Rv /usr/local/bin/etcd

重启etcd服务:

sudo systemctl restart etcd

检查服务状态以确认它正在运行,运行systemctl status etcd命令:

在RHEL/CentOS 8上安装和配置etcd 3.3.12的方法

该服务将在localhost地址端口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=992462394b1c4f2e80e7e2fd978f04f8 peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true

 

三、测试Etcd安装的方法

通过写入etcd来测试CentOS/RHEL 8上的etcd安装:

$ etcdctl set /message "Hello World"

Hello World

读取消息的值:

$ etcdctl get /message

Hello World

创建目录:

$ etcdctl mkdir /myservice

$ etcdctl set /myservice/container1 localhost:8080

localhost:8080

$ etcdctl ls /myservice

/myservice/container1

要查看目录以进行更改,请使用:

$ etcdctl watch --recursive /myservice

要删除密钥运行:

$ etcdctl rm /message

PrevNode.Value: Hello World

$ etcdctl rm /myservice/container1

PrevNode.Value: localhost:8080

至此,经过以上操作,在RHEL/CentOS 8系统上安装Etcd并配置成功了。

 

相关主题

CoreOS团队开源项目etcd的使用入门

精选文章
热门文章