etcd 是用 golang 编写,raft 协议实现的分布式高可靠的 kv 存储系统,常用来作为配置共享和服务注册发现,Kubernetes 就使用 etcd 来保存整个集群的状态
etcd 主要关注以下四点:
- 简单: 定义良好,面向用户的 api (使用 grpc)
- 安全: 可选的 tls 用户认证方式
- 快速: 支持每秒 10000 次的写入
- 可靠: raft 协议实现分布式
搭建 etcd 服务
version: "3.5"
services:
etcd:
hostname: etcd
image: bitnami/etcd:3
deploy:
replicas: 1
restart_policy:
condition: on-failure
# ports:
# - "2379:2379"
# - "2380:2380"