Kubernetes Node Remediation

Обновлено 10 декабря 2025 г.

Kubernetes Node Remediation — это набор операторов Kubernetes, которые обеспечивают автоматическое восстановление неисправных узлов кластера Managed Service for Kubernetes и высокую доступность для stateful-нагрузок.

Решение состоит из двух контроллеров:

  • Node Healthcheck Controller — отслеживает сбои.
  • Self Node Remediation Controller — переносит нагрузку с неисправных узлов и восстанавливает их.
Инструкция по развертыванию
  1. Установите kubectl и настройте его на работу с кластером.

  2. Создайте группу узлов для работы Kubernetes Node Remediation.

  3. Задайте настройки приложения:

    • Пространство имен — создайте новое пространство имен (например, remediation-space). Если вы оставите пространство имен по умолчанию, Kubernetes Node Remediation может работать некорректно.
    • Название приложения — укажите название приложения.
  4. Нажмите кнопку Установить.

  5. Дождитесь перехода приложения в статус Deployed.

  6. Создайте ресурс NodeHealthCheck:

    1. Создайте файл с описанием ресурса NodeHealthCheck:

      apiVersion: remediation.medik8s.io/v1alpha1
      kind: NodeHealthCheck
      metadata:
        name: nodehc-sample
      spec:
        minHealthy: 51%
        remediationTemplate:
          apiVersion: self-node-remediation.medik8s.io/v1alpha1
          kind: SelfNodeRemediationTemplate
          name: self-node-remediation-automatic-strategy-template
          namespace: <пространство_имен_приложения>
        selector:
          matchLabels:
            beta.kubernetes.io/os: linux
        unhealthyConditions:
        - duration: 60s
          status: "False"
          type: Ready
        - duration: 60s
          status: Unknown
          type: Ready
      

      Где:

      • spec.minHealthy — минимальный процент здоровых узлов, при котором разрешено начинать восстановление.

      • spec.unhealthyConditions — список условий для статуса узла, по которым контроллер определяет, что узел неисправен.

        • duration — время, в течение которого условие должно сохраняться, прежде чем начнется процесс восстановления узла.
        • type — тип условия.
        • status— ожидаемый статус для признания узла неисправным.

      В приведенном примере контроллер NodeHealthCheck начнет восстановление, если тип условия Ready для узла в течение 60 секунд указывает на его недоступность или нерабочее состояние.

      Подробнее о полях ресурса.

    2. Перейдите в директорию с файлом и выполните команду:

      kubectl apply -f <имя_файла>
      
Тип тарификации
Free
Тип
Приложение Kubernetes®
Категория
Администрирование и DevOps
Издатель
Yandex Cloud
Примеры использования
  • Обнаружение сбоев узлов.
  • Восстановление планировщиком затронутых рабочих нагрузок.
  • Восстановление узлов после сбоев.
Техническая поддержка

Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.

Состав продукта
Helm-чартВерсия
Pull-команда
Документация
yandex-cloud/medik8s/kubernetes-node-remediation/chart/kubernetes-node-remediation1.0.1Открыть
Docker-образВерсия
Pull-команда
yandex-cloud/medik8s/kubernetes-node-remediation/self-node-remediation-operator1750332903325272502991409697328138047197170598960v0.10.0-y
yandex-cloud/medik8s/kubernetes-node-remediation/node-healthcheck-operator1750332903325272502991409697328138047197170598960v0.7.0
yandex-cloud/medik8s/kubernetes-node-remediation/kube-rbac-proxy1750332903325272502991409697328138047197170598960v0.19.0
Лицензионное соглашение
Используя данный продукт, вы соглашаетесь с Условиями использования Yandex Cloud Marketplace
Тип тарификации
Free
Тип
Приложение Kubernetes®
Категория
Администрирование и DevOps
Издатель
Yandex Cloud