如何在RHEL 8/CentOS 8上安装ettd
时间:2020-02-23 14:30:39 来源:igfitidea点击:
本教程将解释如何在RHEL/CentOS 8上安装etcd。
ettd是一种简单,可靠,快速安全的开源键值商店。
它使用RAFT共识算法来管理高度可用的复制日志。
这里共享的安装不适用于生产环境,因为它位于单个节点(一个成员etcd)上。
注意:这是一个单个节点群集设置,适用于三个节点群集,请参阅下面的教程。
Ubuntu/debian/centos上的设置etcd集群
在Rhel/CentOS 8上安装ettd
被写入,etcd被分发为二进制包,但从源的安装也可用。
在本教程中,我们将下载预先构建的二进制包。
确保RHEL/CentOS 8服务器上安装了Vim和Wget。
sudo dnf -y install curl vim
第1步:下载etcd二进制文件
在继续获取最新版本标记之前,请检查"版本"页面上的最新版本。
export RELEASE="3.3.13" wget https://github.com/etcd-io/etcd/releases/download/v${RELEASE}/etcd-v${RELEASE}-linux-amd64.tar.gz
提取下载的存档文件。
tar xvf etcd-v${RELEASE}-linux-amd64.tar.gz
更改为新文件目录
cd etcd-v${RELEASE}-linux-amd64
移动 etcd
和 etcdctl
二进制文件到 /usr/local/bin
目录。
sudo mv etcd etcdctl /usr/local/bin
确认版本。
$etcd --version etcd Version: 3.3.13 Git SHA: 98d3084 Go Version: go1.10.8 Go OS/Arch: linux/amd64
第2步:配置etcd systemd服务
我们将使用SystemD来管理ETPD服务。
首先,为etTD创建数据目录。
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和START ETCD服务
为etTD创建新的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
在CentOS/RHEL系统上重新加载Systemd服务并启动ETCD。
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
检查服务状态以确认运行。
[Hyman@theitroad ~]# systemctl status etcd ● etcd.service - etcd key-value store Loaded: loaded (/etc/systemd/system/etcd.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2019-03-22 22:38:07 EAT; 36s ago Docs: https://github.com/etcd-io/etcd Main PID: 1938 (etcd) Tasks: 10 (limit: 11510) Memory: 3.7M CGroup: /system.slice/etcd.service └─1938 /usr/local/bin/etcd Mar 22 22:38:05 rhel8.local etcd[1938]: enabled capabilities for version 3.3 Mar 22 22:38:07 rhel8.local etcd[1938]: 8e9e05c52164694d is starting a new election at term 2 Mar 22 22:38:07 rhel8.local etcd[1938]: 8e9e05c52164694d became candidate at term 3 Mar 22 22:38:07 rhel8.local etcd[1938]: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 3 Mar 22 22:38:07 rhel8.local etcd[1938]: 8e9e05c52164694d became leader at term 3 Mar 22 22:38:07 rhel8.local etcd[1938]: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 3 Mar 22 22:38:07 rhel8.local etcd[1938]: published {Name:992462394b1c4f2e80e7e2fd978f04f8 ClientURLs:[http://localhost:2379]} to cluster cdf818194e3a8c> Mar 22 22:38:07 rhel8.local etcd[1938]: ready to serve client requests Mar 22 22:38:07 rhel8.local systemd[1]: Started etcd key-value store. Mar 22 22:38:07 rhel8.local etcd[1938]: serving insecure client requests on 127.0.0.1:2379, this is strongly discouraged!
该服务将在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
第3步:测试ETCD安装
通过写入ETCD测试CentOS/RHEL 8上的ETCD安装。
$etcdctl set /message "Hello World" Hello World
阅读价值 message
背部:
$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