У меня есть кластер с 2 узлами, и каждый узел имеет 10 ГБ загрузочного SSD-диска и 375 ГБ локального SSD. Меня беспокоит проблема, когда загрузочный SSD-диск заполнен, GKE развернет модуль без сохранения состояния на локальном SSD или пожаловаться на отсутствие места?
Другими словами, Local SSD используется только мной явно или GKE может использовать его для собственных нужд?
В документация kubelet вы можете найти этот флаг:
--root-dir строка
Путь к каталогу для управления файлами kubelet (монтирование томов и т. Д.). (по умолчанию "/ var / lib / kubelet")
Этот флаг устанавливает место, где kubelet хранит секреты и монтирует некоторые тома, поэтому, если вам не хватает места, k8s может выйти из строя при создании пода.
Есть еще один путь, это специфичный для докеров. Это называется data-root
и больше информации можно найти Вот. По умолчанию /var/lib/docker
и в нем хранятся все файлы противопоставления. Поэтому, если у вас закончилось место на диске, вы не сможете создавать файлы-контейнеры, и запуск нового контейнера завершится ошибкой.
- корень данных - это путь, по которому хранятся постоянные данные, такие как изображения, тома и состояние кластера. Значение по умолчанию - / var / lib / docker.
Вывод: Если бы у вас был автономный кластер, вы могли бы просто изменить настройки по умолчанию, и все заработало бы, но поскольку вы используете управляемый кластер k8s (GKE), все, что вы можете сделать, это использовать загрузочный диск большего размера. А также: Нет, k8s не будет автоматически использовать другой диск (по крайней мере, насколько мне известно).