etcd

Penyimpanan key-value terdistribusi dan andal untuk konfigurasi dan data sistem yang penting.

Gambaran Umum Layanan

  • Pengguna sistem: etcd
  • Nama node default: dibuat secara otomatis etcd-<timestamp>
  • Berkas konfigurasi: /etc/etcd/etcd.yml
  • Direktori data: /var/lib/etcd
  • Biner: /usr/local/bin/etcd, /usr/local/bin/etcdctl, dan /usr/local/bin/etcdutl
  • Tingkat log: debug

Jaringan & Port

  • Lalu lintas klien: http://localhost:2379
  • Lalu lintas antar pengguna: http://localhost:2380
  • Akses lokal saja secara default (terhubung ke localhost)

Manajemen Sistem

systemctl status etcd         # Check status
systemctl restart etcd        # Start service
systemctl stop etcd           # Stop service
systemctl restart etcd        # Restart service

Perintah Dasar

# Check etcd server version
etcd --version

# Check etcdctl client version
etcdctl version

# Check etcdutl version
etcdutl version

# Set a key
etcdctl put mykey "HelloEtcd"

# Get a key
etcdctl get mykey

# List all keys with values
etcdctl get "" --prefix

# List only key names
etcdctl get "" --prefix --keys-only

# Delete a key
etcdctl del mykey

# Check cluster health
etcdctl endpoint health

# List cluster members
etcdctl --endpoints=http://127.0.0.1:2379 member list

# Show cluster leader
etcdctl endpoint status --write-out=table

# Watch a key for changes
etcdctl watch mykey

Pencadangan dan Pemulihan

Buat cadangan snapshot (simpan status etcd saat ini ke dalam sebuah file):

etcdctl snapshot save /root/etcd-backup.db

Periksa status snapshot:

etcdutl snapshot status /root/etcd-backup.db -w table

Hentikan layanan etcd untuk menghindari konflik:

systemctl stop etcd

Hapus isi yang ada di direktori data:

rm -rf /var/lib/etcd/*

Pulihkan snapshot:

etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd

Pastikan izin akses sudah benar:

chown -R etcd:etcd /var/lib/etcd

Mulai kembali layanan etcd:

systemctl start etcd

Catatan

  • Klaster satu node secara default, cocok untuk pengembangan/pengujian.
  • Dikonfigurasi dengan level log debug.
  • Untuk lingkungan produksi, aktifkan TLS untuk komunikasi antara klien dan rekan.
  • Pertimbangkan untuk membuat klaster multi-node untuk ketersediaan tinggi.
  • Batasi port 2379 (klien) dan 2380 (rekan) hanya untuk host tepercaya menggunakan aturan firewall.
  • Memodifikasi /etc/etcd/etcd.yml untuk konfigurasi lanjutan dan memulai ulang etcd layanan untuk menerapkan perubahan.
  • Selalu cadangkan data sebelum melakukan operasi yang merusak (hapus/pulihkan/kompaksi).
  • Memastikan /var/lib/etcd dimiliki oleh etcd:etcdIzin yang salah dapat mencegah etcd untuk memulai setelah pemulihan atau perubahan data.

Rincian Aplikasi