前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >etcd集群安装

etcd集群安装

原创
作者头像
玖叁叁
发布2023-04-28 09:12:14
1K1
发布2023-04-28 09:12:14
举报
文章被收录于专栏:玖叁叁

etcd是一个分布式键值存储系统,用于在分布式系统中存储共享配置和服务发现信息。它是Kubernetes的核心组件之一,因此对于搭建Kubernetes集群而言,etcd的安装是非常重要的一步。

一、安装前的准备

在开始etcd的安装之前,需要做以下准备工作:

  1. 确定etcd集群的大小和节点数量:etcd集群的大小指的是集群中etcd节点的数量,一般建议至少部署3个节点。如果集群规模较大,可以考虑增加节点数量,以提高可用性和性能。
  2. 确定etcd节点的IP地址和主机名:每个etcd节点都需要有一个唯一的IP地址和主机名。这些信息将用于配置etcd集群。
  3. 确定etcd集群的通信端口:etcd集群使用的默认端口是2379和2380,如果需要使用其他端口,需要在配置文件中进行配置。
  4. 安装etcd二进制文件:etcd可以从官方网站(https://github.com/etcd-io/etcd/releases)下载预编译的二进制文件,也可以通过源代码进行编译。本文将使用预编译的二进制文件进行安装。

二、安装etcd集群

下载etcd二进制文件

从官方网站(https://github.com/etcd-io/etcd/releases)下载适合自己操作系统的etcd二进制文件。本文以Linux为例,下载文件名为etcd-v3.5.0-linux-amd64.tar.gz的压缩包。

解压缩etcd二进制文件

将下载的压缩包解压缩到指定的目录,例如:

代码语言:javascript
复制
tar xzvf etcd-v3.5.0-linux-amd64.tar.gz -C /usr/local/bin --strip-components=1

这将把etcd和etcdctl二进制文件解压缩到/usr/local/bin目录,并将所有文件的权限设置为755。

创建etcd配置文件

创建etcd配置文件,以etcd-01为例::

代码语言:javascript
复制
# cat > /etc/etcd/etcd.conf <<EOF
#[Member]
ETCD_NAME="etcd-01"
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="https://172.16.0.10:2380"
ETCD_LISTEN_CLIENT_URLS="https://172.16.0.10:2379"

#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://172.16.0.10:2380"
ETCD_ADVERTISE_CLIENT_URLS="https://172.16.0.10:2379"
ETCD_INITIAL_CLUSTER="etcd-01=https://172.16.0.10:2380,etcd-02=https://172.16.0.11:2380,etcd-03=https://172.16.0.12:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
EOF

这里定义了一个名为etcd-01的etcd节点,数据目录为/var/lib/etcd/default.etcd,通信端口分别为2379和2380。在Clustering部分中,定义了etcd集群中所有节点的IP地址和通信端口,并指定了集群的初始化参数,如集群名称、集群令牌、集群状态等。需要根据实际情况进行修改。

启动etcd服务

使用systemd启动etcd服务,以etcd-01为例:

代码语言:javascript
复制
# cat > /etc/systemd/system/etcd.service <<EOF
[Unit]
Description=etcd
Documentation=https://github.com/coreos/etcd
After=network.target

[Service]
User=etcd
Type=notify
ExecStart=/usr/local/bin/etcd --config-file /etc/etcd/etcd.conf
Restart=always
RestartSec=10s
LimitNOFILE=40000

[Install]
WantedBy=multi-user.target
EOF

# systemctl daemon-reload
# systemctl start etcd
# systemctl enable etcd

这里定义了一个名为etcd.service的systemd服务单元,指定了etcd服务的启动命令和配置文件,以及服务的重启和资源限制等参数。需要根据实际情况进行修改。

检查etcd服务状态

检查etcd服务是否正常运行:

代码语言:javascript
复制
# systemctl status etcd

如果etcd服务正常运行,应该输出类似以下的信息::

代码语言:javascript
复制
● etcd.service - etcd
   Loaded: loaded (/etc/systemd/system/etcd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2022-04-28 09:00:00 CST; 1 day 2h ago
 Main PID: 1234 (etcd)
    Tasks: 7
   Memory: 8.6M
   CGroup: /system.slice/etcd.service
           └─1234 /usr/local/bin/etcd --config-file /etc/etcd/etcd.conf

Apr 28 09:00:00 etcd-01 systemd[1]: Started etcd.
Apr 28 09:00:01 etcd-01 etcd[1234]: etcd Version: 3.5.0-alpha.5
Apr 28 09:00:01 etcd-01 etcd[1234]: Git SHA: 47fa455
Apr 28 09:00:01 etcd-01 etcd[1234]: Go Version: go1.17.2
Apr 28 09:00:01 etcd-01 etcd[1234]: Go OS/Arch: linux/amd64
Apr 28 09:00:01 etcd-01 etcd[1234]: listener: setting advertise client URLs to https://172.16.0.10:2379
Apr 28 09:00:01 etcd-01 etcd[1234]: listener: setting advertise peer URLs to https://172.16.0.10:2380
Apr 28 09:00:01 etcd-01 etcd[1234]: embed: serving peer URLs https://172.16.0.10:2380
Apr 28 09:00:01 etcd-01 etcd[1234]: embed: serving client URLs https://172.16.0.10:2379

其中,Active行显示服务状态为active (running),表示服务正在运行;Main PID行显示etcd进程的PID;CGroup行显示etcd服务所属的CGroup;日志中还会输出etcd的版本信息、运行时参数和监听地址等信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装前的准备
  • 二、安装etcd集群
    • 下载etcd二进制文件
      • 解压缩etcd二进制文件
        • 创建etcd配置文件
          • 启动etcd服务
            • 检查etcd服务状态
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档