etcd初试用

出于开发需要,我安装了etcd,简记安装与使用过程

  1. 环境
    VMware 虚拟机 CentOS7.9,2c4g

  2. 安装
    我是在github找最新release安装的,使用了官方提供的脚本,没有更改。

  3. 配置
    etcd可以以环境变量的形式配置,也可以以配置文件的形式配置。
    我采用了配置文件进行配置。如果希望使用配置文件启动,那么启动参数应当加上 --config-file path
    etcd的命令行选项的优先级高于环境变量形式的选项。使用配置文件时,其他命令行选项和环境变量都将被忽略

    另外,官方提供的脚本安装后,系统中没有注册etcd服务。为了使用方便,我们要将其注册到systemctl,然后就可以使用该命令来启动etcd,或者将其设置为开机自启动。随便一搜就有相关文章,这里随便贴一个:etcd注册为systemctl服务

    etcd的配置文件要使用yaml格式。环境变量的书写格式也可以识别,但我使用的是yaml。
    可能需要配置的选项有:data-dir、listen-client-urls、advertise-client-urls、enable-grpc-gateway
    data-dir是存放数据的目录,默认为${name}.etcd,其中的name也是一个配置项。
    listen-client-urls是etcd服务器监听客户端请求使用的URL列表,默认为"http://localhost:2379"
    advertise-client-urls是一个etcd服务器节点告知其他集群中其他节点自己监听的URL列表,应是listen-client-urls的子集,默认为"http://localhost:2379"。
    enable-grpc-gateway是控制是否启用grpc网关的选项,默认为false。etcdv3使用grpc,但提供了一个grpc网关用于将restful请求转换为grpc请求。

    实际启用gateway需要使用以下命令: etcd gateway start
    该命令可用参数有-endpoints(表示转发目的地址,不支持https,默认为127.0.0.1:2379)、-listen-addr(表示gateway的监听地址,默认为127.0.0.1:23790)等

    1. etcd.conf

       enable-grpc-gateway: true
       # [member]
       name: 'default'
       data-dir: '/home/etcd/default.etcd'
       listen-client-urls: 'http://127.0.0.1:2379'
       # [clustering]
       advertise-client-urls: 'http://127.0.0.1:2379'
      
    2. /etc/systemd/system/etcd.service

       [Unit]
       Description=Etcd Server
       After=network.target
       After=network-online.target
       Wants=network-online.target
      
       [Service]
       Type=notify
       EnvironmentFile=/home/etcd/etcd.conf
       ExecStart=/tmp/etcd-download-test/etcd \
               --config-file /home/etcd/etcd.conf
       Restart=on-failure
       LimitNOFILE=65536
      
       [Install]
       WantedBy=multi-user.target
      
    3. /etc/systemd/system/etcd-gateway.service

       [Unit]
       Description=etcd gateway
       After=network.target
       After=network-online.target
       Wants=network-online.target
      
       [Service]
       Type=notify
       ExecStart=/tmp/etcd-download-test/etcd gateway start --listen-addr=192.168.16.138:23790
       Restart=on-failure
       LimitNOFILE=65536
      
       [Install]
       WantedBy=multi-user.target
      
posted @   who's_there?  阅读(169)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示