Узел

Со страницы Управление узлами доступен переход на страницу просмотра узла по нажатию на имя узла.

Вкладка Узел

Скриншот

clusternode1

На вкладке доступно описание узла, состояние ClusterAPI, инфраструктуры и самого узла. Страница доступна для просмотра с момента запроса на добавление узла и позволяет отследить этапы создания узла. На странице Conditions узлов кластера приведены статусы состояний здорового узла.

Скриншот

nodeconditions

Когда узел будет доступен, на странице отобразятся вычислительные ресурсы. Если в клиентском кластере и кластере управления установлен и включен модуль графического отображения метрик, будет доступна кнопка для перехода на дашборд Grafana.

Если в кластере настроен SR-IOV Network Operator и созданы виртуальные машины, то на вкладке Сетевые интерфейсы будет доступна информация:

  • Тип устройства (доступна фильтрация);
  • Идентификатор устройства (доступна фильтрация);
  • Имя драйвера (доступна фильтрация);
  • Имя интерфейса (доступна фильтрация);
  • Количество интерфейсов (доступна сортировка);
  • PCI address (доступна фильтрация);
  • Имя политики (доступна фильтрация). Нажатие на имя политики открывает страницу просмотра Sriov Network Policy.
Скриншот

nodeinterface

Cordon

На странице узла доступны кнопка Cordon. При нажатии на кнопку Cordon:

Скриншот

cordonnode

  • узел блокируется для распределения новых подов;
  • работа существующих на узле подов не прерывается;
  • узел, заблокированный для распределения новых подов помечается в колонке “Scheduling” таблице узлов на странице “Управление узлами” признаком “Disabled”;
  • название кнопки подменяется на Uncordon, отменяющую действие.
Скриншот

uncordon

После нажатия на кнопку Uncordon признак снимается с узла.

Drain

На странице узла доступны кнопка Drain. Нажатие на Drain открывает модальное окно с доступными настройками Drain узла. По умолчанию все настройки отключены. Чтобы запустить Drain узла с дефолтными настройками, в окне настроек Drain узла нажмите Запустить Drain.

Скриншот

drainconf1 drainconf4

При необходимости возможно задать следующие настройки Drain узла:

  • Принудительный запуск Drain узла. Приведет к немедленному завершению подов, игнорируя любые ошибки и предупреждения. Обратите внимание! При принудительном запуске могут быть потеряны данные.
  • Игнорировать daemonsets. Чтобы было проигнорировано завершение и перераспределение подов, подчиненных Daemonsets, выберите “Да”.
  • Запретить перераспределение подов. При включении запрета поды не будут перераспределены, ресурс контролируемого завершения работы подов (Eviction) не будет запущен, настройки PodDisruptionBudget и terminationGracePeriodSeconds будут проигнорированы.
  • Пропустить ожидание удаления подов. Задайте время в секундах, необходимое для ожидания удаления подов. Если период времени после установки DeletionTimestamp превысит заданное время, ожидание удаления будет пропущено. Значение 0 отключает настройку пропуска ожидания.
  • Игнорировать ошибки. При включении настройки будут проигнорированы ошибки, возникающие между узлами в группе.
  • Удалять ли поды, использующие EmptyDir. В случае удаления подов, данные EmptyDir также будут удалены.
  • Удалять ли поды, использующие PV. В случае удаления подов, данные PV также будут удалены.
  • Период ожидания перераспределения подов. По истечению периода ожидания перераспределения подов Drain узла завершится. Значение 0 не ограничивает время ожидания перераспределения подов.
  • Селектор. Для определения скоупа применения настроек Drain узла можно задать совпадающие выражения. Нажмите +, укажите ключ, выберите операцию сравнения (= и == соответствуют “равенству”,!= соответствует “неравенству”), укажите значение ключа.
  • Селектор подов. Вы можете добавить лейблы подов, к которым необходимо применить настройки Drain узла. Нажмите на +, задайте ключ, при необходимости значение.
Скриншот

drainconf7

При запуске Drain:

  • узел блокируется для распределения новых подов узла (получает признак “Cordoned”);
  • поды принудительно завершаются и перераспределяются на другие узлы. Все поды кроме жизненно важных принудительно завершаются и будут перераспределены на другие узлы кластера (если такие узлы есть);
  • узел, заблокированный для распределения подов помечается в колонке “Scheduling” таблице узлов на странице “Управление узлами” признаком “Disabled”.
  • кнопка Cordon подменяется на Uncordon.

Отследить ход Drain узла можно на вкладке Поды узла.

Скриншот

nodespods

После нажатия на кнопку “Uncordon” признак снимается с узла.

Чтобы защитить узлы от автоматического перезапуска во время изменения конфигурации или обновления используйте инструкцию.

Удаление узла

Worker-узлы

Для удаления узла на странице Worker-узла нажмите на кнопку Удалить узел. В открывшемся окне необходимо выбрать, требуется удалить узел с последующим пересозданием или удалить узел полностью.

Скриншот

deletewnode1

Полное удаление узла доступно только при ручном масштабировании Worker-узлов. Выбор способа масштабирования находится на странице Управление узлами/Конфигурация группы.

Скриншот

deletewnode2

При полном (без пересоздания) удалении Worker-узла из кластера с провайдером Shturval v2 по умолчанию выполняется очистка узла. В случае неуспешной очистки узла, ShturvalMachine будет удалена принудительно.

Control Plane узлы

Для узлов группы Control Plane в интерфейсе можно:

  • удалить полностью Control Plane узел, если после удаления в кластере останется нечетное количество работающих Control Plane узлов (например: 3 или 1). Наличие работающих узлов проверяется на момент запроса на удаление. В случае несоблюдения условия, запрос на удаление будет недоступен.
Скриншот

deletecpnode2

  • удалить Control Plane узел с пересозданием узла при условии, что в результате удаления узла в кластере должно остаться не менее двух работающих Control Plane узлов. Наличие двух работающих узлов проверяется на момент запроса на удаление. В случае несоблюдения условия, запрос на удаление с пересозданием будет недоступен.
Скриншот

deletecpnode3

При отправке запроса на удаление Control Plane узла необходимо ввести названием узла в качестве подтверждения намерения.

В случае, если узел по какой-либо причине выведен из строя и есть необходимость его оперативно удалить без ожидания завершения подов, отсоединения дисков и тп., добавьте такому узлу taint node.kubernetes.io/out-of-service=NoExecute. В таком случае при удалении k8s не будет ожидать стандартного завершения работы узла и в срочном порядке переподнимет поды на другом узле.

При полном (без пересоздания) удалении Control Plane узла из кластера с провайдером Shturval v2 по умолчанию выполняется очистка узла. При необходимости вы можете отменить очистку узла, сняв выбор в поле С очисткой узла

Обратите внимание!

При принудительном удалении Machine без очистки узла потребуется ручной сброс хоста и ручное удаление сервисов Kubernetes с него. Рекомендуется отменять очистку узла с осторожностью, так как это может привести к трудностям в последующей эксплуатации хоста.

Скриншот

deletecapsmmaster

Исключение из автоскейлинга

Вы можете защитить узел от удаления в случае автоскейлинга. Для этого на странице узла нажмите на кнопку Исключить из автомасштабирования. Опция доступна только для группы Worker-узлов с включенным автомасштабированием. Исключенные из автоскейлинга узлы будут отмечены на странице “Управление узлами” в колонке “Автомасштабирование” признаком “Запрещено”.

Вкладка Поды

Вкладка Поды представляет собой таблицу со списком подов выбранного узла, содержащую колонки:

Скриншот

nodespods

  • Имя пода (доступна фильтрация). Нажатие на имя пода открывает страницу просмотра пода.
  • Контейнеры. Отношение количества работающих контейнеров к общему количеству контейнеров в поде.
  • Количество рестартов пода (доступна сортировка).
  • Статус (доступна фильтрация). Возможные значения для выбора в фильтре: Running, Pending, Terminating, CrashLoopBackOff, Completed, Failed, Unknown.
  • Дата создания (доступна сортировка).
  • Неймспейс (доступна фильтрация). Нажатие на имя неймспейса открывает дашборд неймспейса. Вы можете ввести значение для фильтрации подов по неймспейсам. Для отмены фильтрации по неймспейсам, в фильтре нажмите Отменить и далее Применить.
  • Какому родительскому объекту подчинен (доступна фильтрация). Когда под подчинен нагрузке, нажатие на имя нагрузки открывает ее страницу просмотра.
  • QoS (Quality of Service) пода (доступна фильтрация по: Guaranteed, Burstable, BestEffort). Подробнее о QoS на странице Pods.
  • Лейблы. По умолчанию колонка не отображается. Чтобы просмотреть лейблы подов, нажмите на шестеренку в правом углу таблицы и выберите колонку Лейблы для отображения на экране.

На вкладке Поды можно отследить перераспределение подов при Drain узла.

Вкладка События

На вкладке События отображаются стандартные события Kubernetes для ClusterAPI, инфраструктуры и самого узла. На вкладке отображается индикация количества событий.

Вкладка Лейблы и аннотации

На вкладке Лейблы и аннотации при необходимости можно присвоить лейблы и аннотации для ClusterAPI, инфраструктуры и самого узла.

Скриншот

nodelabels

Вкладка Конфигурация узла

Вкладка Конфигурация узла отображает информацию ресурса Node Config и содержит перечень конфигураций узла (Node Config Item (NCI)) кластера, запланированных к применению на узле. В случае возникновения ошибки применения NCI на узле, статус примет значение Не применено. Также, на вкладке доступна информация о статусе перезагрузки узла, когда:

  • требуется перезагрузка (reboot required);
  • перезагрузка запланирована (reboot scheduler);
  • перезагрузка разрешена (reboot allowed).
Скриншот

nconnode

Для просмотра настроек конфигурации NCI нажмите на название NCI в перечне.

Вкладка Taints

На вкладке Taints отображается перечень Taints (ограничения), запрещающих размещения подов на узле. При необходимости можно присвоить новый Taint узлу, изменить или удалить существующий.

Чтобы добавить Taint нажмите на + и в открывшемся окне требуется:

  • задать ключ для Taint (key);
  • при необходимости указать значение (value);
  • выбрать Эффект для ограничения размещения подов на узле (effect). Чтобы ни один под не был запланирован на узле без соответствующего Toleration (разрешения), выберите NoSchedule. Если не требуется строгое ограничение для размещения подов без соответствующего Toleration (разрешения), выберите PreferNoSchedule. При необходимости вытеснения уже запущенных подов на узле, выберите NoExecute, в этом случае:
    • Поды без соответствующего Toleration немедленно вытесняются.
    • Поды с соответствующим Toleration остаются на узле навсегда.
    • Поды с соответствующим Toleration и заданным периодом разрешения (tolerationSeconds) остаются на узле в течении указанного времени, после чего вытесняются.
Скриншот

taint

Когда необходимо разместить под на узле с Taints, задайте поду Toleration (разрешение), соответствующее конфигурации Taint.

Пример
# Заданный Taint на узле
spec:
  taints:
  - effect: NoSchedule
    key: key1
    value: value1

# Toleration для размещения пода на узле с Taint
tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoSchedule"

Обратите внимание! Когда узел имеет несколько Taints (ограничений), для размещения пода на узле необходимо задать Toleration, соответствующие каждому Taint.

×