What's Actually Happening
etcd cluster cannot elect a leader. Requests fail with no leader error.
The Error You'll See
```bash $ etcdctl endpoint status
{"endpoint":"http://localhost:2379","status":{"leader":0}} # No leader elected ```
Why This Happens
- 1.Quorum lost - Not enough members up
- 2.Network partition - Members cannot communicate
- 3.Member failure - Too many members down
- 4.Data corruption - WAL corruption
Step 1: Check Member Status
```bash # List members: etcdctl member list
# Check endpoint status: etcdctl endpoint status --cluster ```
Step 2: Check Network
```bash # Test connectivity: telnet etcd1 2380 telnet etcd2 2380
# Check all members reachable: for i in etcd1 etcd2 etcd3; do echo $i nc -zv $i 2379 done ```
Step 3: Remove Failed Member
```bash # Remove member: etcdctl member remove <member-id>
# Add back: etcdctl member add etcd3 --peer-urls=http://etcd3:2380 ```
Step 4: Restore Quorum
```bash # If 2 of 3 members down: # 1. Stop all etcd # 2. Restore from backup or # 3. Start single member with force-new-cluster
etcd --force-new-cluster ```
etcd Leader Checklist
| Check | Command | Expected |
|---|---|---|
| Members up | member list | All healthy |
| Leader | endpoint status | Has leader |
| Quorum | count members | > half |
Verify the Fix
etcdctl endpoint status
# Output: leader: <id>Related Issues
- [Fix Kubernetes API Server Unavailable](/articles/fix-kubernetes-apiserver-unreachable)
- [Fix Zookeeper Session Expired](/articles/fix-zookeeper-session-expired)