etcd เป็น Key-Value Store ที่ Kubernetes ใช้เก็บข้อมูลทั้งหมดของ Cluster ถ้า etcd เสียหาย Cluster ทั้งหมดจะหยุดทำงาน
Backup และ Restore etcd
# Backup:
# ETCDCTL_API=3 etcdctl snapshot save /backup/etcd-snapshot.db # --endpoints=https://127.0.0.1:2379 # --cacert=/etc/kubernetes/pki/etcd/ca.crt # --cert=/etc/kubernetes/pki/etcd/server.crt # --key=/etc/kubernetes/pki/etcd/server.key
#
# ตรวจสอบ Snapshot:
# ETCDCTL_API=3 etcdctl snapshot status /backup/etcd-snapshot.db
#
# Restore:
# 1. หยุด kube-apiserver
# 2. ETCDCTL_API=3 etcdctl snapshot restore /backup/etcd-snapshot.db
# 3. Update etcd config --data-dir
# 4. เริ่ม kube-apiserver
#
# Best Practices:
# - Backup ทุก 6 ชั่วโมง (CronJob)
# - เก็บ Offsite (S3/Remote)
# - ทดสอบ Restore เป็นประจำ
# - Monitor etcd (Prometheus+Grafana)
# - ใช้ SSD เสมอ ห้ามใช้ HDD
สรุป
etcd เป็นหัวใจของ Kubernetes Cluster Backup ทุก 6 ชั่วโมง เก็บ Offsite ทดสอบ Restore เป็นประจำ และใช้ SSD เสมอ
