Установка#
Все шаги, приведенные в этой инструкции, описывают последовательность действий для установки DropApp Plus.
Порядок установки#
При установке кластера возможно использовать два подхода IPI (installer-provisioned install) и UPI (user-provisioned install). Для cloude возможно использовать только UPI. IPI - настройка хостов производится автоматически. UPI - настройка хостов производится вручную. Есть два варианта установки хостов, загрузка с Live-ISO образов и установка с загрузкой по PXE. В данном руководстве используется загрузка с Live-ISO.
На всех хостах кластера используется ОС Platform V SberLinux OS Core.
Установка DropApp Plus происходит одним способом в четыре этапа:

Последовательность установки DropApp Plus.
Подготовка к установке (обязательный)#
Последовательность действий#
Предварительные шаги для установки DropApp Plus указаны в разделе Подготовка окружения.
Проверка результата#
Перед началом установки убедитесь, что выполнены предварительные шаги:
выполнена подготовка окружения;
создана виртуальная node;
подключен ISO Platform V SberLinux OS Core;
установлена загрузка виртуальной node с ISO.
Запуск bootstrap сервера (обязательный)#
Последовательность действий#
Включите виртуальную node и загрузитесь с ISO. По умолчанию доступен пользователь core без пароля.
Включите вход по SSH без пароля, отредактировать файл
/etc/ssh/sshd_configи присвоитьPasswordAuthenticationзначениеyes:sudo nano /etc/ssh/sshd_configПерезапустите
sshd:sudo systemctl restart sshdЗадайте пароль для пользователя core:
sudo passwd coreПодключитесь к серверу по SSH от имени пользователя core и запустите установку:
sudo coreos-installer install --ignition-url=http://NN.NN.NN.NN:8080/bootstrap.ign /dev/sda --ignition-hash=sha512-ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХгде:
--ignition-url- ссылка на ignition-файл расположенный на вспомогательном сервере;/dev/sda- блочное устройство для установки дистрибутива;--ignition-hash- sha512 хеш, полученный на этапе подготовки окружения.
В результате выполнения команды установщик загрузит ignition-файл и подготовит диск.
После сообщения от установщика, что диск готов, перезагрузите сервер. Установка начнется автоматически при следующей загрузке сервера.
Далее bootstrap сервер начнет загрузку образов для запуска минимального кластера.
Установка займет 10-15 минут.
Проверка результата#
Убедитесь, что bootstrap сервер готов. На балансировщике будут доступны порты TCP:22623 и TCP:6443.
sudo nano /etc/ssh/sshd_config
Запуск кластера DropApp Plus (обязательный)#
Аналогично запуску bootstrap сервера подготовьте master и worker серверы:
Последовательность действий#
Выполните загрузку с ISO-образа.
Включите вход ssh по паролю.
Перезагрузите sshd.
Задайте пароль для пользователя core.
Выполните подключение по ssh и запустите установку master nodes:
sudo coreos-installer install --ignition-url=http://NN.NN.NN.NN:8080/master.ign /dev/sda --ignition-hash=sha512-ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХгде:
--ignition-url- ссылка на ignition-файл расположенный на вспомогательном сервере;/dev/sda- блочное устройство для установки дистрибутива;--ignition-hash- sha512 хеш, полученный на этапе подготовки окружения.
Выполните подключение по ssh и запустите установку на worker nodes:
sudo coreos-installer install --ignition-url=http://NN.NN.NN.NN:8080/worker.ign /dev/sda --ignition-hash=sha512-ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХПоследовательно перезагрузите серверы master1, master2, master3, worker1, worker2. После перезагрузки начнется процесс установки кластера на master nodes.
Для добавления worker nodes в кластер выполните команду:
oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve
Установка займет 15-20 минут.
Проверка результата#
Убедитесь, что bootstrap сервер готов. На балансировщике будет выключен bootstrap, и начнут отвечать master и worker серверы.
Проверьте список операторов кластера:
oc get coПример вывода:
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE authentication 4.8.57-dropappplus-2.0.1 True False False 4m28s baremetal 4.8.57-dropappplus-2.0.1 True False False 19h cloud-credential 4.8.57-dropappplus-2.0.1 True False False 20h cluster-autoscaler 4.8.57-dropappplus-2.0.1 True False False 19h config-operator 4.8.57-dropappplus-2.0.1 True False False 19h console 4.8.57-dropappplus-2.0.1 True False False 4m22s csi-snapshot-controller 4.8.57-dropappplus-2.0.1 True False False 19h dns 4.8.57-dropappplus-2.0.1 True False False 19h etcd 4.8.57-dropappplus-2.0.1 True False False 19h image-registry 4.8.57-dropappplus-2.0.1 True False False 19h ingress 4.8.57-dropappplus-2.0.1 True False False 3m52s insights 4.8.57-dropappplus-2.0.1 True False False 19h kube-apiserver 4.8.57-dropappplus-2.0.1 True False False 19h kube-controller-manager 4.8.57-dropappplus-2.0.1 True False False 19h kube-scheduler 4.8.57-dropappplus-2.0.1 True False False 19h kube-storage-version-migrator 4.8.57-dropappplus-2.0.1 True False False 19h machine-api 4.8.57-dropappplus-2.0.1 True False False 19h machine-approver 4.8.57-dropappplus-2.0.1 True False False 19h machine-config 4.8.57-dropappplus-2.0.1 True False False 19h marketplace 4.8.57-dropappplus-2.0.1 True False False 19h monitoring 4.8.57-dropappplus-2.0.1 True False False 18h network 4.8.57-dropappplus-2.0.1 True False False 19h node-tuning 4.8.57-dropappplus-2.0.1 True False False 18h openshift-apiserver 4.8.57-dropappplus-2.0.1 True False False 4m29s openshift-controller-manager 4.8.57-dropappplus-2.0.1 True False False 19h openshift-samples 4.8.57-dropappplus-2.0.1 True False False 19h operator-lifecycle-manager 4.8.57-dropappplus-2.0.1 True False False 19h operator-lifecycle-manager-catalog 4.8.57-dropappplus-2.0.1 True False False 19h operator-lifecycle-manager-packageserver 4.8.57-dropappplus-2.0.1 True False False 19h service-ca 4.8.57-dropappplus-2.0.1 True False False 19h storage 4.8.57-dropappplus-2.0.1 True False False 19hПроверьте статус nodes в кластере:
oc get nodesПример вывода:
NAME STATUS ROLES AGE VERSION master1.test.dplus.un.sbt Ready master 19h v1.21.14+a17bdb3 master2.test.dplus.un.sbt Ready master 19h v1.21.14+a17bdb3 master3.test.dplus.un.sbt Ready master 19h v1.21.14+a17bdb3 worker1.test.dplus.un.sbt Ready worker 19h v1.21.14+a17bdb3 worker2.test.dplus.un.sbt Ready worker 19h v1.21.14+a17bdb3
Добавление worker nodes с Platform V SberLinux (опциональный)#
данная инструкция актуальна для настройки узлов Platform V SberLinux OS Core и Platform V SberLinux OS Server.
Цель выполнения#
Данный шаг выполняется при необходимости горизонтального масштабирования кластера.
Предварительные условия#
доступен дистрибутив Platform V SberLinux;
доступна учетная запись с правами root;
доступен и настроен без пароля вход с ролью sudo;
настроены репозитории с пакетами DropApp Plus.
Последовательность действий#
Чтобы настроить sudo без пароля, выполните команду:
sudo visudoВ открывшейся конфигурации закомментируйте
%wheel ALL=(ALL) ALL.Раскомментируйте
%wheel ALL=(ALL) NOPASSWD: ALLПодключите репозитории из файлов
sberlinux.repoиdapp.repo,где содержимое файла
sberlinux.repo:sberlinux.repo
[BaseOS-src] name=SberLinux 8.10.0 - BaseOS src baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-baseos-source-rpms # Путь к каталогу packages gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [BaseOS-bin] name=SberLinux 8.10.0 - BaseOS bin baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-baseos-rpms gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [BaseOS-dbg] name=SberLinux 8.10.0 - BaseOS dbg baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-baseos-debug-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [AppStream-src] name=SberLinux 8.10.0 - AppStream src baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-appstream-source-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [AppStream-dbg] name=SberLinux 8.10.0 - AppStream dbg baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-appstream-debug-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [AppStream-bin] name=SberLinux 8.10.0 - AppStream bin baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-appstream-rpms gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [PowerTools-src] name=SberLinux 8.10.0 - PowerTools src baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-powertools-source-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [PowerTools-dbg] name=SberLinux 8.10.0 - PowerTools dbg baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-powertools-debug-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [PowerTools-bin] name=SberLinux 8.10.0 - PowerTools bin baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-powertools-rpms gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [HighAvailability-src] name=SberLinux 8.10.0 - HighAvailability src baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-highavailability-source-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [HighAvailability-dbg] name=SberLinux 8.10.0 - HighAvailability dbg baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-highavailability-debug-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [HighAvailability-bin] name=SberLinux 8.10.0 - HighAvailability bin baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-highavailability-rpms gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [ResilientStorage-src] name=SberLinux 8.10.0 - ResilientStorage src baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-resilientstorage-source-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [ResilientStorage-dbg] name=SberLinux 8.10.0 - ResilientStorage dbg baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-resilientstorage-debug-rpms gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [ResilientStorage-bin] name=SberLinux 8.10.0 - ResilientStorage bin baseurl=http://<parth>/sberlinux/8/sberlinux-8-for-x86_64-resilientstorage-rpms gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-SberTech-System-Tribe [rhel-8-for-x86_64-EPEL8-rpms] name=rhel-8-for-x86_64-EPEL8-rpms baseurl=http://<parth>/altlinux_trusted_repo/rhel/el8/rhel-extras/EPEL8 gpgcheck=0 enabled=1содержимое файла
dapp.repo:dapp.repo
[dappplus-sl8-dev] baseurl = http://<parth>/dappplus-sl8-dev/15409/x86_64/ # Укажите фактический путь до пакетов enabled = 1 gpgcheck = 0 name = dappplus-sl8-dev [sbel8] baseurl = http://<parth>/repos-dist/sbcos8/15413/x86_64/ enabled = 1 gpgcheck = 0 name = sbel8
Проверка результата#
После выполнения последовательности будут подключены репозитории.