В этой статье описаны типовые операции по управлению Kubernetes-кластером: добавление и изменение worker-групп (групп узлов), обновление версии Kubernetes и удаление кластера. Для каждой операции указано, что произойдет и как проверить результат.
Если вы еще не создали кластер – начните со статьи “Создание и настройка кластера”. Для подключения к кластеру и работы с kubectl (консольный инструмент для управления Kubernetes) – “Подключение к кластеру и работа с kubectl”.
Дашборд (приборная панель) кластера
При переходе в созданный K8s-кластер откроется дашборд – страница с обзором состояния кластера.
Здесь доступны:
- Статистика – графики нагрузки на CPU (центральный процессор) и потребления RAM (оперативной памяти) для master-нод (узлов управляющего контура) и worker-групп (групп узлов)
- Информация – версия Kubernetes и кнопка “Подключиться” для быстрого доступа к kubeconfig (конфигурационному файлу). Подробнее – в разделе “Подключение к кластеру”
- Worker-группы и ноды – количество нод и их статусы
- Настройки – количество master-нод, версия Kubernetes, сетевые параметры
- Дополнения – установленные и доступные аддоны (расширения)
Статистика
Раздел “Статистика” содержит две вкладки:
Группы и ноды:
- Нагрузка на worker-группы – выбор группы через селектор
- Нагрузка по отдельным нодам – с разбивкой по worker-группам
- Количество подов (единиц развертывания) в разных статусах – с разбивкой по namespace (пространству имен)
- Количество перезапусков контейнеров – с разбивкой по namespace
ControlPlane:
- Нагрузка на CPU master-нод
- Потребление RAM
- Утилизация диска
Добавление worker-группы
Новая worker-группа нужна, когда текущих ресурсов не хватает или когда для нового типа нагрузки требуется другая конфигурация нод.
Через панель управления
- Перейдите в дашборд кластера → карточка “Worker-группы и ноды”
- Нажмите “Создать новую группу”
- Задайте параметры группы: название, количество нод, конфигурацию, метки и ограничения
- Подтвердите создание
Что произойдет
- Время создания – примерно 1–2 минуты на ноду. Все ноды группы создаются одновременно
- Планирование подов – новые поды будут автоматически размещаться на новых нодах согласно политикам taints/tolerations
- Существующие поды – остаются на текущих нодах и не перемещаются
- Влияние на кластер – добавление группы не затрагивает работу существующих нод и подов
После создания группы новые ноды появятся в кластере. Убедиться в этом можно командой:
kubectl get nodesНовые ноды должны перейти в статус Ready.
Изменение конфигурации worker-группы
Вы можете изменить параметры существующей worker-группы: количество нод, метки, ограничения (taints).
Через панель управления
- Перейдите в дашборд кластера → карточка “Worker-группы и ноды”
- Нажмите на иконку редактирования (карандаш) напротив нужной группы
- Измените параметры
- Сохраните изменения
Изменение количества нод
Увеличение – в группу добавляются новые ноды с той же конфигурацией. Существующие поды продолжают работать без прерывания.
Уменьшение – перед удалением ноды происходит выселение подов (drain). Поды корректно переносятся на другие доступные ноды.
Изменение конфигурации нод (CPU, RAM, диск)
Конфигурация нод поддерживает обновление на месте (in-place) для всей worker-группы:
- CPU и RAM – можно увеличивать и уменьшать
- Диск – можно только увеличивать
При изменении конфигурации поды выселяются с ноды для применения новых параметров. Чтобы избежать даунтайма (времени простоя) приложений:
- Используйте более одной реплики для каждого приложения
- Настройте Pod Anti-Affinity, чтобы реплики одного приложения не размещались на одном узле
Проверка результата
# Проверить количество и статус нод
kubectl get nodes
# Проверить метки ноды
kubectl get nodes --show-labels
# Проверить taints ноды
kubectl describe node <имя-ноды> | grep TaintsИзменение количества master-нод
После создания кластера вы можете изменить количество мастер нод, для этого:
- Перейдите в Дашборд своего k8s-кластера
- Перейдите в раздел Настройки
- Выберите новую конфигурацию кластера (вы можете переключаться как с 1 мастер-ноды на 3, делая ваш кластер отказоустойчивым, так и обратно, 3 на 1 мастер-ноду).
- Нажмите кнопку сохранить
Таким образом, вы можете подключать отказоустойчивость для своего кластера в необходимые для вас моменты времени. Например, вам требуется максимальная производительность сервиса в выходные дни, но в будние происходит спад нагрузки. Тем самым, вы можете включать 3 master-ноды в пятницу и отключить отказоустойчивость в понедельник, вернувшись обратно на 1 master-ноду. Это позволит лучше контролировать расходы и обеспечить отказоустойчивость и производительность.
Обновление версии Kubernetes
Обновление версии возможно только на более новую.
Через панель управления
- Перейдите в дашборд кластера → карточка “Настройки”
- В поле “Версия Kubernetes” выберите целевую версию
- Подтвердите обновление
Процесс обновления:
- Пересоздаются master-ноды – версия меняется с текущей на целевую
- После успешного обновления управляющего контура начинается обновление worker-групп
- Worker-группы обновляются последовательно, по одной группе за раз
- Внутри каждой группы ноды обновляются по одной, чтобы минимизировать влияние на работающие приложения
Релизный канал
Релизный канал — это стратегия обновления, которая определяет, до какой версии Kubernetes будет автоматически обновлен ваш кластер.
Доступны три канала:
- Стабильный — обновление до версии, отстающей от последней доступной не более чем на две минорные версии. Наиболее обкатанный вариант, ниже риск сбоев после обновления
- Сбалансированный — обновление до версии, отстающей не более чем на одну минорную версию. Свежее, чем «Стабильный», но с меньшим риском, чем «Актуальный»
- Актуальный — обновление до самой последней доступной версии Kubernetes. Новые возможности появляются раньше, но версия менее обкатана
Из чего состоит номер версии
Номер версии Kubernetes состоит из трех частей — например, 1.34.5:
- 1 — мажорная версия. Меняется при кардинальных изменениях в продукте
- 34 — минорная версия. В таких релизах добавляют новые функции, переводят старые опции в статус стабильных (GA) или объявляют их устаревшими
- 5 — патч-версия. Исправляет критические ошибки и уязвимости без изменения логики работы
Релизный канал определяет, до какой минорной версии обновится кластер. Помимо этого кластер может обновляться при выходе новых патч-версий и внутренних версий платформы — такие обновления не меняют логику работы.
Как изменить релизный канал
- Перейдите в дашборд кластера → карточка «Настройки»
- В поле «Релизный канал» выберите нужный вариант
- Сохраните изменения
Правила и ограничения
- По умолчанию используется канал «Сбалансированный» — он дает наиболее оптимальную версию: достаточно свежую и при этом уже обкатанную
- Выбранный канал применяется к последующим обновлениям — текущая версия кластера при смене канала не меняется
- Обновления выполняются с учетом заданного окна обновления
- За один раз кластер обновляется не более чем на одну минорную версию
Окно технического обслуживания
Окно технического обслуживания определяет, когда платформа может применять автоматические обновления кластера: патч-версии Kubernetes, внутренние версии платформы и обновления минорной версии в рамках выбранного релизного канала.
Период обновлений системы
- В любое время — обновления применяются сразу, как только становятся доступны. Обычно обновление производится в ночное время по UTC+3.
- В заданное время — обновления выполняются только внутри указанного вами окна При выборе «В заданное время» настраиваются:
- День недели — один или несколько дней, в которые допустимы обновления. Чекбокс «Любой день» разрешает обновления в любой день недели
- Временное окно — время начала работ и часовой пояс. Длительность окна фиксированная — 3 часа Обратите внимание!
Если работы не завершатся за 3 часа и их нельзя безопасно перенести, они будут завершены в любом случае — за пределами окна.
Как изменить окно обслуживания
- Перейдите в дашборд кластера → карточка «Настройки»
- В поле «Период обновлений системы» выберите «В любое время» или «В заданное время»
- Для варианта «В заданное время» укажите дни недели, время начала и часовой пояс
- Сохраните изменения
Рекомендации
- Выбирайте часы минимальной нагрузки на ваши сервисы: во время обновления ноды пересоздаются последовательно, а поды выселяются на другие узлы
- Держите более одной реплики приложения и настраивайте Pod Anti-Affinity, чтобы обновление проходило без даунтайма
- Слишком узкое окно (например, один день в неделю) откладывает установку исправлений безопасности — учитывайте это при настройке
Проверка версии
# Версия API-сервера
kubectl version
# Версия kubelet на нодах
kubectl get nodesВ колонке VERSION отображается версия kubelet на каждой ноде. Если обновление еще в процессе, на разных нодах могут быть разные версии.
Аддоны (дополнения)
Аддоны – это дополнительные компоненты, которые упрощают администрирование Kubernetes-кластеров, добавляя: мониторинг, управление сертификатами, сетевые плагины и другие возможности.
Управление аддонами
- Перейдите в дашборд кластера → карточка “Дополнения”
- На странице отображается список доступных аддонов с описанием и статусом
- Для установки нажмите “Установить” на карточке аддона
- Для просмотра деталей или удаления – нажмите на карточку аддона
В карточке каждого аддона доступно:
- Описание и назначение
- Состав (какие компоненты устанавливаются)
- Ссылки на документацию
Если вы хотите предложить добавление нового аддона – обратитесь в техническую поддержку.
Удаление кластера
Через панель управления
- Перейдите в дашборд кластера → карточка “Настройки”
- Внизу страницы нажмите “Удалить Kubernetes-кластер”
- Подтвердите удаление
Что произойдет
При удалении кластера удаляются:
- Все балансировщики нагрузки, созданные через сервисы типа LoadBalancer
- Все виртуальные машины worker-групп
- Узлы управляющего контура (master-ноды)
Удаление происходит моментально.
Все статьи раздела
- Kubernetes (K8s) – обзор сервиса Managed Kubernetes (управляемым Kubernetes)
- Основы Kubernetes – ключевые понятия: кластер, ноды, поды, сервисы
- Создание и настройка кластера – конфигурация master-нод, сеть и worker-группы
- Подключение к кластеру и работа с kubectl (консольный инструмент для управления Kubernetes) – kubeconfig (конфигурационный файл Kubernetes), подключение и первые команды
- Управление кластером – вы здесь
- Сеть и балансировщик нагрузки – сетевая модель, внешние и внутренние балансировщики
- Лимиты, квоты и ограничения – ограничения платформы, что можно и нельзя изменить
Если возникнут вопросы, напишите нам, пожалуйста, обращение в панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Beget – ждем вас в нашем сообществе в Telegram.