环境介绍
系统:银河麒麟V10(SP2)
内核版本:4.19.90-25.21.v2101.ky10.x86 64
部署方式:kubekey
kubernetes的版本:1.23.10
mysql的启动方式:helm
mysql的版本:5.7.33
mysql的启动报错日志
[root@k8s-node-01 helm2377]# kubectl logs -f mysql-master-0
2024-01-11 11:00:32+00:00 [Note] [Entrypoint]: Entrypoint script for MySOl Server 5.7.33-1debian10 started
2024-01-11 11:00:36+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.y306beoUw9
系统报错日志显示mysql内存溢出被系统kill掉了
Jan 12 03:14:10 devopsdoc3-1 kernel:[3068991.5712387Out of meemory: Kill process 35121 (mysqld) score 1608 or sacrifice child
[3068991:#99Killed process 35121 (mysqld)total-vm:16813800kB,, ananrss;9156204kB, file-rss:4kb, sfJan 12 03:14:10 d'gpsdocs

mysql的pod被OOMKilled
最终解决办法
找到docker.service的路径
systemctl status docker
vim /usr/lib/systemd/system/docker.service
把LimitNOFILE从LimitNOFILE=infinity
改成LimitNOFILE=1048576
systemctl daemon-reload
systemctl restart docker
systemctl restart kubelet

LimitNOFILE参数替换
最终mysql成功启动成功
mysql-master-0成功启动

mysql成功启动截图