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

Программный компонент Synapse Ansible Provider (код SYAP) не имеет собственного пользовательского интерфейса для администрирования. Все действия по управлению им производятся с использованием интерфейсов, предоставляемых Платформой Kubernetes.

Администратору должна быть назначена роль по принципу минимальных полномочий.

Запуск#

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

Шаг

Действия

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

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

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

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

Запуск приложения

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

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Описание

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Запуск приложения

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

N>0 — требуемое количество запущенных подов приложения

Остановка#

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

Шаг

Действие

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

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

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

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

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

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

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

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

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

Проверка работоспособности#

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

Шаг

Действие

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

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

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

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

Переход во вкладку Pod

В меню выберите пункт Workload/Pods
В рамках таблицы Pods проверьте столбец Status, валидное значение Running, также подтвердите значение в столбце Restarts равное 0

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Описание

Вход в Kubernetes

Загрузите kubeconfig от ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Получение имени kind: Pod

В консоли выполните команду:
kubectl get pod

Выберите наименование Pod с наименованием provider-ansible-****, указанное наименование пригодится на следующем шаге (<имя Pod>)

Проверить работоспособность

В консоли выполните команду:
kubectl port-forward pod/<имя Pod> 9091:9091
Запустите еще одно окно консоли, в нем выполните команду:
curl localhost:9091/healthz
Результатом будет строка ok.
Завершите переадресацию портов нажатием Ctrl+C

Также проверьте отсутствие ошибок в рамках логов приложения.

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

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

Шаг

Действие

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

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

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

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

Вход в Deployment

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

Скорректировать параметры

В окне редактирования найдите параметры:
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
Установите нужные значения.

Сохранение

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

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

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

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действие

Описание

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Получить текущие Deployment приложений

В консоли выполните команду:
kubectl get deployments
Из полученного списка выберите тот Deployment приложения, у которого необходимо скорректировать выделения ресурсов

Скорректировать параметры

В консоли выполните команду:
kubectl patch deploy "$DEPLOYMENT_NAME" --patch '{"spec": {"template": {"spec": {"containers": [{"name": "'"$CONTAINER_NAME"'", "resources": {"$LIMIT_TYPE": {"'"$LIMIT_ENV"'": "'"$VALUE"'"} } }]}}}}'

$CONTAINER_NAME — имя конфигурации kind: Deployment; $LIMIT_TYPE — секция, где необходимо изменить квоту (limits/requests); $LIMIT_ENV - значение лимита (cpu/memory); $VALUE — необходимое значение (пример 1Gi)

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

В консоли выполните команду:
kubectl get deployment "$DEPLOYMENT_NAME" -o yaml
Убедитесь, что желаемый результат зафиксирован

Изменение количества подов#

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

Шаг

Действие

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

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

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

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

Запуск пода

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

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Описание

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Увеличить/уменьшить количество подов

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

Выгрузка системных логов#

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

Шаг

Действие

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

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

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

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

Выгрузить лог

1. В меню выберите пункт Workload/Pods
2. На странице найдите нужный Pod (используйте поиск по имени)
3. Нажмите и выберите Logs
4. Задайте в верхней панели имя контейнера (Logs from <имя контейнера> in <имя Pod>)

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Описание

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Выгрузить лог

В консоли выполните команду:
kubectl logs -c <имя контейнера> <имя пода> > <имя файла>.txt

Изменение уровня логирования в системном логе#

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

Шаг

Действие

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

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

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

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

Изменить уровень логирования

1. В меню выберите пункт Workload/Pods
2. На странице найдите нужный Pod (используйте поиск по имени)
3. Выберите Terminal, контейнер package-runtime
4. Введите в окне Terminal: curl http://localhost:9090/changeLogLevel?Level={Уровень логирования}

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

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

  • Через CLI Kubernetes (kubectl)

Шаг

Действия

Описание

Вход в Kubernetes

Загрузите kubeconfig от вашего ServiceAccount. Заведите переменную KUBECONFIG=~/.kube/config, где располагается выгруженная конфигурация

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

Введите команду:
kubectl config set-context --current --namespace=<имя вашего проекта>

Получение имени пода

В консоли выполните команду:
kubectl get pod

Выберите наименование Pod с наименованием provider-ansible-****

Изменение уровня логирования

В консоли выполните команду:
kubectl port-forward pod/<имя Pod> 9090:9090
Запустите еще одно окно консоли, в нем выполните команду:
curl localhost:9090/changeLogLevel?Level=DEBUG
Завершите переадресацию портов нажатием Ctrl+C