Kubernetes Docker操作系统参数与主机操作系统参数

我在Docker容器(容器操作系统是Red Hat Linux)上运行NGINX和Tomcat,并通过Kubernetes豆荚进行部署。 主机操作系统是Red Hat Linux。

我的查询是哪个OS参数将有效 – 主机操作系统或容器操作系统? 在性能调整期间,是否需要调整OS或主机OS参数才有效。 我所指的一些参数的例子是ulimit – n(打开的文件),net.ipv4.tcp。*,fs.file-max等

正如Crazykev已经提到的那样,您可以使用各自的docker run标志来设置ulimits。

net.ipv4.tcp.*这样的参数内核参数 。 Docker容器与主机系统在同一个Linux内核中运行; 因此,在主机上设置的参数在容器中也是有效的。

通常,您将无法从容器内设置这些参数。 你可以(不是说你应该)用--privileged标志来启动一个容器,这个标志可能(未经testing)允许你从容器中设置内核参数。 Kubernetes文档还介绍了如何启动特权容器 。

在Docker容器中,我不确定它是否可以被称为OS …

顺便说一下,你的一些推荐的例子可能不支持在Docker容器中直接设置的安全或其他问题。 您可能需要在Docker文档中find更多的手册(例如,ulimit, docker run --ulimit nofile=262144:262144

Kubernetes现在不支持添加ulimit有一个问题在kubernetes打开。

询问关于设定限制的类似的问题在这里回答。