Сценарии администрирования PREM#

Предусловия#

Требования к набору привилегий администратора Kubernetes в части выполнения сценариев, перечисленных «Параметры настройки» в секции Управление ролями пользователей: для установки и настройки Autoscaler необходимы как минимум права администратора, описанные ниже в разделе Управление ролями пользователей.

Последовательность выполнения#

Для выполнения сценария администрирования PREM необходимо выполнить следующую последовательность шагов:

  1. Запуск

  2. Остановка

  3. Настройка выделения ресурсов

Запуск#

После установки Metrics Predictor в соответствии с Руководством по установке, все его реплики должны запуститься автоматически. Если же этого не произошло или по каким-либо причинам необходим ручной запуск реплик, то ниже приведены последовательности действий для запуска.

С использованием веб-интерфейса Kubernetes#

Шаг

Действие

Вход в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes

Запуск pod

1. В меню выберите пункт Workload/Deployments.
2. На странице найдите нужный Deployment (можно использовать поиск по имени).
3. Нажмите ⋮ и выберите Scale.
4. Задайте нужное количество подов и нажмите Scale

Выход из веб-консоли Kubernetes

1. Щелкните по имени пользователя, чтобы раскрыть меню учетной записи.
2. Выберите пункт Log out.
3. Закройте окно браузера

С использованием консоли Kubernetes#

Шаг

Действие

Вход в клиент Kubernetes

Запросите у администратора кластера kubeconfig для kubectl

Запуск компонента

В консоли выполните команду: kubectl --kubeconfig=<путь_к_файлу_kubeconfig> scale --replicas=<N> deployment/<имя deployment>,
где: N>0 — требуемое количество запущенных подов

Остановка#

С использованием веб-интерфейса Kubernetes#

Шаг

Действие

Логин в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в нужный проект

Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes

Остановка компонента

Выполните следующие действия:
1. В меню выберите пункт Workload/Deployments .
2. На странице найдите нужный Deployment (при необходимости можно воспользоваться поиском по имени).
3. Нажмите ⋮ и выберите Scale.
4. Уменьшите количество подов до 0 и нажмите Scale

Выход из веб-консоли Kubernetes

Выполните следующие действия:
1. Кликом по иконке пользователя раскройте меню.
2. Выберите пункт Sign out .
3. Закройте окно браузера

С использованием консоли Kubernetes#

Шаг

Действие

Запросить kubeconfig для kubectl

Запросите у администратора кластера kubeconfig для kubectl

Остановка компонента

В консоли выполните команду: kubectl --kubeconfig=<путь_к_файлу_kubeconfig> scale --replicas=0 deployment/<имя deployment>

Настройка выделения ресурсов#

С использованием веб-интерфейса Kubernetes#

Шаг

Действие

Логин в веб-консоль Kubernetes

Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig

Переход в проект

Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes

Вход в Deployment

Выполните следующие действия:
1. В меню выберите пункт Workload/Deployments.
2. На странице найдите нужный Deployment (при необходимости можно воспользоваться поиском по имени).
3. Перейдите по ссылке в наименовании ⋮ , выберите Edit, перейдите на вкладку YAML или JSON

Корректировка параметров

Выполните следующие действия:
1. В окне редактирования найдите параметры:
spec.template.spec.containers[0].resources.limits.cpu
spec.template.spec.containers[0].resources.limits.memory
spec.template.spec.containers[0].resources.requests.cpu
spec.template.spec.containers[0].resources.requests.memory
2. Установите нужные значения

Сохранение

Нажмите кнопку Update

Проверка конфигурации

Снова зайдите на вкладку Edit в YAML или JSON

Выход из веб-консоли Kubernetes

Выполните следующие действия:
1. Кликом по иконке пользователя раскройте меню.
2. Выберите пункт Sign out.
3. Закройте окно браузера

Конфигурирование Metrics Predictor#

В данном разделе представлено описание конфигурации компонентов Metrics Predictor.

Если в ходе эксплуатации продукта требуется настройка конфигураций микросервисов компонента Metrics Predictor, то администратор с соответствующими правами может это сделать, изменив configmap с конфигурацией приложения.

prem-calculator#

Конфигурация prem-calculator производится в рамках configmap prem-calculator-config, уже развернутом на кластерe.

Ниже приведен пример конфигурации prem-calculator.

env:
  - name: METRICS_LIMIT
    value: 10
  - name: PORT
    value: 8080
  - name: CLEANUP_INTERVAL
    value: 3600 # секунд

Далее приведена спецификация конфигурации prem-calculator.

prem-operator-config.env#

Поле

Описание

METRICS_LIMIT

Определяет колтчество метрик, которое можно зарегистрировать в калькуляторе

PORT

Определяет порт контейнера

CLEANUP_INTERVAL

Определяет частоту запуска процесса очистки неиспользуемых метрик

prem-adapter#

Конфигурация prem-adapter производится в рамках configmap prem-adapter-config уже развернутом на кластере

env:
  - name: SELECT_HOST
    value: 'http://synapse-metrics-select:8481'
  - name: INSERT_HOST
    value: 'http://synapse-metrics-insert:8480'
  - name: PREDICT_SERVICE_HOST
    value: 'http://prophet-calculator-svc:80'
  - name: LOGS_PATH
    value: /var/prem-adapter/synapse-logs
  - name: STEP
    value: '10'

prem-operator-config.env#

Поле

Описание

SELECT_HOST

Определяет выбор хоста

INSERT_HOST

Определяет изменние хоста

PREDICT_SERVICE_HOST

Определяет host адаптера

LOGS_PATH

Определяет расположение логов

Правила эксплуатации#

Специальных правил или условий для эксплуатации среды функционирования не предусмотрено.

Описание механизмов безопасности#

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

Результат#

Успешный результат:

  • Компонент PREM запущен, ресурсы выделены, сервис доступен.

  • Компонент PREM остановлен, ресурсы освобождены.