Установка#

Все шаги, приведенные в этой инструкции, описывают последовательность действий для установки 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 происходит одним способом в четыре этапа:

  1. Подготовка к установке (обязательный)

  2. Запуск bootstrap сервера (обязательный)

  3. Запуск кластера DropApp Plus (обязательный)

  4. Добавление worker nodes с Platform V SberLinux (опциональный)

Последовательность установки DropApp Plus

Последовательность установки DropApp Plus.

Подготовка к установке (обязательный)#

Последовательность действий#

Предварительные шаги для установки DropApp Plus указаны в разделе Подготовка окружения.

Проверка результата#

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

  • выполнена подготовка окружения;

  • создана виртуальная node;

  • подключен ISO Platform V SberLinux OS Core;

  • установлена загрузка виртуальной node с ISO.

Запуск bootstrap сервера (обязательный)#

Последовательность действий#

  1. Включите виртуальную node и загрузитесь с ISO. По умолчанию доступен пользователь core без пароля.

  2. Включите вход по SSH без пароля, отредактировать файл /etc/ssh/sshd_config и присвоить PasswordAuthentication значение yes:

    sudo nano /etc/ssh/sshd_config
    
  3. Перезапустите sshd:

    sudo systemctl restart sshd
    
  4. Задайте пароль для пользователя core:

    sudo passwd core
    
  5. Подключитесь к серверу по 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-файл и подготовит диск.

  6. После сообщения от установщика, что диск готов, перезагрузите сервер. Установка начнется автоматически при следующей загрузке сервера.

  7. Далее bootstrap сервер начнет загрузку образов для запуска минимального кластера.

    Установка займет 10-15 минут.

Проверка результата#

Убедитесь, что bootstrap сервер готов. На балансировщике будут доступны порты TCP:22623 и TCP:6443.

sudo nano /etc/ssh/sshd_config

Запуск кластера DropApp Plus (обязательный)#

Аналогично запуску bootstrap сервера подготовьте master и worker серверы:

Последовательность действий#

  1. Выполните загрузку с ISO-образа.

  2. Включите вход ssh по паролю.

  3. Перезагрузите sshd.

  4. Задайте пароль для пользователя core.

  5. Выполните подключение по 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 хеш, полученный на этапе подготовки окружения.

  6. Выполните подключение по ssh и запустите установку на worker nodes:

    sudo coreos-installer install --ignition-url=http://NN.NN.NN.NN:8080/worker.ign /dev/sda --ignition-hash=sha512-ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ
    
  7. Последовательно перезагрузите серверы master1, master2, master3, worker1, worker2. После перезагрузки начнется процесс установки кластера на master nodes.

  8. Для добавления worker nodes в кластер выполните команду:

    oc get csr -ojson | jq -r '.items[] | select(.status == {} ) | .metadata.name' | xargs oc adm certificate approve
    

Установка займет 15-20 минут.

Проверка результата#

Убедитесь, что bootstrap сервер готов. На балансировщике будет выключен bootstrap, и начнут отвечать master и worker серверы.

  1. Проверьте список операторов кластера:

    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
    
  2. Проверьте статус 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.

Последовательность действий#

  1. Чтобы настроить sudo без пароля, выполните команду:

    sudo visudo
    
  2. В открывшейся конфигурации закомментируйте %wheel ALL=(ALL) ALL.

  3. Раскомментируйте %wheel ALL=(ALL) NOPASSWD: ALL

  4. Подключите репозитории из файлов 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
    

Проверка результата#

После выполнения последовательности будут подключены репозитории.