首页 > 其他分享 >K8S生产环境故障排查一(POD和节点问题排查)

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

时间:2023-03-01 09:22:53浏览次数:50  
标签:容器 查看 节点 排查 POD K8S pod

一、POD启动异常、部分节点无法启动pod
容器里管理应用

pod是k8S中最小调度单元,POD里面的容器共享pod的空间、资源、网络、存储等。
pod管理一个容器。
pod管理多个容器
pod出现异常的原因:
1、资源过剩: 大量POD在同一个物理节点,出现资源占用太多导致物理节点宕机。

2、内存和CPU超标:pod中的应用出现内存泄露,导致pod内存迅速增多,pod kill 了影响节点正常提供服务。(解决办法:压测占用多少内存和CPU,做资源限制;)

3、网络问题:导致POD无法通信(解决办法:检查calico网络插件情况)

4、存储问题:pod挂载的共享存储连接不上导致pod启动异常(解决办法:查看共享存储是否正常,存储卷是否正常)

5、代码问题:应用程序代码在容器启动后失败(解决办法:排查应用程序代码)

6、配置问题:在部署deployment和statefulset时,资源清单编写有问题,导致pod无法正常创建(解决办法:查看资源配置的清单)

7、借助监控系统排查以上问题。

POD架构:

 

 

 


查看pause容器是否存在

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K8S排查问题的4个万金油命令:

 

 

 


查看POD的日志

 

 

 

 

 

查看POD中容器的日志


故障一思路:网络问题导致部分节点pod一直处于ContainerCreating 的状态
1、先查看状态:

 

 

 

 

2、创建nginx的pod,如果也出问题,k8s-node1节点出问题。否则检查tomcat pod本身。

3、如果是节点问题,则迁移节点上running的应用到其他节点。再执行重置k8s的初始化工作回复该节点。

 

 

 

 

 

故障二思路:存储问题导致部分节点pod一直处于ContainerCreating 的状态

 

 

 


查看POD日志:kubectl logs jenkins-856b77795f-hcj89 -n jenkins-k8s
查看K8S日志:journalctl -f -u kubelet

 

 

 

 

查看PV和PVC的清单,或者PV被其他应用占用无法绑定。

 

二、POD状态异常排查问题集

三、POD健康检查:存活性探测、就绪性探测

四、K8S关键部位故障:容器状态异常

五、token验证问题、执行异常

标签:容器,查看,节点,排查,POD,K8S,pod
From: https://www.cnblogs.com/fengxia6/p/17166815.html

相关文章

  • Kubernetes(K8S)应用案例
    某互联网公司拥有一个复杂的微服务应用程序,其中包含数百个服务。这些服务运行在不同的服务器上,使用不同的编程语言和框架。因此,管理和扩展这些服务变得困难,公司需要一个能......
  • 一次k8s docker下.net程序的异常行为dump诊断
    背景昨天,一位朋友找到我寻求帮助。他的项目需要调用一个第三方项目的webAPI。这个webAPI本身可从header,querystring中取相关信息,但同事发现他在调用时,无法按期望的那样......
  • kubeadm卸载清空k8s环境
    #!/bin/bashkubeadmreset-fmodprobe-ripiplsmodrm-rf~/.kube/rm-rf/etc/kubernetes/rm-rf/etc/systemd/system/kubelet.service.drm-rf/etc/systemd/s......
  • k8s各种证书介绍
    在进行二进制搭建K8S集群前,我们需要梳理最磨人的一个点,就是各种各样的证书。官方文档参考:https://kubernetes.io/docs/setup/certificates/https://blog.csdn.net/vic_qx......
  • K8S调度约束 (云原生)
    一、调度约束Kubernetes是通过List-Watch(监控)的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过kubectl根据配置文件,向APIServer......
  • 网络故障排查
    常见的网络故障(非硬件):故障1:计算机可以通过IP地址连接到网络设备,但是不能通过主机名连接。(请至少写出两个原因)关闭防火墙DHCP分配有问题DNS端口被占用故障2:计算机未......
  • POD
    一、pod介绍1、pod的基础概念Pod是kubernetes中最小的资源管理组件,Pod也是最小化运行容器化应用的资源对象,一个pod代表着集群中运行的一个进程。kubernetes中其它大多数......
  • k8s 部署 metrics-server
    k8s提供了top命令可用于统计资源使用情况,它包含有node和pod两个⼦命令,分别显⽰node节点和Pod对象的资源使⽤信息。kubectltop命令依赖于metrics接口。k8s系......
  • K8S 1.20 弃用 Docker 评估之 Docker CLI 的替代产品
    背景2020年12月初,Kubernetes在其最新的Changelog中宣布,自Kubernetes1.20之后将弃用Docker作为容器运行时。弃用Docker带来的,可能是一系列的改变,包括不限于:......
  • k8s中的PV和PVC
    前言容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet会重启它,但是容器中的文件将丢失——容器以干净的状态......