Сценарии администрирования AUSC#
Предусловия#
Требования к набору привилегий администратора Kubernetes в части выполнения сценариев, перечисленных ниже: для установки и настройки Autoscaler необходимы как минимум права администратора, описанные в разделе «Параметры настройки» в секции Управление ролями пользователей.
Последовательность выполнения#
Для выполнения сценария администрирования AUSC необходимо выполнить следующую последовательность шагов:
Запуск
Остановка
Настройка выделения ресурсов
Запуск#
После установки Autoscaler в соответствии с Руководством по установке, все его реплики должны запуститься автоматически. Если же этого не произошло или по каким-либо причинам необходим ручной запуск реплик, то ниже приведены последовательности действий для запуска.
С использованием веб-интерфейса Kubernetes#
Шаг |
Действие |
|---|---|
Вход в веб-консоль Kubernetes |
Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig |
Переход в нужный проект |
Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes |
Запуск pod |
1. В меню выберите пункт Workload/Deployments. |
Выход из веб-консоли Kubernetes |
1. Щелкните по имени пользователя, чтобы раскрыть меню учетной записи. |
С использованием консоли Kubernetes#
Шаг |
Действие |
|---|---|
Вход в клиент Kubernetes |
Запросите у администратора кластера kubeconfig для kubectl |
Запуск компонента |
В консоли выполните команду: |
Остановка#
С использованием веб-интерфейса Kubernetes#
Шаг |
Действие |
|---|---|
Логин в веб-консоль Kubernetes |
Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig |
Переход в нужный проект |
Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes |
Остановка компонента |
Выполните следующие действия: |
Выход из веб-консоли Kubernetes |
Выполните следующие действия: |
С использованием консоли Kubernetes#
Шаг |
Действие |
|---|---|
Запросить kubeconfig для kubectl |
Запросите у администратора кластера kubeconfig для kubectl |
Остановка компонента |
В консоли выполните команду: |
Настройка выделения ресурсов#
С использованием веб-интерфейса Kubernetes#
Шаг |
Действие |
|---|---|
Логин в веб-консоль Kubernetes |
Перейдите по ссылке (URL) веб-консоли нужного кластера Kubernetes, в окне ввода учетных данных введите токен пользователя или kubeconfig |
Переход в проект |
Выберите нужный проект в выпадающем списке в шапке веб-интерфейса Kubernetes |
Вход в Deployment |
Выполните следующие действия: |
Корректировка параметров |
Выполните следующие действия: |
Сохранение |
Нажмите кнопку Update |
Проверка конфигурации |
Снова зайдите на вкладку Edit в YAML или JSON |
Выход из веб-консоли Kubernetes |
Выполните следующие действия: |
Конфигурирование Autoscaler#
В данном разделе представлено описание конфигурации компонентов Autoscaler.
Если в ходе эксплуатации продукта требуется настройка конфигураций микросервисов компонента Autoscaler, то администратор с соответствующими правами может это сделать, изменив configmap с конфигурацией приложения.
autoscaler-adapter#
Конфигурация autoscaler-adapter производится в рамках env = „WATCH_NAMESPACE“ и аргументами запуска (args) в деплойменте.
args:
- '--port=8080'
- '--logtostderr=true'
- '--stderrthreshold=ERROR'
- '--disable-compression=true'
- >-
--metrics-controller-address=autoscaler-controller.synai5.svc.cluster.local:9666
- '--v=4'
- '--secure-port=6443'
- '--tls-cert-file=/app/certs/tls.crt'
- '--tls-private-key-file=/app/certs/tls.key'
- >-
--metrics-operator-address=autoscaler-operator.synai5.svc.cluster.local:9090
autoscaler-controller#
Конфигурация autoscaler-controller производится в рамках configmap autoscaler-controller-config, уже развернутом на кластерe.
Ниже приведен пример конфигурации autoscaler-controller.
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
- name: OPERATOR_NAME
value: autoscaler-controller
- name: KUBEAPI_TLS_ENABLE
value: 'false'
- name: KUBERNETES_SERVICE_HOST
value: kubernetes.default.svc.cluster.local
Далее приведена спецификация конфигурации autoscaler-controller.
autoscaler-controller-config.env#
Поле |
Описание |
|---|---|
WATCH_NAMESPACE |
Определяет конфигурацию источников данных для Autoscaler |
POD_NAME |
Определяет имя пода |
POD_NAMESPACE |
Определяет namespace, в котором находится autoscaler-controller |
OPERATOR_NAME |
Определяет имя оператора |
KUBEAPI_TLS_ENABLE |
Выбирает, какой будет клиент для взаимодействия с кубом |
KUBERNETES_SERVICE_HOST |
Определяет хост Kube-API |
TRIGGER_CRON_ENABLE |
Включает или выключает триггер cron |
TRIGGER_PROMETHEUS_ENABLE |
Включает или выключает триггер prometheus |
TRIGGER_K8S_WORKLOAD_ENABLE |
Включает или выключает триггер kubernetes-workload |
TRIGGER_UTILIZATION_ENABLE |
Включает или выключает триггер utilization |
TRIGGER_PROMETHEUS_HOST |
Определяет хост prometheus |
TRIGGER_PROMETHEUS_PORT |
Определяет порт prometheus |
TRIGGER_PROMETHEUS_PREFIX |
Запрос в prometheus |
Примечание: если поле изменить в runtime, то для внесения изменений необходимо перезапустить pod.
Параметры настройки#
Для использования Autoscaler необходимо создать объекты Custom Resource ScaledObject и ProjectCapacityPolicy. Подробнее о самих объектах и их использовании описано в AUSC-API-Reference.
Правила эксплуатации#
Специальных правил или условий для эксплуатации среды функционирования не предусмотрено.
Описание механизмов безопасности#
Специальных механизмов безопасности не предусмотрено.
Результат#
Успешный результат:
Компонент AUSC запущен, ресурсы выделены, сервис доступен.
Компонент AUSC остановлен, ресурсы освобождены.