K8s 日常运维故障处理,80% 你可能都遇见过!?
来源:https://blog.csdn.net/qq_42883074/article/details/126221693
一、ContainerCreating
1、docker 服务问题
2、K8s 挂载远程存储问题
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
volumeMounts:
- mountPath: /tmp/
name: www
volumes:
- name: www
nfs:
path: /nfs/web/date
readOnly: true
server: 192.168.1.21
nfs 挂载报错 mount failed: exit status 32 是存储nfs不存在
nfs 挂载报错 mount failed: exit status 1 记不清了,反正在nfs的问题,试试挂载目录或者权限吧
gfs 挂载报错 mount failed: exit status 32 是指 node节点上没有安装 gfs的客户端
gfs 挂载报错 mount failed: exit status 1 可能是我们没有在gfs服务端创建要挂载的卷
3、configmap 问题
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx
imagePullPolicy: Always
name: nginx
volumeMounts:
- mountPath: /tmp/
name: www
volumes:
- name: www
configMap:
name: nginx-config
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 2m21s default-scheduler Successfully assigned default/nginx-59d6d76f78-2kh7n to vm-16-16-centos
Warning FailedMount 18s kubelet Unable to attach or mount volumes: unmounted volumes=[www], unattached volumes=[www kube-api-access-hvk9s]: timed out waiting for the condition
Warning FailedMount 13s (x9 over 2m21s) kubelet MountVolume.SetUp failed for volume "www" : configmap "nginx-config" not found
每个人的环境不同,解决方法也不一样,如果是自己写错了名称,改一下就OK 如果是别人开发的环境,最好找开发来看
二、ErrImagePull 或者 ImagePullBackOff
1、仓库镜像问题
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx:1111111111 #不存在的镜像
imagePullPolicy: Always
name: nginx
volumeMounts:
- mountPath: /tmp/
name: www
volumes:
- name: www
configMap:
name: nginx-config
2、startContainer
三、Pending
1、 K8调度组件 scheduler 组件异常, 集群组件挂了
2、 sa 没有权限或者不存在
3、 用户指定的匹配节点策略有问题 (nodeselector 容忍、污点等等调度策略)
通常是应用用户标签写错了
4、 节点没有足够的资源满足调度 //测试环境通常资源较小,用户软限制太大无法调度
5、pv 卷问题
四、CrashLoopBackOff 或者 ERROR
1、 容器服务配置有问题,导致容器服务的守护进程启动直接挂掉了,检查配置
2、容器健康检查探针检查端口不正常会杀死容器重启,
3、容器有什么启动后的操作,操作到一般发现跑不下去了,比如容器服务启动脚本里面有
//ftp 链接
//域名无法解析
//远程主机端口无法通讯等等
4、容器资源限制太小,内存软硬限制一般是1:1的 然后内存超出我们的硬限制后oom 导致容器重启报错
五、Terminating或Unknown
六、UnexpectedAdmissionError
kubectl get pods -A | grep UnexpectedAdmissionError | awk '{print("kubectl delete pod ", $2, " -n ", $1)}' | /bin/bash
七、一个误以为是 K8s 问题的 linux 问题
//部署nfs服务
echo "/home/nfs *(rw,async,no_root_squash)" >> /etc/exports
//启动nfs
systemctl start nfs
//登陆客户端创建目录
mkdir -p /tmp/test1/
//挂载nfs
mount -t nfs 10.0.16.16:/home/nfs /tmp/test1/
//查看
df -h | grep /tmp/test1
//停止nfs服务
systemctl stop nfs
//查看df命令
df -h
mount -l | grep nfs
END
官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
刘遄老师QQ:5604215
Linux技术交流群:2636170
(新群,火热加群中……)
想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章