1. SHELL 中启动 etcd
1.1. 默认启动
如果在测试开发环境,启动一个单点的 etcd 服务,只需要运行 etcd
执行即可。
直接在终端前台启动,如果不想放到前台,可以在结尾添加 &
放置到后台运行。
/usr/local/bin/etcd
启动的 etcd 成员在 localhost:2379
监听客户端请求。
启动参数都是使用默认的配置项,只适合开发调试使用,不适合部署高可用的集群。
# 使用 API 版本 3
$ export ETCDCTL_API=3
# 写入一条数据 foo => bar
$ ./etcdctl put foo bar
OK
# 读取数据 foo
$ etcdctl get foo
foo
bar
1.2. 添加参数启动
etcd 支持直接在命令行启动,在搭建高可用集群时需要进行配置调整,使其他成员能够发现和访问运行的 etcd 服务。
默认的参数值如下,根据实际情况调整
etcd \
--name=default \
--data-dir=default.etcd \
--listen-peer-urls=http://localhost:2380 \
--listen-client-urls=http://localhost:2379 \
--initial-advertise-peer-urls=http://localhost:2380 \
--initial-cluster=default=http://localhost:2380 \
--initial-cluster-state=new \
--initial-cluster-token=etcd-cluster \
--advertise-client-urls=http://localhost:2379 \
--logger=capnslog
在实际服务 etcd 运行环境,还需要考虑 etcd 进程的状态监控、开机服务自动启动、便捷的服务启停和其他运维要求,因此很少会自己在命令行直接运行 etcd 服务。
多节点集群高可用部署时,推荐使用 systemd 系统服务、supervisor 管理服务、Kubernetes Static Pod 管理服务、Kubernetes DaemonSet 管理服务 或者 更加智能的 Kubernetes etcd-operator 等方式。