Перейти до змісту

Лабораторна робота 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