Перейти к содержанию

Вертикальное масштабирование узлов кластера Kubernetes

Масштабирование узлов кластера, установленного универсальным методом (UPI)

Перед проведением работ по изменению ресурсов узла кластера Kubernetes необходимо вывести данный узел в режим обслуживания.

Необходимые условия

  • На вашем локальном компьютере установлена утилита nova-ctl.
  • У вас есть доступ к Kubernetes API с привилегиями администратора кластера (cluster-admin).
  • У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите nova-ctl.

Процедура

  1. Выведите список всех узлов кластера и определите имя узла, которому необходимо изменить количество выделенных ресурсов:

    kubectl get nodes
    

    Пример

    $ kubectl get nodes
    
    NAME                                           STATUS   ROLES            AGE     VERSION
    node-master-536jhgcb.nova-zig4kntx30g3.local   Ready    control-plane    5d17h   v1.26.8
    node-worker-bdh6p8fn.nova-zig4kntx30g3.local   Ready    ingress,worker   5d17h   v1.26.8
    node-worker-p0ou8a2c.nova-zig4kntx30g3.local   Ready    infra            5d17h   v1.26.8
    
  2. Переведите выбранный узел в режим обслуживания согласно процедуре, описанной в разделе Перевод узла в режим обслуживания.

  3. После успешного перевода узла в режим обслуживания вы можете выключить узел для проведения работ по масштабированию ресурсов.

  4. После завершения работ по масштабированию включите узел и дождитесь его загрузки.

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

Масштабирование кластера, установленного в среде zVirt (IPI)

Необходимые условия

  • На вашем локальном компьютере установлена утилита nova-ctl.
  • У вас есть доступ к Kubernetes API с привилегиями администратора кластера (cluster-admin).
  • У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите nova-ctl.

Процедура

  1. Запустите процесс масштабирования узлов кластера с помощью команды:

    nova-ctl scale --ssh-user <имя_пользователя> --ssh-key <закрытый ключ SSH>
    

    Примечание

    В качестве аргументов --ssh-key и --ssh-user укажите информацию, использованную на этапе конфигурации ключевой пары SSH.

  2. Далее для временного редактирования будет открыт файл конфигурации кластера в текстовом редакторе vi.

  3. Измените количество выделенных ресурсов для групп узлов определенных в блоке hostGroup и сохраните изменения.

    Пример

    # nova-ctl scale --ssh-user nova-installer --ssh-key id_rsa.pem
    
    spec:
    ...
      infrastructureProvider:
      ...
        zvirt:
        ...
          hostGroup:
          ...
          - name: example-worker
            templateId: 729df7ab-900b-4df7-ac40-01b70629dd4e
            vnicProfileId: 9a58ffa8-98d8-472c-9198-5f54a9f8aaac
            cpuCores: 1
            cpuSockets: 12
            cpuThreads: 1
            memory: 12GiB
            maximumMemory: 16GiB
    

    Информация

    В среде виртуализаци zVirt ресурсы для виртуальных машин будут добавлены c помощью горячего подключения (hot plug) при следующих условиях:

    • Увеличение объема ОЗУ (memory) на значение не превышающее установленный лимит (maximumMemory).

    • Увеличение количества виртуальных процессоров (cpuSockets) без изменениях их характеристик (cpuCores, cpuThreads).

    Уменьшение количества ресурсов, изменение харатеристик виртуальных процессоров (cpuCores, cpuThreads), а также изменение лимита ОЗУ (maximumMemory) требует последующего перезапуска виртуальных машин вручную. Для выполнения корректного перезапуска узлов кластера действуйте согласно процедуре вертикального масштабирования кластера, установленного универсальным методом (UPI).

  4. В процессе масштабирования будет запрошено подтверждение на изменение виртуальных машин в среде виртуализации zVirt.

    Пример

    # nova-ctl scale --ssh-user nova-installer --ssh-key id_rsa.pem
    
     Validating license... done
    ☕️ 3/8: Preparing infrastructure...
    The following actions will be preformed:
    * update ovirt_vm node-worker-krc3qy8n
    * update ovirt_vm node-worker-rjwulu6a
    * update ovirt_vm node-worker-t68ypnek
    * update ovirt_vm node-worker-ldzay6gc
    * update ovirt_vm node-worker-i02nh5k4
    Are you sure you want to apply these changes? (yes/no) [no] yes
    
  5. Дождитесь сообщения об успешном выполнении операции.

    Пример

    # nova-ctl scale --ssh-user nova-installer --ssh-key id_rsa.pem
    
     Validating license... done
     Preparing infrastructure... done
     Validating cluster nodes... done
     Preparing cluster nodes... done
     Scaling Kubernetes cluster... done
    
    🚀 Cluster is successfully scaled.                          
    
  6. Перейдите в веб-интерфейс среды виртуализации zVirt и убедитесь, что ресурсы виртуальных машин были изменены.

  7. Запланируйте и выполните процедуру перезапуска узла в среде zVirt. Перезапуск узла рекомендуется выполнять вместе с переводом узла в режим обслуживания.