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. 1.Quorum lost - Not enough members up
  2. 2.Network partition - Members cannot communicate
  3. 3.Member failure - Too many members down
  4. 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

CheckCommandExpected
Members upmember listAll healthy
Leaderendpoint statusHas leader
Quorumcount members> half

Verify the Fix

bash
etcdctl endpoint status
# Output: leader: <id>
  • [Fix Kubernetes API Server Unavailable](/articles/fix-kubernetes-apiserver-unreachable)
  • [Fix Zookeeper Session Expired](/articles/fix-zookeeper-session-expired)