etcd Backup and Restore Operations

DevOpsKubernetesSRE
Share on LinkedIn Share on X Share on Reddit Share on HN Share on Bluesky

Restore from snapshot taken mid-compaction left the control plane unusable until an older backup succeeded.

Consistent snapshots

etcdctl snapshot save from authorized endpoint; sha256 verify; upload to versioned object storage.

A production team running etcd backup restore ops discovered that consistent snapshots failures show up only when upstream dependencies shift traffic mix—staging load tests with uniform QPS missed the regression until Black Friday.

Runbook entry for consistent snapshots: confirm blast radius (single namespace vs fleet-wide), identify last config change, roll back via documented single step, then capture metrics screenshots for postmortem—not ad-hoc dashboard hunting.

For etcd backup restore ops, instrument consistent snapshots with low-cardinality metrics tied to user-visible outcomes: error rate, tail latency, freshness, or cost per successful operation—avoid paging on vanity gauges that never correlated with past incidents.

Game day scenario for consistent snapshots: inject partial outage in staging quarterly, verify on- call can execute rollback in under fifteen minutes using only the linked runbook, update runbook with what actually broke.

Ownership for consistent snapshots belongs in the service catalog with named rotation, last drill date, and known sharp edges—new engineers should deploy a safe canary within one week using that doc alone.

Change management for etcd backup restore ops: require peer review from someone outside the authoring team before production promotion—fresh eyes catch assumptions embedded in consistent snapshots configs that authors no longer notice.

Capacity planning note: estimate peak QPS or job concurrency for consistent snapshots, multiply by headroom factor one-point-five to two, compare against cloud quotas and license limits before launch week—not during the first outage.

Restore drill

Quarterly full restore to isolated apiserver—document RTO steps with named owners.

A production team running etcd backup restore ops discovered that restore drill failures show up only when upstream dependencies shift traffic mix—staging load tests with uniform QPS missed the regression until Black Friday.

Runbook entry for restore drill: confirm blast radius (single namespace vs fleet-wide), identify last config change, roll back via documented single step, then capture metrics screenshots for postmortem—not ad-hoc dashboard hunting.

For etcd backup restore ops, instrument restore drill with low-cardinality metrics tied to user- visible outcomes: error rate, tail latency, freshness, or cost per successful operation—avoid paging on vanity gauges that never correlated with past incidents.

Game day scenario for restore drill: inject partial outage in staging quarterly, verify on-call can execute rollback in under fifteen minutes using only the linked runbook, update runbook with what actually broke.

Ownership for restore drill belongs in the service catalog with named rotation, last drill date, and known sharp edges—new engineers should deploy a safe canary within one week using that doc alone.

Change management for etcd backup restore ops: require peer review from someone outside the authoring team before production promotion—fresh eyes catch assumptions embedded in restore drill configs that authors no longer notice.

Capacity planning note: estimate peak QPS or job concurrency for restore drill, multiply by headroom factor one-point-five to two, compare against cloud quotas and license limits before launch week—not during the first outage.

Backup monitoring

Alert on backup job lag and failure—untested backups are operational fiction.

A production team running etcd backup restore ops discovered that backup monitoring failures show up only when upstream dependencies shift traffic mix—staging load tests with uniform QPS missed the regression until Black Friday.

Runbook entry for backup monitoring: confirm blast radius (single namespace vs fleet-wide), identify last config change, roll back via documented single step, then capture metrics screenshots for postmortem—not ad-hoc dashboard hunting.

For etcd backup restore ops, instrument backup monitoring with low-cardinality metrics tied to user- visible outcomes: error rate, tail latency, freshness, or cost per successful operation—avoid paging on vanity gauges that never correlated with past incidents.

Game day scenario for backup monitoring: inject partial outage in staging quarterly, verify on-call can execute rollback in under fifteen minutes using only the linked runbook, update runbook with what actually broke.

Ownership for backup monitoring belongs in the service catalog with named rotation, last drill date, and known sharp edges—new engineers should deploy a safe canary within one week using that doc alone.

Change management for etcd backup restore ops: require peer review from someone outside the authoring team before production promotion—fresh eyes catch assumptions embedded in backup monitoring configs that authors no longer notice.

Capacity planning note: estimate peak QPS or job concurrency for backup monitoring, multiply by headroom factor one-point-five to two, compare against cloud quotas and license limits before launch week—not during the first outage.

Encryption

Backup files encrypted at rest; break-glass restore access audited within forty-eight hours.

A production team running etcd backup restore ops discovered that encryption failures show up only when upstream dependencies shift traffic mix—staging load tests with uniform QPS missed the regression until Black Friday.

Runbook entry for encryption: confirm blast radius (single namespace vs fleet-wide), identify last config change, roll back via documented single step, then capture metrics screenshots for postmortem—not ad-hoc dashboard hunting.

For etcd backup restore ops, instrument encryption with low-cardinality metrics tied to user-visible outcomes: error rate, tail latency, freshness, or cost per successful operation—avoid paging on vanity gauges that never correlated with past incidents.

Game day scenario for encryption: inject partial outage in staging quarterly, verify on-call can execute rollback in under fifteen minutes using only the linked runbook, update runbook with what actually broke.

Ownership for encryption belongs in the service catalog with named rotation, last drill date, and known sharp edges—new engineers should deploy a safe canary within one week using that doc alone.

Change management for etcd backup restore ops: require peer review from someone outside the authoring team before production promotion—fresh eyes catch assumptions embedded in encryption configs that authors no longer notice.

Capacity planning note: estimate peak QPS or job concurrency for encryption, multiply by headroom factor one-point-five to two, compare against cloud quotas and license limits before launch week—not during the first outage.

GitOps fallback

When etcd restore fails, rebuild cluster and reconcile workloads from Git—not etcd alone.

A production team running etcd backup restore ops discovered that gitops fallback failures show up only when upstream dependencies shift traffic mix—staging load tests with uniform QPS missed the regression until Black Friday.

Runbook entry for gitops fallback: confirm blast radius (single namespace vs fleet-wide), identify last config change, roll back via documented single step, then capture metrics screenshots for postmortem—not ad-hoc dashboard hunting.

For etcd backup restore ops, instrument gitops fallback with low-cardinality metrics tied to user- visible outcomes: error rate, tail latency, freshness, or cost per successful operation—avoid paging on vanity gauges that never correlated with past incidents.

Game day scenario for gitops fallback: inject partial outage in staging quarterly, verify on-call can execute rollback in under fifteen minutes using only the linked runbook, update runbook with what actually broke.

Ownership for gitops fallback belongs in the service catalog with named rotation, last drill date, and known sharp edges—new engineers should deploy a safe canary within one week using that doc alone.

Change management for etcd backup restore ops: require peer review from someone outside the authoring team before production promotion—fresh eyes catch assumptions embedded in gitops fallback configs that authors no longer notice.

Capacity planning note: estimate peak QPS or job concurrency for gitops fallback, multiply by headroom factor one-point-five to two, compare against cloud quotas and license limits before launch week—not during the first outage.

ETCDCTL_API=3 etcdctl snapshot save backup.db --endpoints=https://127.0.0.1:2379   --cacert=ca.crt --cert=client.crt --key=client.key
sha256sum backup.db | tee backup.db.sha256

Quarterly restore to an isolated control plane validates RTO. When snapshot restore fails, rebuild cluster state from GitOps—etcd alone does not restore application data.

Frequently asked questions

Why did restore fail after mid-compaction snapshot?

Inconsistent snapshot timing—use supported etcdctl snapshot API during consistent windows.

How often backup etcd?

Hourly snapshots with retention meeting RPO; store off-cluster with immutability/versioning.

How often test restore?

Quarterly full restore to isolated control plane—untested backups are wishful thinking.

Managed Kubernetes etcd?

Verify provider backup RTO/RPO in contract and run your own restore drill—not assume.

Hiring a senior Android / Flutter engineer?

I architect and ship production mobile software — Kotlin, Jetpack Compose, Flutter — for robotics, EV infrastructure, fintech, and real-time systems. Open to remote roles in Europe and the US.

Get in touch →