ETCD单机部署

温馨提醒

Docker 方式部署

  • 创建目录

    1
    2
    
    mkdir -p /data/etcd /etc/etcd
    chown -R 1001.1001 /data/etcd
  • 创建 etcd 配置文件

    vim /etc/etcd/etcd.conf

    1
    2
    3
    4
    5
    6
    
    # 节点名称
    name: 'etcd01'
    # 指定节点的数据存储目录
    data-dir: '/data'
    # 对外提供服务的地址,客户端会连接到这里和 etcd 交互
    listen-client-urls: 'http://0.0.0.0:2379'
  • 启动容器

    1
    
    docker run -d --name etcd -p 2379:2379 -v /data/etcd:/data -v /etc/etcd:/conf bitnami/etcd:latest etcd --config-file /conf/etcd.conf
  • 验证

    1
    
    docker exec etcd sh -c "etcdctl endpoint status --cluster -w table"

二进制方式部署

  • 下载解压文件

    1
    2
    
    wget https://github.com/etcd-io/etcd/releases/download/v3.5.14/etcd-v3.5.14-linux-amd64.tar.gz
    tar xf etcd-v3.5.14-linux-amd64.tar.gz -C /usr/local/
  • 添加环境变量

    vim /etc/profile.d/etcd.sh

    1
    
    export PATH=$PATH:/usr/local/etcd-v3.5.14-linux-amd64.tar.gz

    source /etc/profile.d/etcd.sh

  • 验证

    1
    2
    3
    
    etcdctl version
    
    etcdd --version
  • 创建配置文件

    vim /etc/etcd/etcd.conf

    1
    2
    3
    4
    5
    6
    
    # 节点名称
    name: 'etcd01'
    # 指定节点的数据存储目录
    data-dir: '/data/etcd'
    # 对外提供服务的地址,客户端会连接到这里和 etcd 交互
    listen-client-urls: 'http://172.20.10.129:2379,http://127.0.0.1:2379'
  • 创建启动脚本

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

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    
    [Unit]
    Description=Etcd Server
    After=network.target
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    Type=notify
    EnvironmentFile=/etc/etcd/etcd.conf
    ExecStart=/usr/local/etcd-v3.5.14-linux-amd64/etcd --config-file=/etc/etcd/etcd.conf
    Restart=on-failure
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
  • 启动服务并验证

    1
    2
    3
    4
    5
    
    systemctl daemon-reload
    
    systemctl enable --now etcd
    
    etcdctl endpoint status --cluster -w table