Baremetal
Заметка
Baremetal это тип инсталляции на серверы без использования интеграций с гипервизорами.
Предупреждение
Перед началом установки обязательно убедитесь, что вы прошли этот чек лист
Планирование инсталляции
Перед началом установки спланируйте инсталляцию. Базовые вопросы, на которые нужно ответить:
- Хочу ли я контролировать, каким узлам будут назначены роли мастеров, а каким воркеров?
- Каким образом я хочу организовать сетевой доступ к моему кластеру?
Я хочу контролировать роли, назначаемые серверам
Если для вас важно управлять процессом выбора серверов для определённых ролей (например, вы хотите размещать мастера на серверах с очень быстрой дисковой системой), мы предусмотрели механизм меток (labels).
Этот механизм позволяет отметить серверы ролями. Для его использования добавьте 2 параметра в конфигурационный файл и опцию host-agent.
Подробнее опция в конфигурационном файле описана в разделе Подготовка конфигурационного файла
Подробнее параметры host-agent описаны в разделе Подготовка ОС
Я хочу использовать внешнюю балансировку трафика для доступа к кластеру
Для того, чтобы использовать внешние балансировщики нагрузки, настройте их в режиме raw layer 4 на все worker узлы, поскольку Ingress контроллер устанавливается в режиме DaemonSet. Это значит, что любой из воркеров способен обрабатывать запросы, идущие в ваш кластер.
Далее настройте DNS-запись из конфигурации на IP адрес вашего балансировщика.
Я хочу поиграть с кластером, мне не интересно разбираться с балансировкой
Настройте DNS-запись из конфигурации (1) на любой из IP адресов worker узла, поскольку Ingress контроллер устанавливается в режиме DaemonSet. Это значит, что любой из воркеров способен обрабатывать запросы, идущие в ваш кластер.
- параметр 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="/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="/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)
- Имя пользователя не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры
- Пароль не поддерживает спецсимволы, пожалуйста, используйте только латинские буквы и цифры
- Может принимать значения 3 или 5
- Должно быть >=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. Далее рекомендуем сменить этот пароль с помощью стандартного меню управления пользователями.
- ADDONS_RANCHER_WEBHOSTNAME
- ADDONS_RANCHER_BOOTSTRAPPASSWORD