Skip to content

Database - Etcd

Install

Download bin from github repository:

etcd_version=3.5.1

# Download package
curl -LO https://github.com/etcd-io/etcd/releases/download/v${etcd_version}/etcd-v${etcd_version}-linux-amd64.tar.gz

# Decompress files
tar -xzvf etcd-v${etcd_version}-linux-amd64.tar.gz

# Copy bin to /usr/local/bin path
sudo mv etcd-v${etcd_version}-linux-amd64/etcd* /usr/local/bin

Create systemd service:

# /etc/systemd/system/etcd.service
[Unit]
Description="Etcd database"

[Service]
User=root
ExecStart=/usr/local/bin/etcd \
  --name=db \
  --data-dir=/var/lib/etcd
Restart=always

[Install]
WantedBy=multi-user.target

Enable service:

systemctl enable --now etcd

Commands

Export etcd API version:

export ETCDCTL_API=3

Global

Get etcd version:

etcdctl version

Health of endpoints:

etcdctl endpoint health

Status of endpoints:

etcdctl endpoint status

Actions

Create key:

etcdctl put {key} {value}
# Ex: etcdctl put plop ploppy

Display key:

etcdctl get [ {key} | --prefix {key-prefix} (--limit={limit}) ] (--print-value-only)
# Examples:
#   Return plop key:
#     etcdctl get plop
#
#   Return all keys start with plop:
#     etcdctl get --prefix plop
#
#   Return 2 first keys start with plop:
#     etcdctl get --prefix plop --limit=2

Delete key:

etcdctl del [ {key} ({other-key}) | --prefix {key-prefix} ]
# Ex: etcdctl del key1 key2
Back to top