Как включить поддержку предела подкачки в Google Container Optimized

Я использую Kubernetes/Docker на ОС Google Container Optimized на экземпляре GCE. Когда я бегу docker info это говорит

$ docker info
Containers: 116
 Running: 97
 Paused: 0
 Stopped: 19
Images: 8
Server Version: 1.11.2
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: null host bridge
Kernel Version: 4.4.21+
Operating System: Container-Optimized OS from Google
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 14.67 GiB
Name: REDACTED
ID: REDACTED
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

Последняя строка говорит о том, что нет поддержки лимита свопа. У меня проблемы с выяснением, как включить поддержку предела подкачки. Я нашел инструкции для Ubuntu/Debian здесь.

Моя проблема в том, что мои док-контейнеры получают OOMKilled, как только они достигают своего предела памяти, вместо того, чтобы пытаться заменить их. Я хочу, чтобы контейнеры использовали своп в качестве буфера вместо того, чтобы сразу же умереть.

0 ответов

ОС, оптимизированная для контейнеров (COS), фактически настроена с полностью отключенным свопом. Вы можете проверить это, запустивcat /proc/meminfo | grep SwapTotal в виртуальной машине COS, в которой будет указано, что она настроена на 0 кБ.

Я не уверен, стоит ли включать подкачку в вашей среде, так как это может вызвать больше проблем (например, нехватка / замедление ввода-вывода диска, зависание ядра), если вы часто используете подкачку.

Но если вы хотите попробовать, эти команды могут вам помочь (запустите их все как root):

cos-swap / # sysctl vm.disk_based_swap=1
vm.disk_based_swap = 1
cos-swap / # fallocate -l 1G /var/swapfile
cos-swap / # chmod 600 /var/swapfile
cos-swap / # mkswap /var/swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=406d3dfc-3780-44bf-8add-d19a24fdbbbb
cos-swap / # swapon /var/swapfile
cos-swap / # cat /proc/meminfo | grep Swap
SwapCached:            0 kB
SwapTotal:       1048572 kB
SwapFree:        1048572 kB
Другие вопросы по тегам