本次环境背景信息为,需要在k8s里面跑一些前端界面,所以在pod容器中还是使用到了nginx,但是发现,如果nginx worker_processes参数为auto,pod容器会读取node节点的cpu信息来生成线程,如,我pod容器给的资源为0.5核,内存为2G,宿主机node节点为4G8G,那么nginx的工作线程就是4个,这个结果不是我们想要的,需要根据pod容器限制的值来生成,找了很多方式,发下以下方式有效。
env:
- name: NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE
value: "true"
这样,就会根据POD设置的资源限制limit值来设置工作线程。
参考链接:https://github.com/nginxinc/docker-nginx/issues/472