Я новичок в кубернетах, и я пытаюсь развернуть на нем эластичный поиск. В настоящее время у меня проблема с количеством файловых дескрипторов, необходимых для elasticsearch и разрешенных докером.
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
Чтобы исправить это, я попробовал 3 разных способа:
Из документации докера dockerd должен использовать системное значение в качестве значения по умолчанию.
/etc/security/limits.conf с * - nofile 65536ulimit -Hn && ulimit -Sn return return 65536 дваждыdocker run --rm centos:7 /bin/bash -c 'ulimit -Hn && ulimit -Sn' (должен вернуть 65536 дважды, но нет, вернуть 4096 и 1024)--default-ulimit nofile=65536:65536 в /var/snap/microk8s/current/args/dockerddocker run --rm centos:7 /bin/bash -c 'ulimit -Hn && ulimit -Sn' (должен вернуть 65536 дважды, но без возврата 4096 и 1024)добавлять
"default-ulimit": { "Нет файла":{ "Name": "nofile", «Жесткий»: «65536», «Мягкий»: «65536» } }
кому: /var/snap/microk8s/354/args/docker-daemon.json
systemctl restart snap.microk8s.daemon-docker.servicejournalctl -u snap.microk8s.daemon-docker.service -f вернет unable to configure the Docker daemon with file /var/snap/microk8s/354/args/docker-daemon.json: the following directives don't match any configuration option: nofileЕдинственный способ, который я нашел для установки ulimit, - это передать --ulimit nofile=65536:65536 команде docker run. Но я не могу этого сделать в моей конфигурации Kubernetes Statesfullset.
Так ты знаешь, как я могу решить эту проблему? Я здесь что-то не так?
Заранее спасибо за помощь
ps: я использую ubuntu 18.0.1 с докером 18.06.1-ce и microk8s, установленным с помощью оснастки
Да, я пробовал с docker.elastic.co/elasticsearch/elasticsearch-oss:6.5.4, а также с рулевой диаграммой от эластичный и официальный. И со всеми ними у меня одни и те же проблемы ....


Немного поздно, но если у кого-то тоже есть эта проблема, вы можете добавить эту строку в /var/snap/microk8s/current/args/containerd-env:
ulimit -n 65536
Затем остановите / запустите microk8s, чтобы включить это исправление. Если вы выполните команду docker run --rm centos:7 /bin/bash -c 'ulimit -Hn && ulimit -Sn', вы увидите 65536 дважды
Подробнее о выпуске Microk8s на Github # 253. В Microk8s есть исправление для слияния, которое, возможно, скоро будет доступно в выпуске.
разве вы не используете изображения ELK? Я думал, у них уже есть правильный ulimit