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

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

Вертикальное масштабирование заключается в добавлении физических или виртуальных ресурсов к текущим узлам кластера Kubernetes. В зависимости от метода установки платформы вертикальное масштабирование может выполняться как с помощью утилиты nova-ctl, так и вручную.

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

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

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

  • На вашем локальном компьютере установлена утилита nova-ctl.

  • У вас есть доступ к Kubernetes API с привилегиями администратора кластера (cluster-admin).

  • У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите nova-ctl.

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

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

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

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

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

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

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

  • На вашем локальном компьютере установлена утилита 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 ресурсы для виртуальных машин будут добавлены с помощью горячего подключения (hot plug) при следующих условиях:

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

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

      Уменьшение количества ресурсов, изменение характеристик виртуальных процессоров (cpuCores, cpuThreads), а также изменение лимита оперативной памяти (maximumMemory) требует последующего перезапуска виртуальных машин вручную. Для выполнения корректного перезапуска узлов кластера действуйте согласно процедуре вертикального масштабирования кластера, установленного универсальным методом (UPI). . В процессе масштабирования будет запрошено подтверждение на изменение виртуальных машин в среде виртуализации 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 worker03-nova-internal
      * update ovirt_vm worker04-nova-internal
      * update ovirt_vm worker05-nova-internal
      * update ovirt_vm ingress01-nova-internal
      * update ovirt_vm ingress02-nova-internal Are you sure you want to apply these changes? (yes/no) [no] yes
    4. Дождитесь сообщения об успешном выполнении операции.

      Пример

      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.
    5. Перейдите в веб-интерфейс среды виртуализации zVirt и убедитесь, что ресурсы виртуальных машин были изменены.

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