kubernetes故障收集

二进制安装k8s,日志所在位置 /opt/kubernetes/logs,命令查看集群主机日志命令 journalctl -u kubelet

1.k8s 污点 node.kubernetes.io/disk-pressure

kubectl taint node k8s-node2 node.kubernetes.io/disk-pressure-

问题描述:删除不了这个污点,删除了也会自动添加,新建的pod无法分配到这个节点

解决办法:磁盘快满导致,清理磁盘容量,如果还有节点还是删除不了污点 那就重启那个节点


2.二进制安装K8S报错

image

问题描述:如上图,未关闭selinux和系统时间不同步导致

解决办法:关闭selinux,同步时间

setenforce 0

sed -i 's/enforcing/disabled/' /etc/selinux/config

cat  /etc/selinux/config       #确认已经更改

时间同步
yum install ntpdate -y
ntpdate time.windows.com


3.k8sadm方式安装-节点加入集群报错

image


问题描述:如上图

解决办法:所有需要加入master的节点执行

echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables


4.k8s修改主机名后新建POD报错

Error from server: error dialing backend: dial tcp: lookup master-node on 100.100.2.136:53: no such host

解决办法: 改回原有主机名


4.master也作为节点加入集群正常,但其他节点加入后报错

image

问题描述:如上图

解决办法:安装替换默认yum安装的docker,采用二进制安装的docker后正常


5.离线安装kubectl -f apply coredns.yaml是时coredns的pod一直重启

问题描述:安装coredns,running后不断重启

解决办法: vim coredns.yaml   删除里面的loop,如下图

image

kubeapply -f apply coredns.yaml


5.1大量pod出现evicted(被驱逐状态),产生大量日志/opt/kubernetes/logs/占满磁盘,导致其他命名空间的项目的pod也出现大量evicted

k8s有种机制,当服务器磁盘使用超过85%之后就不允许节点再次创建了,所以节点创建之后就被驱逐了

问题描述:因为有一个节点磁盘使用率百分之88,所有新建的pod到这个节点就会被驱逐,而其他节点也正好没有资源去新建这些pod,所以就出现pod不断

的被驱逐,影响到所有命令空间的所有pod

解决办法:

1.删除所有为evicted状态的pod

kubectl get pods -n zhxy | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n zhxy

2.清理所有节点的磁盘空间,或者增加资源

cd /

du -sh * | sort –n

一层一层找找最后用rm 删除日志或者大文件


6.常见故障排查思路

kubectl get pod -n kube-system   查看集群组件状态

查看集群节点是否处于 Ready 状态 kubectl get node

a. 如果是Ready状态,再使用kubectl describe node k8s-node2 查看资源使用率 kubectl top node

b. 如果是NotReady,则使用kubectl get node -owide 查看对应的节点,然后登陆到对应节点上, 查看kubelet 和docker 服务是否正常


kubectl get cs 查看集群关键组件(etc、scheduler、controller-manager)的状态是否是 Healthy

a. 如果是,不予理睬

b. 如果是Unhealthy 状态,使用则使用kubectl get node -owide 查看对应的节点,然后登陆到对应节点上查看kubelet 和docker 服务是否正常;


7.磁盘满导致etcd故障

https://www.codercto.com/a/50013.html


8.K8S生产环境故障排查一(POD和节点问题排查)

https://blog.csdn.net/qq_25037905/article/details/117232193


9.K8S调度机制和Pod基本故障排查

https://blog.csdn.net/weixin_50344814/article/details/115283251?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.searchformbaiduhighlight&spm=1001.2101.3001.4242

posted @ 2022-04-25 16:44  彭荣俭  阅读(565)  评论(0编辑  收藏  举报