Перейти к содержанию

Baremetal

Заметка

Baremetal это тип инсталляции на серверы без использования интеграций с гипервизорами.

Предупреждение

Перед началом установки обязательно убедитесь, что вы прошли этот чек лист

Планирование инсталляции

Перед началом установки спланируйте инсталляцию. Базовые вопросы, на которые нужно ответить:

  • Хочу ли я контролировать, каким узлам будут назначены роли мастеров, а каким воркеров?
  • Каким образом я хочу организовать сетевой доступ к моему кластеру?

Я хочу контролировать роли, назначаемые серверам

Если для вас важно управлять процессом выбора серверов для определённых ролей (например, вы хотите размещать мастера на серверах с очень быстрой дисковой системой), мы предусмотрели механизм меток (labels).

Этот механизм позволяет отметить серверы ролями. Для его использования добавьте 2 параметра в конфигурационный файл и опцию host-agent.

Подробнее опция в конфигурационном файле описана в разделе Подготовка конфигурационного файла

Подробнее параметры host-agent описаны в разделе Подготовка ОС

Я хочу использовать внешнюю балансировку трафика для доступа к кластеру

Для того, чтобы использовать внешние балансировщики нагрузки, настройте их в режиме raw layer 4 на все worker узлы, поскольку Ingress контроллер устанавливается в режиме DaemonSet. Это значит, что любой из воркеров способен обрабатывать запросы, идущие в ваш кластер.

Далее настройте DNS-запись из конфигурации на IP адрес вашего балансировщика.

Я хочу поиграть с кластером, мне не интересно разбираться с балансировкой

Настройте DNS-запись из конфигурации (1) на любой из IP адресов worker узла, поскольку Ingress контроллер устанавливается в режиме DaemonSet. Это значит, что любой из воркеров способен обрабатывать запросы, идущие в ваш кластер.

  1. параметр ADDONS_RANCHER_WEBHOSTNAME будет описан в разделе "Подготовка конфигурационного файла"

Подготовка АРМ администратора

Заметка

АРМ администратора - неотъемлемая часть инфраструктурного кластера. Именно с него происходит обновление и управление вашей инфраструктурой.

Для успешной установки инфраструктурного кластера убедитесь, что АРМ администратора соответствует следующим условиям:

  • Установлен docker
  • Произведена авторизация в вашем регистри
  • АРМ администратора находится в одной сети с серверами, на которые будет производиться установка

Подготовка ОС

Перед началом установки подготовьте серверы, установив пакеты

  • iscsi-initiator-utils
  • socat
  • ebtables
  • ethtool
  • conntrack
  • nfs-utils

Затем установите host-agent боцмана из комплекта поставки.

В случае, если во время планирования инсталляции вы захотели управлять процессом выбора роли сервера, установите соответствующие метки. для всех будущих членов кластера выполните следующие действия

Подключитесь к серверу и измените systemd unit

nano /usr/lib/systemd/system/host-agent.service
Потом приведите строку ExecStart к следующему виду

ExecStart="/usr/bin/byoh-agent" --label role=master
Сохраните полученный результат и перезапустите агента
systemctl daemon-reload && systemctl restart host-agent

Подключитесь к серверу и измените systemd unit

nano /usr/lib/systemd/system/host-agent.service
Потом приведите строку ExecStart к следующему виду

ExecStart="/usr/bin/byoh-agent" --label role=worker
Сохраните полученный результат и перезапустите агента
systemctl daemon-reload && systemctl restart host-agent

Подготовка конфигурационного файла

Заметка

Параметры CONTROLPLANE_LABEL и WORKER_LABEL раскомментируйте в случае, если во время планирования установки вы решили управлять процессом выбора роли сервера

Создайте конфигурационный файл config рядом с бинарником bootsmanctl и скопируйте туда содержимое:

export LICENSE=
export ADDONS_RANCHER_WEBHOSTNAME=
export K8SCPIP=
export CURRENT_MACHINE_IP=
export HARBOR_CREDS_URL=
export HARBOR_CREDS_INSECURE=false
export HARBOR_CREDS_USER=
export HARBOR_CREDS_PASSWD=
export AIRGAP=
export ADDONS_RANCHER_BOOTSTRAPPASSWORD=""
export CONTROLPLANE_COUNT=
export WORKER_COUNT=

#export CONTROLPLANE_LABEL=master 
#export WORKER_LABEL=worker

Предупреждение

K8SCPIP - очень важный параметр. Это IP адрес, который будет использоваться как адрес kube-apiserver. Он обязательно должен быть в одной сети с адресами ваших серверов и должен находиться за пределами DHCP пула. Подробнее можно прочитать тут

Заполните этот файл

LICENSE - строка из файла license, который вы получили вместе с дистрибутивом

ADDONS_RANCHER_WEBHOSTNAME - URL, по которому будет доступен web портал платформы

K8SCPIP - IP адрес, по которому будет отзываться kube-apiserver. Подробности

CURRENT_MACHINE_IP - IP адрес АРМ администратора

HARBOR_CREDS_URL - URL вашего регистри

HARBOR_CREDS_INSECURE - служебный параметр, всегда будет false

HARBOR_CREDS_USER - имя пользователя в регистри (1)

HARBOR_CREDS_PASSWD - пароль от регистри (2)

AIRGAP - режим установки

ADDONS_RANCHER_BOOTSTRAPPASSWORD - первоначальный пароль от web портала

CONTROLPLANE_COUNT - количество мастеров (3)

WORKER_COUNT - количество воркеров (4)

  1. Имя пользователя не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры
  2. Пароль не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры
  3. Может принимать значения 3 или 5
  4. Должно быть >=3

Пример заполненного файла конфигурации:

export  LICENSE=eyJhbGciOiJFZERTQSIsopkljlyuO098790uokjkLKJHKJGJHYu87hlIkpXVCIsInZlcnNpb24iOjV9eyJjbGllbnRJZCI6MjQsImNsaWVudE5hbWUiOiJTb3Zjb21iYW5rIiwiY29udHJhY3RJZCI6I jAwMDAiLCJleHAiOiIyMDIzLTEyLTEyVDAwOjAwOjAwWiIsImhhcmJvclVzZXIiOiJoYXJib3JVc2VyIiwiaWF0asdasdasdasfaew3easfdasdasdadgtawerq23413414adzbZXvLHLKJHFJFHFHKOyituyryu fhKJJJIfhfjgklkasdyiyoOIYIigkjbjJFHURUHfjb,kOjAwOjAwWiIsInR5cGUiOiJwcmVtaXVtIiwic3ViIjoiQm9vdHNtYW4gdjIifQ.  Gwokj0KL9RTjJ8XB5IVxsEqQG_wBByVsQNyjz_GRMsyXCof4xzu2notjfyIW2zpQlLA8dlhbWiWA2lhJ7RQ4Bg
export CURRENT_MACHINE_IP=10.0.149.111
export ADDONS_RANCHER_WEBHOSTNAME=rancher.redos-v21-ag.dev.stsoft.lan
export K8SCPIP=10.0.149.30
export HARBOR_CREDS_URL=redos-quay.stsoft.lan/bootsman-v210
export HARBOR_CREDS_INSECURE=false
export HARBOR_CREDS_USER=demo
export HARBOR_CREDS_PASSWD=demo
export AIRGAP=true
export ADDONS_RANCHER_BOOTSTRAPPASSWORD="somePassword123$"
export CONTROLPLANE_COUNT=3
export WORKER_COUNT=3
export CONTROLPLANE_LABEL=master
export WORKER_LABEL=worker
export  LICENSE=eyJhbGciOiJFZERTQSIsopkljlyuO098790uokjkLKJHKJGJHYu87hlIkpXVCIsInZlcnNpb24iOjV9eyJjbGllbnRJZCI6MjQsImNsaWVudE5hbWUiOiJTb3Zjb21iYW5rIiwiY29udHJhY3RJZCI6I jAwMDAiLCJleHAiOiIyMDIzLTEyLTEyVDAwOjAwOjAwWiIsImhhcmJvclVzZXIiOiJoYXJib3JVc2VyIiwiaWF0asdasdasdasfaew3easfdasdasdadgtawerq23413414adzbZXvLHLKJHFJFHFHKOyituyryu fhKJJJIfhfjgklkasdyiyoOIYIigkjbjJFHURUHfjb,kOjAwOjAwWiIsInR5cGUiOiJwcmVtaXVtIiwic3ViIjoiQm9vdHNtYW4gdjIifQ.  Gwokj0KL9RTjJ8XB5IVxsEqQG_wBByVsQNyjz_GRMsyXCof4xzu2notjfyIW2zpQlLA8dlhbWiWA2lhJ7RQ4Bg
export CURRENT_MACHINE_IP=10.0.149.111
export ADDONS_RANCHER_WEBHOSTNAME=rancher.redos-v21-ag.dev.stsoft.lan
export K8SCPIP=10.0.149.30
export HARBOR_CREDS_URL=harbor.bootsman.host/bootsman-nimbus/common-artifacts
export HARBOR_CREDS_INSECURE=false
export HARBOR_CREDS_USER=demo
export HARBOR_CREDS_PASSWD=demo
export AIRGAP=true
export ADDONS_RANCHER_BOOTSTRAPPASSWORD="somePassword123$"
export CONTROLPLANE_COUNT=3
export WORKER_COUNT=3
export CONTROLPLANE_LABEL=master
export WORKER_LABEL=worker

Установка

Перед запуском установки экспортируйте конфигурацию

source config
Далее запустите установку

./bootsmanctl management create test-cluster -i byoh
Вывод успешного выполнения инсталляции должен оканчиваться следующей строкой

2023-09-10T17:49:46Z | INFO  | finished

Доступ в интерфейс

После окончания установки определите IP адрес любого воркера и внесите его в конфиг DNS-сервера. Перейдите в web-панель платформы по адресу, который указывали в конфигурационном файле. (1) Откроется простенький визард настройки с запросом пароля, который указывали в конфиге. (2)

Вы авторизовались под пользователем admin. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.

  1. ADDONS_RANCHER_WEBHOSTNAME
  2. ADDONS_RANCHER_BOOTSTRAPPASSWORD