etcd 是 CoreOS 团队发起的一个管理配置信息和服务发现(service discovery)的项目。
github.com/coreos/etcd
受到 Apache ZooKeeper 项目和 doozer 项目的启发,etcd 在设计的时候重点考虑了下面四个要素:
简单:支持 REST 风格的 HTTP+JSON API
安全:支持 HTTPS 方式的访问
快速:支持并发 1k/s 的写操作
可靠:支持分布式结构,基于 Raft 的一致性算法
运行 etcd,将默认组建一个两个节点的集群。数据库服务端默认监听在 2379 和 4001 端口,etcd 实例监听在 2380 和 7001 端口。
检查 etcd 服务是否启动成功:
[k8s@k8s-master ~]$ systemctl status etcd
[k8s@k8s-master ~]$ etcdctl set uid "001"
[k8s@k8s-master ~]$ etcdctl get uid
001
可以通过 HTTP 访问本地 2379 或 4001 端口的方式来进行操作,例如查看 testkey 的值
[k8s@k8s-master ~]$ curl -L http://localhost:2379/v2/keys/uid
{"action":"get","node":{"key":"/uid","value":"001","modifiedIndex":5,"createdIndex":5}}