Etcd что это такое
Etcd – это простое, надежное, быстрое и безопасное хранилище ключей с открытым исходным кодом, написанное на Go.
Он использует алгоритм консенсуса Raft для управления реплицируемым журналом высокой доступности.
В этом руководстве мы установим один узел (один член) и т. д. В Ubuntu 18.04 / Ubuntu 16.04.
Установка etcd на Ubuntu 18.04 / Ubuntu 16.04
Etcd распространяется как бинарный пакет, хотя вы можете собрать его из исходного кода.
В этом руководстве мы собираемся скачать готовый двоичный пакет.
Проверьте предварительно собранные двоичные файлы выпуска, прежде чем продолжить, чтобы получить последний тег выпуска.
Загрузите последнюю версию etcd на Ubuntu 18.04 / Ubuntu 16.04:
sudo apt -y install wget export RELEASE="3.3.10" wget https://github.com/etcd-io/etcd/releases/download/v${RELEASE}/etcd-v${RELEASE}-linux-amd64.tar.gz
Распакуйте скачанный архивный файл.
tar xvf etcd-v${RELEASE}-linux-amd64.tar.gz
Перейдите в новый каталог файлов
cd etcd-v${RELEASE}-linux-amd64
Переместите двоичные файлы etcd и etcdctl в каталог /usr/local/bin.
sudo mv etcd etcdctl /usr/local/bin
Подтвердите версию.
$ etcd --version etcd Version: 3.3.10 Git SHA: 27fc7e2 Go Version: go1.10.4 Go OS/Arch: linux/amd64
Создайте конфигурационный файл Etcd и каталог данных.
sudo mkdir -p /var/lib/etcd/ sudo mkdir /etc/etcd
Создайте системного пользователя etcd
sudo groupadd --system etcd sudo useradd -s /sbin/nologin --system -g etcd etcd
Установите для /var/lib/etcd/ владельца пользователя etcd.
sudo chown -R etcd:etcd /var/lib/etcd/
Настройте Systemd и запустите службу etcd
Создайте новый файл службы systemd для etcd.
sudo vim /etc/systemd/system/etcd.service
Вставьте данные в файл.
[Unit]
Description=etcd key-value store
Documentation=https://github.com/etcd-io/etcd
After=network.target
[Service]
User=etcd
Type=notify
Environment=ETCD_DATA_DIR=/var/lib/etcd
Environment=ETCD_NAME=%m
ExecStart=/usr/local/bin/etcd
Restart=always
RestartSec=10s
LimitNOFILE=40000
[Install]
WantedBy=multi-user.target
Перезагрузите сервис systemd и запустите etcd на Ubuntu 18,04 / Ubuntu 16,04
sudo systemctl daemon-reload sudo systemctl start etcd.service
Проверьте его статус
$ sudo systemctl status etcd.service ● etcd.service - etcd key-value store Loaded: loaded (/etc/systemd/system/etcd.service; disabled; vendor preset: enabled) Active: active (running) since Sat 2019-01-05 00:54:20 EAT; 23s ago Docs: https://github.com/etcd-io/etcd Main PID: 8792 (etcd) Tasks: 13 (limit: 4915) CGroup: /system.slice/etcd.service └─8792 /usr/local/bin/etcd Ama 05 00:54:20 mynix etcd[8792]: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 2 Ama 05 00:54:20 mynix etcd[8792]: 8e9e05c52164694d became leader at term 2 Ama 05 00:54:20 mynix etcd[8792]: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 2 Ama 05 00:54:20 mynix etcd[8792]: setting up the initial cluster version to 3.3 Ama 05 00:54:20 mynix etcd[8792]: set the initial cluster version to 3.3 Ama 05 00:54:20 mynix etcd[8792]: enabled capabilities for version 3.3 Ama 05 00:54:20 mynix etcd[8792]: ready to serve client requests Ama 05 00:54:20 mynix etcd[8792]: published {Name:5fbf3d068d6c491eb687a7a427fc2263 ClientURLs:[http://localhost:2379]} to cluster cdf818194e3a8c32 Ama 05 00:54:20 mynix systemd[1]: Started etcd key-value store. Ama 05 00:54:20 mynix etcd[8792]: serving insecure client requests on 127.0.0.1:2379, this is strongly discouraged!
Служба запустится на локальный порт 2379
$ ss -tunelp | grep 2379 tcp LISTEN 0 128 127.0.0.1:2379 0.0.0.0:* uid:998 ino:72981 sk:45c <-> $ etcdctl member list 8e9e05c52164694d: name=5fbf3d068d6c491eb687a7a427fc2263 peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true
В нашем следующем уроке я расскажу о настройке кластера Etcd в Ubuntu 18.04 / Ubuntu 16.04.