50% de descuento en todos los planes, por tiempo limitado. Desde $2.48/mo
etcd

etcd

etcd es un almacén de clave-valor distribuido. La base de Kubernetes, Consul y CoreOS, diseñado para alcanzar consenso fiable entre máquinas mediante el protocolo Raft. De código abierto, escrito en Go, es la opción de referencia para el descubrimiento de servicios y la configuración distribuida.

Versión

v3.6.9

Sistema operativo

Servidor Ubuntu 24.04 LTS

RAM mín.

1 GB

Tipos de IP

IPV4,IPV6

Descripción del servicio

  • Usuario del sistema: etcd
  • Nombre de nodo por defecto: generado automáticamente etcd-<timestamp>
  • Archivo de configuración: /etc/etcd/etcd.yml
  • Directorio de datos: /var/lib/etcd
  • Binarios: /usr/local/bin/etcd, /usr/local/bin/etcdctl, y /usr/local/bin/etcdutl
  • Nivel de log: debug

Red y puertos

  • Tráfico de clientes: http://localhost:2379
  • Tráfico entre nodos: http://localhost:2380
  • Solo acceso local por defecto (enlaza a localhost)

Gestión con Systemd

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

Comandos básicos

# 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

Copia de seguridad y restauración

Hacer una instantánea de seguridad (guarda el estado actual de etcd en un archivo):

etcdctl snapshot save /root/etcd-backup.db

Comprobar el estado de la instantánea:

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

Detener el servicio etcd para evitar conflictos:

systemctl stop etcd

Eliminar el contenido existente del directorio de datos:

rm -rf /var/lib/etcd/*

Restaurar la instantánea:

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

Verificar que los permisos son correctos:

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

Iniciar el servicio etcd de nuevo:

systemctl start etcd

Notas

  • Clúster de un solo nodo por defecto, adecuado para desarrollo y pruebas.
  • Configurado con nivel de log de depuración.
  • En producción, habilita TLS para la comunicación entre clientes y nodos.
  • Considera configurar un clúster multinodo para alta disponibilidad.
  • Restringe los puertos 2379 (cliente) y 2380 (par) a hosts de confianza mediante reglas de cortafuegos.
  • Modifica /etc/etcd/etcd.yml para configuración avanzada y reinicia el etcd servicio para aplicar los cambios.
  • Haz siempre una copia de seguridad antes de realizar operaciones destructivas (eliminar/restaurar/compactar).
  • Asegúrate de que /var/lib/etcd pertenece a etcd:etcd; los permisos incorrectos pueden impedir que etcd arranque tras restauraciones o cambios de datos.

Más en herramientas de base de datos

Aplicaciones relacionadas.

Despliega etcd ahora. Desde 2,48 $/mes.