kuberenets pods显示与主机不同的ulimit打开文件

时间:2018-01-28 09:25:04

标签: linux azure kubernetes

我在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

1 个答案:

答案 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