2025年nfs server用到的文件和目录(nfs-server.service canceled)

nfs server用到的文件和目录(nfs-server.service canceled)二进制安装 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 无法分配到这个节点 解决办法 磁盘快满导致 清理磁盘容量



二进制安装k8s,日志所在位置 /opt/kubernetes/logs,命令查看集群主机日志命令 journalctl -u kubelet1.k8s 污点 node.kubernetes.io/disk-pressure

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

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

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

2.二进制安装K8S报错

k8s nfs_docker

问题描述:如上图,未关闭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方式安装-节点加入集群报错

k8s nfs_linux_02

问题描述:如上图

解决办法:所有需要加入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也作为节点加入集群正常,但其他节点加入后报错

k8s nfs_docker_03

问题描述:如上图

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

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

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

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

k8s nfs_linux_04

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和节点问题排查)

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

编程小号
上一篇 2025-02-10 08:51
下一篇 2025-03-30 11:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/52742.html