Замена рабочего узла (ноды)

Подготовка ноды

  1. Получите имя текущей ноды с помощью команды:
    kubectl get nodes
    
  2. Сохраните название текущей ноды с помощью команды:
    export NODE=<old-node-name>
    
  3. Создайте резервную копию Test IT.
  4. Если новая нода еще не была добавлена в кластер, добавьте ее.
  5. Отключите распределение новых рабочих нагрузок на старый узел с помощью команды:
    kubectl cordon "{$NODE}"
    

Перенос рабочих нагрузок на новый узел

  1. Остановите активные рабочие нагрузки с помощью команды:
    cd ~/testit
    helm -n <namespace> list
    helm -n <namespace> uninstall testit-frontend testit_frontend/
    helm -n <namespace> uninstall testit-backend testit_backend/
    kubectl get po -n <namespace> --watch
    
  2. Переустановите внутренний интерфейс (backend) с помощью команды:
    helm -n <namespace> -f testit_backend/values-override.yaml upgrade --install testit-backend testit_backend/
    # дождитесь запуска всех модулей внутреннего интерфейса
    kubectl -n <namespace> get pods --watch
    
  3. Переустановите внешний интерфейс (frontend) с помощью команды:
    helm -n <namespace> -f testit_frontend/values-override.yaml upgrade --install testit-frontend testit_frontend/
    # дождитесь запуска всех модулей внешнего интерфейса
    kubectl -n <namespace> get pods -l app=frontend --watch
    
  4. Восстановите Test IT из резервной копии.
  5. Удалите распределение новых рабочих нагрузок для старой ноды с помощью команды:
    kubectl uncordon "{$NODE}"
    
Обновлено: