50 % Rabatt auf alle Pläne, begrenzte Zeit. Ab $2.48/mo
etcd

etcd

etcd ist ein verteilter Key-Value-Store. Das Fundament von Kubernetes, Consul und CoreOS, entwickelt für zuverlässigen Konsens über mehrere Maschinen hinweg via Raft-Protokoll. Open-Source, in Go geschrieben, die bewährte Wahl für Service Discovery und verteilte Konfiguration.

Version

v3.6.9

Betriebssystem

Ubuntu Server 24.04 LTS

Mindestens RAM

1 GB

IP-Typen

IPV4,IPV6

Serviceübersicht

  • Systembenutzer etcd
  • Standardknotenname: automatisch generiert etcd-<timestamp>
  • Konfigurationsdatei: /etc/etcd/etcd.yml
  • Datenverzeichnis: /var/lib/etcd
  • Binärdateien: /usr/local/bin/etcd, /usr/local/bin/etcdctl, und /usr/local/bin/etcdutl
  • Protokollebene: debug

Netzwerk & Ports

  • Client-Verkehr: http://localhost:2379
  • Peer-to-Peer-Datenverkehr: http://localhost:2380
  • Standardmäßig nur lokaler Zugriff (bindet an localhost)

Systemd-Verwaltung

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

Grundbefehle

# 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

Backup und Wiederherstellung

Snapshot sichern (aktuellen Zustand von etcd in eine Datei speichern):

etcdctl snapshot save /root/etcd-backup.db

Snapshot-Status prüfen:

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

Beenden Sie den etcd-Dienst, um Konflikte zu vermeiden:

systemctl stop etcd

Vorhandene Inhalte des Datenverzeichnisses löschen:

rm -rf /var/lib/etcd/*

Snapshot wiederherstellen:

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

Stellen Sie sicher, dass die Berechtigungen korrekt sind:

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

Starte den etcd-Dienst erneut:

systemctl start etcd

Hinweise

  • Standardmäßig als Single-Node-Cluster eingerichtet – ideal für Entwicklung und Tests.
  • Mit Debug-Log-Level konfiguriert.
  • Für den Produktionsbetrieb solltest du TLS für die Client- und Peer-Kommunikation aktivieren.
  • Erwäge einen Multi-Node-Cluster für hohe Verfügbarkeit einzurichten.
  • Ports 2379 (Client) und 2380 (Peer) per Firewall-Regel auf vertrauenswürdige Hosts beschränken.
  • Ändern /etc/etcd/etcd.yml für die erweiterte Konfiguration und starten Sie den etcd Dienst, um die Änderungen zu übernehmen.
  • Erstelle immer eine Datensicherung, bevor du destruktive Operationen durchführst (Löschen/Wiederherstellen/Komprimieren).
  • Stellen Sie sicher /var/lib/etcd ist Eigentum von etcd:etcd; falsche Berechtigungen können verhindern, dass etcd nach Wiederherstellungen oder Datenänderungen startet.

Mehr zu Datenbank-Tools

Verwandte Apps.

etcd jetzt deployen. Ab 2,48 $/Monat.