Etcd для SUSE¶
В текущий момент пакет для etcd3 в дистрибутиве недоступен. В этом руководстве мы используем инсталляцию из tar архива, как временный вариант, пока в дистрибутиве не появится пакет.
Сервис etcd работает на ноде контроллера.
Установите и сконфигурируйте компоненты¶
Установите etcd:
Создайте пользователя etcd:
# groupadd --system etcd # useradd --home-dir "/var/lib/etcd" \ --system \ --shell /bin/false \ -g etcd \ etcd
Создайте необходимые директории:
# mkdir -p /etc/etcd # chown etcd:etcd /etc/etcd # mkdir -p /var/lib/etcd # chown etcd:etcd /var/lib/etcd
Определите архитектуру вашей системы:
# uname -m
Скачайте tar архив и установите etcd для x86_64/amd64:
# ETCD_VER=v3.2.7 # rm -rf /tmp/etcd && mkdir -p /tmp/etcd # curl -L \ https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz \ -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz # tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz \ -C /tmp/etcd --strip-components=1 # cp /tmp/etcd/etcd /usr/bin/etcd # cp /tmp/etcd/etcdctl /usr/bin/etcdctl
Или скачайте tar архив и установите etcd для arm64:
# ETCD_VER=v3.2.7 # rm -rf /tmp/etcd && mkdir -p /tmp/etcd # curl -L \ https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-arm64.tar.gz \ -o /tmp/etcd-${ETCD_VER}-linux-arm64.tar.gz # tar xzvf /tmp/etcd-${ETCD_VER}-linux-arm64.tar.gz \ -C /tmp/etcd --strip-components=1 # cp /tmp/etcd/etcd /usr/bin/etcd # cp /tmp/etcd/etcdctl /usr/bin/etcdctl
Создайте и отредактируйте файл
/etc/etcd/etcd.conf.yml
задав опцииinitial-cluster
,initial-advertise-peer-urls
,advertise-client-urls
,listen-client-urls
как IP адресс менеджмент сети ноды контроллера чтобы обеспечить доступ других нод по менеджмент сети:name: controller data-dir: /var/lib/etcd initial-cluster-state: 'new' initial-cluster-token: 'etcd-cluster-01' initial-cluster: controller=http://10.0.0.11:2380 initial-advertise-peer-urls: http://10.0.0.11:2380 advertise-client-urls: http://10.0.0.11:2379 listen-peer-urls: http://0.0.0.0:2380 listen-client-urls: http://10.0.0.11:2379
Создайте и отредактируйте файл
/usr/lib/systemd/system/etcd.service
:[Unit] After=network.target Description=etcd - highly-available key value store [Service] # Uncomment this on ARM64. # Environment="ETCD_UNSUPPORTED_ARCH=arm64" LimitNOFILE=65536 Restart=on-failure Type=notify ExecStart=/usr/bin/etcd --config-file /etc/etcd/etcd.conf.yml User=etcd [Install] WantedBy=multi-user.target
Перезагрузите файлы конфигурации сервиса systemd:
# systemctl daemon-reload
Завершите установку¶
Разрешите и запустите сервис etcd:
# systemctl enable etcd # systemctl start etcd