etcd集群新增节点和移除节点

news/2024/9/23 4:27:51

etcd集群新增节点和删除节点

现在的集群信息是:

 

新增节点

  1、下载etcd二进制包

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

  

  2、创建etcd目录

mkdir -p /data/etcd/{data,ssl,bin}

  

  3、解压并移动etcd命令至etcd目录

tar zxf etcd-v3.5.15-linux-amd64.tar.gz
cp etcd-v3.5.15-linux-amd64/etcd* /data/etcd/bin/

  

  4、配置环境变量

echo "export PATH=/data/etcd/bin:\$PATH" > /etc/profile.d/etcd.sh
source /etc/profile.d/etcd.sh

  

  5、cp证书文件

scp  etcd1:/data/etcd/ssl/*.pem /data/etcd/ssl/

  

  6、复制配置文件

scp etcd1:/usr/lib/systemd/system/etcd.service /usr/lib/systemd/system/

  

  7、修改配置文件

  vim /usr/lib/systemd/system/etcd.service

[Service]
Type=notify
ExecStart=/data/etcd/bin/etcd \
--name=etcd4 \
--cert-file=/data/etcd/ssl/server.pem \
--key-file=/data/etcd/ssl/server-key.pem \
--peer-cert-file=/data/etcd/ssl/server.pem \
--peer-key-file=/data/etcd/ssl/server-key.pem \
--trusted-ca-file=/data/etcd/ssl/ca.pem \
--peer-trusted-ca-file=/data/etcd/ssl/ca.pem \
--peer-client-cert-auth \
--client-cert-auth \
--initial-advertise-peer-urls=https://192.168.110.17:2380 \
--listen-peer-urls=https://192.168.110.17:2380 \
--listen-client-urls=https://192.168.110.17:2379,https://127.0.0.1:2379 \
--advertise-client-urls=https://192.168.110.17:2379 \
--initial-cluster-token=etcd-cluster-1 \
--initial-cluster=etcd1=https://192.168.110.12:2380,etcd2=https://192.168.110.13:2380,etcd3=https://192.168.110.15:2380,etcd4=https://192.168.110.17:2380 \
--initial-cluster-state=existing \
--data-dir=/data/etcd/dataRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target
EOF

  红色位置为需要修改的配置,绿色位置为新增配置。

 

  8、配置防火墙信息

  etcd1-3

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.17" port protocol="tcp" port="2379" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.17" port protocol="tcp" port="2380" accept
firewall-cmd --reload

  etcd4

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.12" port protocol="tcp" port="2379" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.12" port protocol="tcp" port="2380" accept
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.13" port protocol="tcp" port="2379" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.13" port protocol="tcp" port="2380" accept
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.15" port protocol="tcp" port="2379" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.15" port protocol="tcp" port="2380" accept
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.17" port protocol="tcp" port="2379" accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.110.17" port protocol="tcp" port="2380" accept
firewall-cmd --reload

 

  9、加入新节点到集群中

  在etcd1-3中任何一个节点上操作一次即可

etcdctl --endpoints=https://192.168.110.13:2379 --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem --key=/data/etcd/ssl/server-key.pem member add etcd4 --peer-urls=https://192.168.110.17:2380

 

  10、启动新节点

systemctl start etcd
systemctl enable etcd

 

  11、查看集群信息

etcdctl --endpoints=https://192.168.110.12:2379 --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem --key=/data/etcd/ssl/server-key.pem member list

 

移除节点

  1、查看需要移除的节点ID

etcdctl --endpoints=https://192.168.110.12:2379 --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem --key=/data/etcd/ssl/server-key.pem member list

  

  2、根据ID移除节点

etcdctl --endpoints=https://192.168.110.12:2379 --cacert=/data/etcd/ssl/ca.pem --cert=/data/etcd/ssl/server.pem   --key=/data/etcd/ssl/server-key.pem member remove 5e994a4b4e60b7c9

 

重新加入被之前移除的节点

  1、修改节点启动配置

   initial-cluster-state参数的值需要修改为:existing

 

  2、需要清空数据目录  

rm -rf /data/etcd/data/*

  

  3、执行加入新节点命令后再启动新节点的etcd服务

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/57215.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

My SQL 列转行操作

原表结构如下,我们可以发现,“日运输量”和“车次”是在同一张表中相互独立的两个字段,即独立的两列数据,下面,我将系统中的测试数据以及代码全部放出来,以解释列转行的操作方法 原表数据库查询代码:1 SELECT 2 yzrq AS 运作日期, 3 DATE_FORMAT( yzrq, %Y-%m )…

VS中 调试逐语句和逐过程的区别

逐过程(F10)在遇到函数时,会把函数从整体上看做一条语句,不会进入函数内部;逐语句(F11)在遇到函数时,认为函数由多条语句构成,会进入函数内部。

使用 nuxi init 创建全新 Nuxt 项目

title: 使用 nuxi init 创建全新 Nuxt 项目 date: 2024/9/6 updated: 2024/9/6 author: cmdragon excerpt: 摘要:本文介绍了如何使用nuxi init命令创建全新的Nuxt.js项目,包括安装所需环境、命令使用方法、指定模板、强制克隆、启动开发服务器等步骤,并提供了完整的项目初…

nfs服务器

文件传输工具ftp:vsftpd工具 Samba:Linux和Windows之间进行文件共享 NFS:专用于linux和Linux之间的专门的文件共享服务(NFS服务),network filesystem网络文件系统。NFS服务可以把远程linux机器上面的文件目录数据,通过挂载的形式,映射在用户本地机器(Linux用户在自己本…

KUnit:设备模拟重定向

设备模拟 有些驱动文件是需要device的,所以KUnit提供了一些设备模拟的方法,并且还提供了总线来管理设备的生命周期。 下面先以clock device模拟举例(drivers/clk/clk_test.c)首先用一个struct来模拟这个clk设备。其中clk_hw是clk的描述,rate相当于模拟设备的波特率寄存器s…

Docker 安装mysql

1、从docker hub 上拉取镜像到本地# docker pull mysql:5.62.如果是不加版本直接拉取的话,默认的是最新版本 # docker pull mysql:latest默认拉取最新的版本 3.启动:# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD="设置你的mysql的密码"-d mysql…

IDA 动态调试初步学习

题目 https://files.buuoj.cn/files/985826f5dda0d8665ed997a49321dd88/attachment.zip 1C这个值太小导致加密失败,所以考虑动态调试修改1C为更大的值选择调试F2下一些断点找到1C在内存中的位置F9开始调试先F7单步,观察右下角的Stack view,内存中出现1C先选中,然后按F2,然后修改…

JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆对象的区别

JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆对象的区别JavaScript 中 structuredClone 和 JSON.parse(JSON.stringify()) 克隆对象的异同点 一、什么是 structuredClone? 1. structuredClone 的发展 structuredClone 是在 ECMAScript 2021(ES12)标…