etcd初试用
出于开发需要,我安装了etcd,简记安装与使用过程
-
环境
VMware 虚拟机 CentOS7.9,2c4g -
安装
我是在github找最新release安装的,使用了官方提供的脚本,没有更改。 -
配置
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)等-
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'
-
/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
-
/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
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现