Скидка 50% на все тарифы, ограниченное время. От $2.48/mo
etcd

etcd

etcd — распределённое хранилище типа «ключ-значение». Основа Kubernetes, Consul и CoreOS: обеспечивает надёжный консенсус между узлами через протокол Raft. Проект с открытым исходным кодом, написанный на Go — стандартный выбор для обнаружения сервисов и распределённой конфигурации.

Версия

v3.6.9

Операционная система

Сервер Ubuntu 24.04 LTS

Мин. RAM

1 GB

Типы IP

IPV4,IPV6

Обзор сервиса

  • Системный пользователь: etcd
  • Имя узла по умолчанию: генерируется автоматически etcd-<timestamp>
  • Файл конфигурации: /etc/etcd/etcd.yml
  • Директория данных: /var/lib/etcd
  • Бинарные файлы: /usr/local/bin/etcd, /usr/local/bin/etcdctl, и /usr/local/bin/etcdutl
  • Уровень логирования: debug

Сеть и порты

  • Клиентский трафик: http://localhost:2379
  • Трафик между узлами: http://localhost:2380
  • По умолчанию доступен только локально (привязка к localhost)

Управление через Systemd

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

Основные команды

# 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

Резервное копирование и восстановление

Создать снапшот (сохранить текущее состояние etcd в файл):

etcdctl snapshot save /root/etcd-backup.db

Проверить статус снапшота:

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

Остановить сервис etcd во избежание конфликтов:

systemctl stop etcd

Очистить содержимое директории данных:

rm -rf /var/lib/etcd/*

Восстановить снапшот:

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

Убедиться в корректности прав доступа:

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

Запустить сервис etcd снова:

systemctl start etcd

Примечания

  • По умолчанию запускается одноузловой кластер — подходит для разработки и тестирования.
  • Настроен уровень логирования debug.
  • Для production-окружения включите TLS для клиентского и межузлового взаимодействия.
  • Рекомендуется настроить многоузловой кластер для обеспечения высокой доступности.
  • Ограничьте доступ к портам 2379 (клиент) и 2380 (peer) только для доверенных хостов с помощью правил брандмауэра.
  • Измените /etc/etcd/etcd.yml для расширенной настройки и перезапустите etcd сервис, чтобы применить изменения.
  • Всегда делайте резервную копию данных перед выполнением деструктивных операций (удаление/восстановление/сжатие).
  • Убедитесь, что /var/lib/etcd принадлежит etcd:etcd; неверные права доступа могут помешать запуску etcd после восстановления или изменения данных.

Другие инструменты для работы с базами данных

Похожие приложения.

Развернуть etcd. От $2.48/мес.