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.ymluntuk konfigurasi lanjutan dan memulai ulangetcdlayanan untuk menerapkan perubahan. - Selalu cadangkan data sebelum melakukan operasi yang merusak (hapus/pulihkan/kompaksi).
- Memastikan
/var/lib/etcddimiliki olehetcd:etcdIzin yang salah dapat mencegah etcd untuk memulai setelah pemulihan atau perubahan data.