etcd

Armazenamento distribuído e fiável de pares chave-valor para configurações e dados críticos do sistema.

Visão geral do serviço

  • Utilizador do sistema: etcd
  • Nome padrão do nó: gerado automaticamente etcd-<timestamp>
  • Ficheiro de configuração: /etc/etcd/etcd.yml
  • Diretório de dados: /var/lib/etcd
  • Binários: /usr/local/bin/etcd, /usr/local/bin/etcdctl, e /usr/local/bin/etcdutl
  • Nível de registo: debug

Rede e portas

  • Tráfego de clientes: http://localhost:2379
  • Tráfego entre pares: http://localhost:2380
  • Acesso apenas local por predefinição (ligado ao localhost)

Gestão do 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

Cópia de segurança e restauração

Fazer uma cópia de segurança de um instantâneo (guardar o estado atual do etcd num ficheiro):

etcdctl snapshot save /root/etcd-backup.db

Verificar o estado do instantâneo:

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

Encerre o serviço etcd para evitar conflitos:

systemctl stop etcd

Elimine o conteúdo existente do diretório de dados:

rm -rf /var/lib/etcd/*

Restaurar o instantâneo:

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

Certifique-se de que as permissões estão corretas:

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

Reinicie o serviço etcd:

systemctl start etcd

Notas

  • Cluster de um único nó por predefinição, adequado para desenvolvimento/testes.
  • Configurado com o nível de registo de depuração.
  • Para a produção, ative o TLS para a comunicação entre o cliente e o par.
  • Considere configurar um cluster com vários nós para garantir alta disponibilidade.
  • Restrinja as portas 2379 (cliente) e 2380 (par) a hosts de confiança através de regras de firewall.
  • Modificar /etc/etcd/etcd.yml para uma configuração avançada e reinicie o etcd serviço para aplicar as alterações.
  • Faça sempre uma cópia de segurança dos dados antes de realizar operações destrutivas (eliminar/restaurar/compactar).
  • Certifique-se de que /var/lib/etcd é propriedade de etcd:etcd; permissões incorretas podem impedir que o etcd inicie após restaurações ou alterações nos dados.

Detalhes da candidatura