Лабораторна робота 7: Завантаження кластера etcd¶
Info
Це гілка розгалуження від оригінальної "Kubernetes the hard way", Келсі Хайтауера (GitHub: kelseyhightower). На відміну від оригіналу, який базується на дистрибутивах, подібних до Debian, для архітектури ARM64, ця гілка націлена на дистрибутиви Enterprise Linux, такі як Rocky Linux, який працює на архітектурі x86_64.
Компоненти Kubernetes не мають стану та зберігають стан кластера в etcd. У цій лабораторній роботі ви завантажите тривузловий кластер etcd і налаштуєте його для високої доступності та безпечного віддаленого доступу.
Передумови¶
Скопіюйте двійкові файли etcd і файли модуля systemd до примірника server:
scp \
  downloads/etcd-v3.4.36-linux-amd64.tar.gz \
  units/etcd.service \
  root@server:~/
Виконайте команди в наступних розділах цієї лабораторної роботи на машині server. Увійдіть на машину server за допомогою команди ssh. Приклад:
ssh root@server
Завантаження кластера etcd¶
Встановіть бінарні файли etcd¶
Якщо у вас його ще не встановлено, спочатку встановіть утиліту tar з dnf. Потім розпакуйте та встановіть сервер etcd і утиліту командного рядка etcdctl:
  dnf -y install tar
  tar -xvf etcd-v3.4.36-linux-amd64.tar.gz
  mv etcd-v3.4.36-linux-amd64/etcd* /usr/local/bin/
Налаштуйте сервер etcd¶
  mkdir -p /etc/etcd /var/lib/etcd
  chmod 700 /var/lib/etcd
  cp ca.crt kube-api-server.key kube-api-server.crt \
    /etc/etcd/
Кожен член etcd повинен мати унікальне ім’я в кластері etcd. Встановіть назву etcd так, щоб вона збігалася з назвою хоста поточного екземпляра обчислення:
Створіть файл блоку etcd.service systemd:
mv etcd.service /etc/systemd/system/
chmod 644 /etc/systemd/system/etcd.service
Примітка
Хоча це вважається поганою формою безпеки, вам, можливо, доведеться тимчасово або назавжди вимкнути SELinux, якщо у вас виникнуть проблеми із запуском служби `etcd` `systemd`. Правильним виправленням є дослідження та створення необхідних файлів політики за допомогою таких інструментів, як `ausearch`, `audit2allow` та інших.  
Команди усувають SELinux і вимикають його, виконавши наступне:
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
Запустіть сервер etcd¶
  systemctl daemon-reload
  systemctl enable etcd
  systemctl start etcd
Верифікація¶
Перелічіть членів кластера etcd:
etcdctl member list
6702b0a34e2cfd39, started, controller, http://127.0.0.1:2380, http://127.0.0.1:2379, false
Далі: Завантаження площини керування Kubernetes
Author: Wale Soyinka
Contributors: Steven Spencer, Ganna Zhyrnova