NAS: 데이터 /volume1/docker/etcd/data, --restart=always
hp2/jp1: openrc 서비스 (/etc/init.d/etcd), command_background=true
Patroni etcd namespace: /patroni
etcd 확인 명령어
# 클러스터 멤버 확인
incus exec postgres-1 -- etcdctl --endpoints=http://192.168.9.100:2379 member list -w table
# 엔드포인트 상태
incus exec postgres-1 -- etcdctl --endpoints=http://192.168.9.100:2379,http://10.100.2.214:2379,http://10.253.101.233:2379 endpoint status -w table
etcd에 저장된 데이터
prefix
용도
/patroni
Patroni DCS (Leader election, 설정)
/apisix/osaka
APISIX 오사카 라우팅 설정
/apisix/tokyo
APISIX sandbox-tokyo 라우팅 설정 (2026-04-08 NixOS 전환 후 미사용, 데이터는 보존)
frontend ft_postgres
bind :5432
default_backend bk_postgres_primary
backend bk_postgres_primary
option httpchk GET /primary
http-check expect status 200
default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions
server postgres-1 10.100.2.5:5432 check port 8008
server postgres-2 10.100.3.185:5432 check port 8008
server postgres-3 10.100.1.83:5432 check port 8008
Patroni failover 시 HAProxy가 자동으로 새 Leader를 감지 (~3초)
K3s config 변경 없이 Leader 전환 대응
APISIX etcd 통합 (2026-04-06)
기존 각 사이트별 독립 etcd를 통합 etcd 클러스터로 이전.
사이트
기존 etcd
이전 후
prefix
osaka
Docker waf-etcd (로컬)
통합 클러스터 (192.168.9.100)
/apisix/osaka
sandbox-tokyo
Docker apisix-etcd (로컬)
통합 클러스터 (10.253.101.233)
/apisix/tokyo (2026-04-08 NixOS 전환으로 sandbox-tokyo APISIX 자체가 미가동)
서울 K3s
StatefulSet 3노드 (K3s 내부)
통합 클러스터 (192.168.9.100)
/apisix/seoul
데이터 이전: etcdctl make-mirror --prefix /apisix/ --dest-prefix /apisix-{site}/