k8s发生故障,可以从哪些方面排查

这篇具有很好参考价值的文章主要介绍了k8s发生故障,可以从哪些方面排查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一方面:审视集群状态

第二方面:追踪事件日志

第三方面:聚焦Pod状态

第四方面:检查网络连通性

第五方面:审视存储配置

第六方面:研究容器日志


第一方面:审视集群状态

K8S的集群状态是排查故障的关键起点。使用kubectl get nodes命令来检查节点状态。如果有节点未能就绪或出现异常状态,可能会对应用程序造成故障。确保基本组件,如etcd、kubelet和kube-proxy等,正常运行。

第二方面:追踪事件日志

深入了解集群中发生的事件是解决K8S故障的重要环节。通过kubectl get events命令查看事件日志。事件日志记录了与集群中重要事件和错误相关的信息。透过事件日志的检查,能够了解K8S组件或应用程序中存在的潜在故障,并准确定位问题。

第三方面:聚焦Pod状态

通过运行kubectl get pods --all-namespaces命令,获取集群中所有Pod的状态。若有Pod未处于运行状态(例如挂起、错误或未就绪等),很可能与容器或应用程序相关的问题有关。借助kubectl describe pod命令,获取特定Pod的详细信息,以便深入排查。

第四方面:检查网络连通性

确保网络连接正常。审查服务、Pod和节点之间的网络通信是否存在问题。运行kubectl get services命令查看服务状态,使用kubectl describe service获取相关服务的详细信息。同时,验证网络策略和防火墙规则的正确配置。

第五方面:审视存储配置

如果你的应用程序使用持久性存储(例如Persistent Volumes和Storage Classes),务必确保存储配置正确。检查存储卷声明、存储类和持久卷的状态。通过kubectl get pv、kubectl get pvc和kubectl get storageclass命令,获取与存储相关的信息。

第六方面:研究容器日志

深入容器的日志能够提供关于应用程序故障的重要线索。使用kubectl logs命令查看特定Pod中容器的日志输出。如果Pod内含多个容器,你可以使用kubectl logs-c来查看特定容器的日志。

总结

       当然,具体的排查方法还取决于你的集群配置、应用程序部署方式以及故障的具体现象。根据实际情况,可能需要进一步调查或采取其他排查措施。立足于这些方向,你将更有把握解决K8S故障,并确保应用程序持续稳定运行。文章来源地址https://www.toymoban.com/news/detail-538946.html

到了这里,关于k8s发生故障,可以从哪些方面排查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S(KubeSphere)边做边学(一)——基础故障排查

    公司系统近1年开始转变为基于微服务的k8s部署结构,使用的是kubesphere。 由于公司系统迭代更新频率较高,且不时有新的私有化客户部署搭建,更新和部署过程中经常会遇到各类问题。对于研发出生,非运维专业又是半路出家学习了解K8S的我来说,一路磕磕碰碰,边学习边积

    2024年02月08日
    浏览(37)
  • K8S集群Node节点NotReay状态故障排查思路

    在K8S集群中,经常会出现Node节点处于NotReady的状态,当Node节点处于NotReady状态时,会导致该Node节点上的所有Pod资源停止服务,对整体应用程序会产生一定的影响。 在一个Node节点中可以运行多个Pod资源,每一个Pod资源中可以运行一个容器或者多个容器,同时共享一个网络存储

    2024年01月22日
    浏览(51)
  • K8S集群中Pod与Pod之间网络故障排查思路

    在K8S集群中,可能会出现Pod与Pod之间无法通信的现象,也就是说Pod无法跨Node主机进行通信,Pod与Pod之间网络不通讯会导致无法请求Pod中的服务,Apiserver也可能会无法获取Pod的运行状态,产生一系列问题。 Pod与Pod之间网络不通讯,很有可能是网络组件产生了异常导致的。 排查

    2024年01月16日
    浏览(41)
  • K8s:Kubernetes 故障排除方法论

    博文内容为节译整理 文中提到的工具大部分是商业软件,不是开源的,作为了解 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回

    2024年02月15日
    浏览(50)
  • k8s故障排查个案:当Pod内存持续增长,OOM问题如何解决?

    pod 运行一段时间后,内存持续增长,甚至 oom 的情况. 容器化过程中,我们经常会发现 kubernetes 集群内 pod 的内存使用率会不停持续增长,加多少内存吃多少内存,如果对 cgroup 内存的构成不是很清楚的情况下,单纯看监控看不出什么问题。 经过一番查阅,目前总结出大致有

    2024年02月22日
    浏览(59)
  • nodejs前端项目部署到k8s,导致线上故障的排查与解决方法

    因我们的前后端项目都部署在k8s集群中,前端项目采用npm和node管理 事故背景: 某天前端同事在测试环境更新完一个前端服务后,访问正常,然后按照正常流程上线到生产环境,但是,在生产环境更新完成后,测试同事反馈访问报502错误,我就去服务器排查刚才发布的服务,检查pod状态

    2024年02月02日
    浏览(43)
  • K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路

    故障一:Pod数量太多超出物理节点的限制 每一台Node节点中默认限制最多运行110个Pod资源,当一个应用程序有成百上千的Pod资源时,如果不扩容Node节点或者修改最大Pod数量限制,那么就会导致部分Pod资源无法正常运行,因为节点已经没有资源可以被调度了。 解决思路就是扩容

    2024年02月02日
    浏览(44)
  • k8s pod一直处于pending状态一般有哪些情况,怎么排查?

    一个pod一开始创建的时候,它本身就是会处于pending状态,这时可能是正在拉取镜像,正在创建容器的过程。 如果等了一会发现pod一直处于pending状态, 那么我们可以使用kubectl describe命令查看一下pod的Events详细信息。一般可能会有这么几种情况导致pod一直处于pending状态: 1、

    2024年01月17日
    浏览(56)
  • 【故障排查】VMware挂起后恢复,k8s集群无法ping/curl通pod/svc/ingress

    一、master/node节点,去curl pod IP,一直卡着,没反应。timeout。 二、挂起恢复后,harbor服务无法正常访问503 ,需要重启harbor服务。 进容器curl localhost,是正常的。 而网络CNI 、flannel 、 coreDNS等都是running状态。 (发现restarts的次数有点多) .这里的metrics-server一直失败的。 可参考

    2023年04月17日
    浏览(43)
  • 云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复

    目录 一、实验 1.环境 2.安装 Ubuntu 3.连接Ubuntu 4.master节点安装docker 5.node节点安装docker 6.master节点安装K8S 7.添加K8S工作节点 8.安装网络插件calico 9.故障 10.故障恢复 11.测试k8s网络和coredns 二、问题 1.Ubuntu如何修改镜像源 2.Ubuntu和Windows之间如何实现复制粘贴 3.Ubuntu如何开启openssh

    2024年02月21日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包