本文介绍在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命令:
该服务将在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并配置成功了。
相关主题 |