给Kubernetes集群下的容器配置内核参数
问题
在Kubernetes集群下运行的容器的内核参数是默认的,但是对于某型类型的应用如Nginx Ingress controller而言,默认的内核参数配置是不够的,需要做出调整,例如somaxconn是限制了接收新 TCP 连接侦听队列的大小,它的默认值是128,但是对于反向代理的服务器而言,这个配置实在是太小了。那么我们自然想到需要去调整这个应用的容器的内核配置参数。
解决之道
Docker Daemon的处理方式
对于Docker引擎而言,可是使用--sysctl 运行参数来设定需要更改的内核参数,例如:
docker run -it --sysctl net.core.somaxconn=65535 busybox
#在容器看看是否配置成功:
cat /proc/sys/net/core/somaxconn
然后我可以看看容器