我在Azure VM上启动并运行了K8s群集。
获得后:
java.io.IOException:系统中打开的文件太多
在其中一个pod上,我通过调用
来检查打开的文件限制ulimit -a | grep“打开文件”
在主机上(通过ssh),得到:
打开文件(-n)1024
并从pod中(通过'exec'pod)获得:
bash-4.3#ulimit -a | grep“打开文件”
打开文件(-n)1048576
我的问题是如何有不同的值(pod'看到'比下划线主机更高的限制),以及哪些限制计数 - 如果超过1024个打开的fd被打开它会破坏吗?
基于'alpine-java'的相关pod图像。
主机操作系统是:CentOS Linux版本7.4.1708
答案 0 :(得分:0)
对于Ulimit选项,您应该从您的虚拟机上的docker的单元文件中进行更改
[Service]
ExecStart=/usr/bin/dockerd \
--iptables=false \
--ip-masq=false \
--host=unix:///var/run/docker.sock \
--log-level=error \
--storage-driver=overlay \
--default-ulimit nofile=70000:70000 \
--default-ulimit nproc=70000:70000
Restart=on-failure
RestartSec=5