Aller au contenu principal
50 % de réduction toutes les offres, durée limitée. À partir de $2.48/mo
etcd

etcd

etcd est un store clé-valeur distribué. La colonne vertébrale de Kubernetes, Consul et CoreOS, conçu pour assurer un consensus fiable entre machines via le protocole Raft. Open-source, écrit en Go, c'est la référence pour la découverte de services et la configuration distribuée.

En un coup d'œil

51.9k

Étoiles GitHub

57

Vues de page

103

Installations actives

Licence Apache-2.0 Version v3.6.9 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

Les installations actives sont des données d'exemple (aperçu) ; la vraie métrique sera connectée avant le lancement.

Vue d'ensemble du service

  • Utilisateur système : etcd
  • Nom de nœud par défaut : généré automatiquement etcd-<timestamp>
  • Fichier de configuration : /etc/etcd/etcd.yml
  • Répertoire des données : /var/lib/etcd
  • Binaires : /usr/local/bin/etcd, /usr/local/bin/etcdctl, et /usr/local/bin/etcdutl
  • Niveau de journalisation : debug

Réseau et ports

  • Trafic client : http://localhost:2379
  • Trafic pair : http://localhost:2380
  • Accès local uniquement par défaut (lié à localhost)

Gestion Systemd

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

Commandes de base

# 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

Sauvegarde et restauration

Sauvegarder un snapshot (enregistrer l'état actuel de etcd dans un fichier) :

etcdctl snapshot save /root/etcd-backup.db

Vérifier l'état du snapshot :

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

Arrêter le service etcd pour éviter les conflits :

systemctl stop etcd

Supprimer le contenu existant du répertoire de données :

rm -rf /var/lib/etcd/*

Restaurer le snapshot :

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

Vérifier que les permissions sont correctes :

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

Redémarrer le service etcd :

systemctl start etcd

Remarques

  • Cluster à nœud unique par défaut, adapté au développement et aux tests.
  • Configuré avec le niveau de journalisation debug.
  • En production, activez TLS pour les communications client et pair.
  • Envisagez de configurer un cluster multi-nœuds pour une haute disponibilité.
  • Limitez les ports 2379 (client) et 2380 (peer) aux hôtes de confiance via des règles de pare-feu.
  • Modifier /etc/etcd/etcd.yml pour une configuration avancée et redémarrer le etcd service pour appliquer les modifications.
  • Sauvegardez toujours vos données avant d'effectuer des opérations destructives (suppression/restauration/compaction).
  • Assurez-vous que /var/lib/etcd appartient à etcd:etcd; des permissions incorrectes peuvent empêcher etcd de démarrer après une restauration ou une modification des données.

Plus dans Outils de bases de données

Apps connexes.

Déployer etcd maintenant. À partir de 2,48 $/mois.