Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Восстановление неработоспособных узлов

Неработоспособными считаются узлы, которые перешли в состояние NotReady и не могут быть восстановлены из резервной копии. Раздел описывает их принудительную замену с помощью утилиты nova-ctl и команды scale на основе измененного манифеста nova-deployment-conf.yaml.

Если для узлов или кластера создавались резервные копии, перед принудительной заменой рассмотрите вариант восстановления из резервной копии согласно разделу Резервное копирование и восстановление. Принудительная замена применяется, когда восстановление невозможно или резервные копии отсутствуют.

1. Предварительные требования

Статусы узлов можно получить командой:

kubectl get node

В зависимости от группы, к которой принадлежат неработоспособные узлы, выполните одну из приведенных ниже процедур.

2. Принудительная замена неработоспособных узлов группы Master

2.1. Предварительные условия

  • В группе Master 3 узла, не менее 2 из 3 узлов в статусе Ready

  • Выделены вычислительные и сетевые ресурсы для создания нового узла

  • Не поддерживается одновременная замена узлов из группы Master и других групп (Worker, Infra, Ingress) — в первую очередь должны быть восстановлены узлы группы Master

  • Не поддерживается восстановление узлов при потере более половины узлов группы Master

Перед выполнением процедуры убедитесь, что в файле kubeadmin.conf указан адрес активного сервера.

2.2. Процедура

Замена узла выполняется с помощью утилиты nova-ctl и команды scale.

  1. Измените манифест nova-deployment-conf.yaml: поврежденному узлу назначьте состояние state: "absent", а новый узел добавьте со состоянием state: "present".

Фрагмент nova-deployment-conf.yaml
spec:
  clusterNodes:
    master:
      - networkSpec:
          ip: "172.20.200.9"
          hostname: "master01.am.ncp.internal"
        state: "present"
      - networkSpec:
          ip: "172.20.200.8"
          hostname: "master02.am.ncp.internal"
        state: "present"
      - networkSpec:
          ip: "172.20.200.6"
          hostname: "master03.am.ncp.internal"
        state: "absent"
      - networkSpec:
          ip: "172.20.200.14"
          hostname: "master04.am.ncp.internal"
        state: "present"

+ Где узлу master03.am.ncp.internal назначается состояние absent, а узел master04.am.ncp.internal добавляется как новый.

  1. Запустите масштабирование кластера командой nova-ctl scale и дождитесь сообщения об успешном выполнении операции.

После завершения работы команды старый узел будет удален из кластера и заменен новым узлом.

3. Принудительная замена неработоспособных узлов из других групп

Процедура применяется к узлам групп Worker, Infra и Ingress.

3.1. Предварительные условия

  • Выделены вычислительные и сетевые ресурсы для создания новых узлов

3.2. Процедура

Замена узлов выполняется с помощью утилиты nova-ctl и команды scale.

  1. Измените манифест nova-deployment-conf.yaml: поврежденным узлам назначьте состояние state: "absent", а новые узлы добавьте со состоянием state: "present".

    Фрагмент nova-deployment-conf.yaml
    spec:
      clusterNodes:
        infra:
          - networkSpec:
              ip: "172.20.200.20"
              hostname: "infra01.am.ncp.internal"
            state: "present"
          - networkSpec:
              ip: "172.20.200.21"
              hostname: "infra02.am.ncp.internal"
            state: "present"
          - networkSpec:
              ip: "172.20.200.22"
              hostname: "infra03.am.ncp.internal"
            state: "absent"
        worker:
          - networkSpec:
              ip: "172.20.200.6"
              hostname: "worker01.am.ncp.internal"
            state: "present"
          - networkSpec:
              ip: "172.20.200.5"
              hostname: "worker02.am.ncp.internal"
            state: "absent"
          - networkSpec:
              ip: "172.20.200.7"
              hostname: "worker03.am.ncp.internal"
            state: "present"

    Где узлам infra03.am.ncp.internal и worker02.am.ncp.internal назначается состояние absent, а узел worker03.am.ncp.internal добавляется как новый.

  2. Запустите масштабирование кластера командой nova-ctl scale и дождитесь сообщения об успешном выполнении операции.

После завершения работы команды поврежденные узлы будут удалены из кластера, а новые узлы — добавлены.

После выполнения процедуры при необходимости восстановите на узлах метки (labels) и аннотации (annotations) для Node Local Gateway.