Вертикальное масштабирование узлов кластера Kubernetes
1. Масштабирование узлов кластера, установленного универсальным методом (UPI)
Перед проведением работ по изменению ресурсов узла кластера Kubernetes необходимо вывести данный узел в режим обслуживания.
Необходимые условия
-
На вашем локальном компьютере установлена утилита nova-ctl.
-
У вас есть доступ к Kubernetes API с привилегиями администратора кластера (
cluster-admin
). -
У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите
nova-ctl
.
Процедура
-
Выведите список всех узлов кластера и определите имя узла, которому необходимо изменить количество выделенных ресурсов:
kubectl get nodes
Пример
kubectl get nodes NAME STATUS ROLES AGE VERSION master.nova.internal Ready control-plane 5d17h v1.26.8 worker.nova.internal Ready ingress,worker 5d17h v1.26.8 infra.nova.internal Ready infra 5d17h v1.26.8
-
Переведите выбранный узел в режим обслуживания согласно процедуре, описанной в разделе Перевод узла в режим обслуживания.
-
После успешного перевода узла в режим обслуживания вы можете выключить узел для проведения работ по масштабированию ресурсов.
-
После завершения работ по масштабированию включите узел и дождитесь его загрузки.
-
Проверьте, что узел стал доступен для размещения рабочих нагрузок, следуя процедуре возврата узла в эксплуатацию.
2. Масштабирование кластера, установленного в среде zVirt (IPI)
Необходимые условия
-
На вашем локальном компьютере установлена утилита nova-ctl.
-
У вас есть доступ к Kubernetes API с привилегиями администратора кластера (
cluster-admin
). -
У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите
nova-ctl
.
Процедура
-
Запустите процесс масштабирования узлов кластера с помощью команды:
nova-ctl scale --ssh-user <имя_пользователя> --ssh-key <закрытый ключ SSH>
В качестве аргументов
--ssh-key
и--ssh-user
укажите информацию, использованную на этапе конфигурации ключевой пары SSH. -
Далее для временного редактирования будет открыт файл конфигурации кластера в текстовом редакторе
vi
. -
Измените количество выделенных ресурсов для групп узлов определенных в блоке 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).
-
-
В процессе масштабирования будет запрошено подтверждение на изменение виртуальных машин в среде виртуализации 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
-
Дождитесь сообщения об успешном выполнении операции.
Пример
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.
-
Перейдите в веб-интерфейс среды виртуализации zVirt и убедитесь, что ресурсы виртуальных машин были изменены.
-
Запланируйте и выполните процедуру перезапуска узла в среде zVirt. Перезапуск узла рекомендуется выполнять вместе с переводом узла в режим обслуживания.