Ну а куда без боттлрокета.
Допустим вы решили перейти на боттлрокет после моих постов - https://t.me/makebreakreflect/35
Сразу споткнувшись про пустой дефолтный конфиг кублета читаете и тут
https://t.me/makebreakreflect/38
Готово.
У вас и кластер AWS EKS и нод группа(ы) и лаунчтемплейт.
Всё работает, всё круто, но спустя время вы замечаете, что у вас участились алёрты
DiskPressure.Так же в ивентах у вас нечто типа
The node had condition: [DiskPressure].
The node was low on resource: ephemeral-storage. Threshold quantity: 4281126156, available: 3438556Ki
"Какого
Смотрите свой код, видите там нечто типа
resource "aws_launch_template" "node-launch-template" {
...
block_device_mappings {
device_name = "/dev/xvda"
ebs {
volume_size = 200
volume_type = "gp3"
}
}
..."ну да, двести гигов" говорите вы вслух самому себе и идёте проверять терраформ/террагрант план.
Всё ок. Никаких
lifecycle {
ignore_changes Лезете в кубер, смотрите а чо там рили.
kubectl get nodes -o yaml | grep -i -A6 ephemeral-storage
Внезапно там ну вообще ни 200 гигов, там 20.
Начинаете перепроверять код, лаунчемплейт, ласт вершн и issue github.
А нет ничего.
У вас желаемое 200 гигов, а реально видно 20.
И тут подстава, откуда вы не ждали.
У
bottlerocket не совсем типичный подход к монтированию томов.Чтобы ноде под поды выделить больше места дефолта с 20 гигами, вам надо выдать отдельный маунт на побольше.
resource "aws_launch_template" "node-launch-template" {
...
# !!! вот тут много не надо, это для самой ноды, операционка, можно хоть 10
block_device_mappings {
device_name = "/dev/xvda"
ebs {
volume_size = 20
volume_type = "gp3"
}
}
# !!! вот это добавляем, для POD-ов
block_device_mappings {
device_name = "/dev/xvdb"
ebs {
volume_size = 200
volume_type = "gp3"
}
}Терраформ план, терраформ апплай, проверяем
kubectl get nodes -o yaml | grep -i -A6 ephemeral-storage
Отлично, теперь под эфемерку у нас 200 гигов, а не дефолтные 20(или 30, я не помню если честно) гигабайт.
Разуемся, алёрты пропадают, эфемерки всем хватает, кластер снова сладкий как яблочки с огорода у бабушки.
Кому интересно могут почитать на официальном сайте детальнейшее описание причин, но там на самом деле скукота.
#aws #eks #bottlerocket