Установка в Kubernetes#

Установку в Kubernetes можно проводить следующими способами:

  • в ручном режиме;

  • в автоматическом режиме.

Для установки необходимо иметь доступ к namespace.

Установка происходит без опциональных зависимостей (istio, OTT, Аудит, Secret Management System).

Установка в ручном режиме#

Для установки необходимо выполнить все этапы установки.

  1. Подключение к Kubernetes

    Для подключения выполните следующие действия:

    • откройте UI Kubernetes;

    • в меню выбора namespace – выберите namespace.

  2. Создание secret

    Создание secret необходимо для выгрузки докер образов из registry.

    • Создайте файл config.base64;

      Тело файла

    {
       "auths": {
               "dz...": {
                       "auth": "<Укакжите auth base64>"
               }
       }
     }
    

    Auth base64 - сконвертированный в формат base64 login:password.

    • Создайте файл secret.yaml;

      Тело файла

    kind: Secret
    apiVersion: v1
    metadata:
     name: costcalc
     namespace: <Укажите наименование namespace>
    data:
     .dockerconfigjson: >-
     <Укажите config base64>
    type: kubernetes.io/dockerconfigjson 
    

    Сonfig base64 – сконвертированное в формат base64 содержимое файла config.base64.

    • Перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса кнопкой +;

    • Выберите формат ввода информации;

    • Добавьте в namespace содержимое файла secret.yaml;

    • Подтвердите сохранение информации кнопкой Upload.

  3. Настройка secrets для подключения к DB

    • Создайте файл;

      Тело файла

    kind: Secret
    apiVersion: v1
    metadata:
    name: secret-szux
    namespace: c
    data:
    szux_bh_extra_java_opts: >-
    <Укажите password to base64>
    type: Opaque 
    

    Password to base64 – сконвертированный в формат base64 пароль пользователя для подключения к db Postgres.

    • Перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса кнопкой +;

    • Выберите формат ввода информации;

    • Добавьте в namespace содержимое файла;

    • Подтвердите сохранение информации кнопкой Upload.

  4. Deploy szux-bh

Для Deploy szux-bh необходимо:

  • загрузите файл СonfigMap szux-bh-config:

    • скопируйте файл из дистрибутива СonfigMap -> szux-bh-config;

    • отредактируйте < stand id >, < namespace >, < host DB Postgres >, < port DB Postgres >, < name DB Postgres >;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload.

    Тело файла

  kind: ConfigMap
  apiVersion: v1
  metadata:
   name: szux-bh-config-< Укажите stand id >
   namespace: <Укажите namespace>
  data:
   JAVA_OPTS: >-
    -Dfile.encoding=UTF-8

    -Dspring.datasource.url=jdbc:postgresql://<Укажите host DB Postgres>:<Укажите port DB Postgres>/<Укажите name DB Postgres>

    -Dspring.datasource.username=sizing

    -Dspring.datasource.platform=postgres

    -Dspring.datasource.driver-class-name=org.postgresql.Driver

    -Dspring.jpa.properties.hibernate.format_sql=true

    -Dspring.jpa.properties.hibernate.default_schema=sizing

    -Dspring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

    -Dspring.jpa.properties.hibernate.event.merge.entity_copy_observer=allow

    -Dspring.profiles.active=dev 

Stand id – префикс стенда, например, dev.

  • разверните szux-bh:

    • скопируйте файл из дистрибутива szux-bh → dc.yaml;

    • отредактируйте параметры переменных, описанных в дистрибутиве config/paremetrs/;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload;

    • перейдите в раздел Pods и дождитесь развертывания (Status= running) pod szux-bh-<stand.id>.

  • deploy szux-bh:

    • скопируйте файл из дистрибутива szux-bh → service.yaml;

    • отредактируйте параметры переменных, описанных в дистрибутиве config/paremetrs/;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload.

  1. Deploy szux-pl

Для Deploy szux-pl необходимо:

  • загрузите файл СonfigMap szux-pl-config:

    • скопируйте файл из дистрибутива Сonfig Map → szux-pl-config;

    • отредактируйте параметры переменных, описанных в дистрибутиве config/paremetrs/;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload.

  • разверните szux-pl:

    • скопируйте файл из дистрибутива szux-pl → dc.yaml;

    • отредактируйте параметры переменных, описанных в дистрибутиве config/paremetrs/;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload;

    • перейдите в раздел Pods и дождитесь развертывания (Status= running) pod szux-pl-<stand.id>.

  • deploy szux-pl:

    • скопируйте файл из дистрибутива szux-pl → service.yaml;

    • отредактируйте параметры переменных, описанных в дистрибутиве config/paremetrs/;

    • перейдите в UI Kubernetes и нажмите кнопку добавления нового ресурса +;

    • выберите формат ввода информации;

    • добавьте в namespace содержимое файлов;

    • подтвердите сохранение информации кнопкой Upload.

Установка в автоматическом режиме#

Установка дистрибутива производится с помощью компонента CDJE продукта Platform V DevOps Tools.

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

Для установки необходимо выполнить все этапы:

  1. Миграция конфигурационных файлов.

    • Откройте ПО Jenkins;

    • Выберите функцию Собрать с помощью job Deploy;

    • Активируйте функцию Собрать с помощью job Deploy;

    • Выберите шаг(playbook): Миграция конфигурационных файлов ФП;

    • Подтвердите шаг Собрать с помощью job Deploy.

    В результате выполнения шага будут мигрироваться следующие файлы:

  2. Заполнение файла _passwords.conf.

    В common репозитории в файл _passwords.conf добавьте параметры:

    • Параметры для DB

      • db.config.username=spring.datasource.username: username (Обязательные для заполнения. При использовании интеграции с Secret Management System, параметры оставить пустыми, без значений);

      • db.config.password=spring.datasource.password: password (Обязательные для заполнения. При использовании интеграции с Secret Management System, параметры оставить пустыми, без значений);

  3. Корректировка параметров в configmap.

    Скорректируйте на актуальные значения параметров:

    • /conf/config/parametrs/szux-bh.conf:

      • параметры [ConfigMap];

    • /conf/config/parametrs/szux.all.conf:

      • url Docker Registry[alpha/sigma];

      • Суффикс стенда [dev/psi/prom].

    • /conf/config/parametrs/szux.all.conf;

      • Переключатели на включение/отключение (по умолчанию выбрано true):

  4. Установка ПО.

    • Откройте ПО Jenkins;

    • Выберите функцию "Собрать с помощью job Deploy";

    • Активируйте функцию "Собрать с помощью job Deploy";

    • Выберите шаг(playbook): Установка в OpenShift для установки сервиса Cost Calculator;

    • Подтвердите "Собрать с помощью job Deploy".

  5. Проверка установки.