千家信息网

kubernetes实践中的Etcd3集群搭建是怎样的

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍kubernetes实践中的Etcd3集群搭建是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一:Etcd简介ETCD是用于共享配置和服务发现的分布式,一
千家信息网最后更新 2025年12月02日kubernetes实践中的Etcd3集群搭建是怎样的

这篇文章给大家介绍kubernetes实践中的Etcd3集群搭建是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一:Etcd简介
ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统。类似于Zookeeper.
ETCD的使用场景:配置管理,服务注册于发现,选主,应用调度,分布式队列,分布式锁.
ETCD使用Raft协议来维护集群内各个节点状态的一致性。简单说,ETCD集群是一个分布式系统,由多个节点相互通信构成整体对外服务,每个节点都存储了完整的数据,并且通过Raft协议保证每个节点维护的数据是一致的。

二:Etcd3集群背景

10.116.137.196 k8s_master
10.116.82.28 k8s_node1
10.116.36.57 k8s_node2

Etcd版本:etcd-v3.1.8-linux-amd64.tar.gz(https://github.com/coreos/etcd/releases)

三:Etcd3安装

1.环境变量设置 vi /etc/profile

export ETCDCTL_API=3

2.关闭系统防火墙

systemctl disable firewalld
systemctl stop firewalld

3.安装

tar -zxvf etcd-v3.1.8-linux-amd64.tar.gz
cp etcd /usr/bin/
cp etcdctl /usr/bin/

创建/etc/etcd/etcd.conf 配置文件
创建/usr/lib/systemd/system/etcd.service systemctl启动文件。

4.配置文件(蓝色背景处为三个节点需要修改的地方)

etcd.service


点击(此处)折叠或打开

  1. [Unit]

  2. Description=Etcd Server

  3. After=network.target

  4. After=network-online.target

  5. Wants=network-online.target


  6. [Service]

  7. Type=notify

  8. WorkingDirectory=/var/lib/etcd/

  9. EnvironmentFile=/etc/etcd/etcd.conf

  10. ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\" --listen-peer-urls=\"${ETCD_LISTEN_PEER_URLS}\" --advertise-client-urls=\"${ETCD_ADVERTISE_CLIENT_URLS}\" --initial-advertise-peer-urls=\"${ETCD_INITIAL_ADVERTISE_PEER_URLS}\" --initial-cluster=\"${ETCD_INITIAL_CLUSTER}\" --initial-cluster-state=\"${ETCD_INITIAL_CLUSTER_STATE}\""

  11. Restart=on-failure

  12. LimitNOFILE=65536


  13. [Install]

  14. WantedBy=multi-user.target

etcd.conf 配置文件(https://github.com/coreos/etcd/blob/master/etcd.conf.yml.sample)


点击(此处)折叠或打开

  1. # [member]

  2. ETCD_NAME=k8s_master

  3. ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

  4. ETCD_LISTEN_PEER_URLS="http://120.25.154.90:2380"

  5. ETCD_LISTEN_CLIENT_URLS="http://120.25.154.90:2379,http://127.0.0.1:2379"


  6. # [cluster]

  7. ETCD_INITIAL_ADVERTISE_PEER_URLS="http://120.25.154.90:2380"

  8. ETCD_INITIAL_CLUSTER="k8s_master=http://120.25.154.90:2380,k8s_node1=http://120.25.220.176:2380,k8s_node2=http://112.74.105.178:2380"

  9. ETCD_INITIAL_CLUSTER_STATE="new"

  10. ETCD_INITIAL_CLUSTER_TOKEN="k8s-etcd-cluster"

  11. ETCD_ADVERTISE_CLIENT_URLS="http://120.25.154.90:2379"

5.启动 通过systemctl start命令启动etcd服务,同时使用systemctl enable 命令将服务加入开机启动列表中

systemctl daemon-reload
systemctl enable etcd.service
systemctl start etcd.service

6.启动结果查询



四:Etcd配置参数说明(https://coreos.com/etcd/docs/latest/op-guide/configuration.html


点击(此处)折叠或打开

  1. Etcd的参数配置方式有两种,一种是命令行的方式,一种是环境变量的方式。命令行方式的优先级高于环境变量的方式。


  2. Etcd默认2379端口处理客户端的请求;2380端口用于集群各成员间的通信。


  3. #[member]


  4. -name 或 ETCD_NAME:


  5. 指定当前etcd成员的名称 默认值为"default",通常用户Hostname来命名。


  6. -data-dir或ETCD_DATA_DIR:


  7. etcd数据文件目录,默认是"${name}.etcd"


  8. -snapshot-count或ETCD_SNAPSHOT_COUNT:


  9. 指定多少次commit操作会触发一次磁盘快照,默认值是10000


  10. -heartbeat-interval或 ETCD_ELECTION_TIMEOUT:


  11. 心跳信号间隔,毫秒级,默认是100毫秒。


  12. -listen-peer-urls或 ETCD_LISTEN_PEER_URLS


  13. 用于监听集群中其他成员的发送信息的地址。默认值是"http://localhost:2380"


  14. -listen-client-urls或ETCD_LISTEN_CLIENT_URLS:

  15. 用于监听客户端发来的信息的地址,默认值是"http://localhost:2379"


  16. -max-snapshots或ETCD_MAX_SNAPSHOTS

  17. 镜像文件的最大个数,默认是5.0表示无限制


  18. -max-wals或ETCD_MAX_WALS:


  19. #[cluster]

  20. -initial-advertise-peer-urls或 ETCD_INITIAL_ADVERTISE_PEER_URLS:

  21. 集群中各节点相互通信的地址。


  22. -initial-cluster或ETCD_INITIAL_CLUSTER:

  23. 初始集群由哪些成员组成 默认值是"efault=http://localhost:2380"


  24. -initial-cluster-state或ETCD_INITIAL_CLUSTER_STATE:

  25. 集群的初始状态,其值有"new"和"existing",默认为"new"


  26. -initial-cluster-token:ETCD_INITIAL_CLUSTER_TOKEN:


  27. 集群名称


  28. -advertise-client-urls或ETCD_ADVERTISE_CLIENT_URLS:


  29. 客户端与集群通信地址

关于kubernetes实践中的Etcd3集群搭建是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

集群 配置 文件 节点 方式 服务 分布式 命令 地址 成员 通信 一致 变量 客户 数据 环境 系统 实践 一致性 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算机网络技术大专好找工作吗 高校如何确保网络安全 成都管理软件开发费用多少 江阴浪潮服务器维修多少钱 sql sever报表服务器 服务器卡在正在使用中怎么办 asp 后台服务器 软件开发项目贡献 如何做好网络安全的 网络安全廉洁警示教育的心得体会 服务器推荐安全软件有哪些 如何设置关闭代理服务器 软件开发用什么屏幕 叛乱沙漠风暴老是被踢出服务器 南宁知名网络技术公司电话 英魂之刃口袋版服务器 标渔互联网科技 如何加强校园网络安全建设 我国网络安全保护的基本方式 stitp项目软件开发类 阿里云服务器流量怎么计费 lol韩国服务器延迟 将图片上传到服务器 北京智慧园区软件开发机构 广州健康通服务器出错 我的世界服务器和迷你世界房间 戴尔服务器电话 家长对网络安全的建议 图片对话框怎么传到服务器上 管理登录名权限的服务器角色
0