k8s运行运行pod报错超出文件描述符表限制

1.问题描述

运行pod超过文件描述符表

复制代码
unable to allocate file descriptor table - out of memory/opt/COMMAND.sh: line 9: 

2.查看设备的文件描述符限制

操作前一定要先查询这个值,2097152这个值即为我们可设置的最大值,超过这个值后将无法登录,即使只超过1,并且一定不能设置为unlimited

个人建议先给最大值的一半,如果是不够再适量往上扩(这个值的配置需要尤其慎重,一旦有差错便会无法登录,需要进入救援模式操作)

复制代码
cat /proc/sys/fs/file-nr    #已分配的  分配后释放的  最大的
10816   0       2097152
cat /proc/sys/fs/nr_open
2097152
cat /proc/sys/fs/file-max
2097152

3.编辑/etc/security/limits.conf

添加两行,并重启systemd-logind或者重启服务器

复制代码
root soft nofile 1048576
root hard nofile 1048576


systemctl restart systemd-logind

4.容器运行时是containerd,所以还需要改containerd的启动文件(docker同理)

是k8s集群的遇到这个问题情况下,master和所有node都需要修改containerd/docker的这部分配置

复制代码
vim /etc/systemd/system/containerd.service
#找到以下部分内容,修改值和上面几步的值一致
LimitNPROC=1048576
LimitCORE=1048576
LimitNOFILE=1048576

5.重启containerd,再次运行后已正常

相关推荐
Uncertainty!!6 小时前
Ubuntu 22.04 安装超好用中文输入法rime-ice(雾凇拼音)过程记录
linux·ubuntu·中文输入法
ShineWinsu7 小时前
对于Linux:网络基础的解析
linux·网络·面试·udp·笔试·ip·tcp
蜀道山老天师8 小时前
K8s Secret 与 ConfigMap 配置管理及动态更新实战详解
云原生·容器·kubernetes
↘"LYong8 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Zhang~Ling8 小时前
Vim 多模式详解:命令、插入、底行与插件配置
linux·编辑器·vim
想你依然心痛10 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
做个文艺程序员11 小时前
Linux第12篇:性能监控与瓶颈分析——CPU/内存/IO/网络全维度
linux·运维·网络
HAPPY酷11 小时前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
bukeyiwanshui11 小时前
20260624 k8s pod命令
云原生·容器·kubernetes
网络研究院12 小时前
Brave浏览器放大招引入容器功能,实现多账户安全隔离
网络·安全·容器·浏览器·数据·隐私