67 lines
2.5 KiB
YAML
67 lines
2.5 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
services:
|
|
etcd:
|
|
<<: *defaults
|
|
image: quay.io/coreos/etcd:${ETCD_VERSION:-v3.6.0}
|
|
ports:
|
|
- "${ETCD_CLIENT_PORT_OVERRIDE:-2379}:2379"
|
|
- "${ETCD_PEER_PORT_OVERRIDE:-2380}:2380"
|
|
volumes:
|
|
- etcd_data:/etcd-data
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- ETCD_NAME=${ETCD_NAME:-etcd-node}
|
|
- ETCD_DATA_DIR=/etcd-data
|
|
- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
|
|
- ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379
|
|
- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
|
|
- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://localhost:2380
|
|
- ETCD_INITIAL_CLUSTER=${ETCD_INITIAL_CLUSTER:-etcd-node=http://localhost:2380}
|
|
- ETCD_INITIAL_CLUSTER_STATE=${ETCD_INITIAL_CLUSTER_STATE:-new}
|
|
- ETCD_INITIAL_CLUSTER_TOKEN=${ETCD_INITIAL_CLUSTER_TOKEN:-etcd-cluster}
|
|
- ETCD_AUTO_COMPACTION_RETENTION=${ETCD_AUTO_COMPACTION_RETENTION:-1}
|
|
- ETCD_QUOTA_BACKEND_BYTES=${ETCD_QUOTA_BACKEND_BYTES:-2147483648}
|
|
- ETCD_HEARTBEAT_INTERVAL=${ETCD_HEARTBEAT_INTERVAL:-100}
|
|
- ETCD_ELECTION_TIMEOUT=${ETCD_ELECTION_TIMEOUT:-1000}
|
|
- ETCD_ENABLE_V2=${ETCD_ENABLE_V2:-false}
|
|
command:
|
|
- etcd
|
|
- --name=${ETCD_NAME:-etcd-node}
|
|
- --data-dir=/etcd-data
|
|
- --listen-client-urls=http://0.0.0.0:2379
|
|
- --advertise-client-urls=http://localhost:2379
|
|
- --listen-peer-urls=http://0.0.0.0:2380
|
|
- --initial-advertise-peer-urls=http://localhost:2380
|
|
- --initial-cluster=${ETCD_INITIAL_CLUSTER:-etcd-node=http://localhost:2380}
|
|
- --initial-cluster-state=${ETCD_INITIAL_CLUSTER_STATE:-new}
|
|
- --initial-cluster-token=${ETCD_INITIAL_CLUSTER_TOKEN:-etcd-cluster}
|
|
- --auto-compaction-retention=${ETCD_AUTO_COMPACTION_RETENTION:-1}
|
|
- --quota-backend-bytes=${ETCD_QUOTA_BACKEND_BYTES:-2147483648}
|
|
- --heartbeat-interval=${ETCD_HEARTBEAT_INTERVAL:-100}
|
|
- --election-timeout=${ETCD_ELECTION_TIMEOUT:-1000}
|
|
- --enable-v2=${ETCD_ENABLE_V2:-false}
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${ETCD_CPU_LIMIT:-1.0}
|
|
memory: ${ETCD_MEMORY_LIMIT:-1G}
|
|
reservations:
|
|
cpus: ${ETCD_CPU_RESERVATION:-0.25}
|
|
memory: ${ETCD_MEMORY_RESERVATION:-256M}
|
|
healthcheck:
|
|
test: ["CMD", "etcdctl", "endpoint", "health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
etcd_data:
|