Увеличение размера тома Ядра KUMA или тома сервиса Метрики в действующем кластере Kubernetes
В процессе эксплуатации KUMA может потребоваться увеличить размер тома для Ядра KUMA или сервиса Метрики.
Перед увеличением размера томов нужно убедиться, что на рабочих узлах кластера достаточно свободного места в каталоге /opt. Должно быть доступно как минимум вдвое больше свободного места от планируемого размера томов.
Начиная с версии KUMA 4.0.1 в установщик включен скрипт roles/k0s_prepare/files/k0s-pvc-expand.sh, который в процессе установки копируется на мастер-контроллер кластера в директорию /root/k0s/. Этот скрипт позволяет увеличить размер тома в действующем кластере.
Увеличение размера тома с помощью скрипта k0s-pvc-expand.sh
Вы можете увеличить размер тома одним из следующих способов:
- Перейти в директорию /root/k0s/ мастер-контроллера и запустить скрипт k0s-pvc-expand.sh с параметром
coreилиmetricsв зависимости от того, над каким томом будет выполняться действие, и указать новый размер тома в гигабайтах. Размер тома должен быть целым числом без суффикса. - Вручную скопировать скрипт k0s-pvc-expand.sh на любой контроллер кластера в удобную для запуска директорию и запустить выполнение скрипта.
Пример команды для увеличения размера тома сервиса Метрики до 100 ГБ:
sudo ./k0s-pvc-expand.sh metrics 100
Пример увеличения размера тома Ядра KUMA до 200 ГБ:
sudo ./k0s-pvc-expand.sh core 200
Поведение скрипта
Если задаваемый размер тома меньше или равен текущему, никакие действия выполняться не будут и скрипт прервет свою работу и вернет сообщение об ошибке.
Если желаемый размер тома больше текущего, в процессе выполнения скрипт остановит сервис, использующий том: Ядро KUMA или сервис Метрики. После отключения тома от подов сервиса скрипт проведет увеличение размера тома. После изменения размера тома сервис будет вновь запущен и сможет использовать увеличенный том.
После увеличения размера тома для обновления на более поздние версии KUMA никаких дополнительных указаний размера томов в инвентаре не понадобится - установщик KUMA будет использовать текущие размеры томов и будет игнорировать отличные от них значения переменных из файла инвентаря.