K8s问题案例分析

1.worker节点宕机,请说明一下pod的驱逐流程:

k8s有一个节点控制器,节点控制器在一段时间内无法和kubelet通信,那么就会给节点打上unknown 状态,并自动创建NoExecute污点,避免调度器调度新的pod到该节点。同时已经在这个节点运行的pod,在经过五分钟的容忍时间后被NoExecute自动驱逐。

2.尝试用的日志分析工具在K8s种如何与集群进行通信:

方案一:

一个pod节点部署一个应用容器和边车容器,用共享存储卷emptydir共享两个容器之中的日志目录,边车容器部署这日志收集工具比如:filebeat/fluentd(菲尔安提的)收集共享存储的日志,采集完发送个ESpod集群的service的clusterip,再通过service转发给ES,kibana通过ES的service的cluster访问到es相关的数据进行可视化管理操作。

方案二:

运用hostpath的方法把容器里的日志目录挂载在pod在宿主机的的的目录上,在宿主机上部署filebeat/fluentd 收集日志发送给ESpod集群的service的nodeport(因为时外部宿主机访问),service再转发给ESpod集群,pod容器里的kibana通过ESpod集群的clusterip访问到ES相关的数据进行可视化管理操作。

3. pod启动失败如何解决以及常见的原因有哪些:

没有合适的node节点部署pod,镜像拉取失败,存储券挂载失败,健康检查失败(探针),容器启动失败,启动命令有问题。

4.K8S雪崩:

5.在docker容器里面进行抓包:

kubectl describe pod pod名称 -n 命名空间 -o wide | grep -i 'id'

#获取pod所在的容器id 也就是container id

docker inspect containerid |grep -i pid #根据找到的pid进入pod的网络命名空间

nsenter -t pid号 -n #使用tcpdump进行抓包 #根据找到的pid进入pod的网络命名空间

tcpdump -w xxx.pcap #使用tcpdump进行抓包

相关推荐
2401_834120872 分钟前
spring-cloud-kubernetes与SpringCloud Gateway
spring cloud·kubernetes·gateway
yunteng5211 小时前
Sealos部署k8s集群
云原生·容器·kubernetes·sealos
学到头秃的suhian3 小时前
Docker基础扫盲
运维·docker·容器
星星乘坐的船4 小时前
基于Kubernetes Python SDK实现Job创建
linux·python·kubernetes
袁袁袁袁满4 小时前
Docker后台日志和容器日志怎么查看?
linux·运维·服务器·docker·容器
学到头秃的suhian5 小时前
Docker相关命令
docker·容器
技术栈壳6 小时前
了解K8s
云原生·容器·kubernetes
请为小H留灯7 小时前
Docker 命令速通指南:从入门到封神的 100 + 必学指令,一篇搞定容器全操作
运维·docker·容器
蘼子7 小时前
Windows装Docker至D盘/其他盘(最新,最准确,直接装)
windows·docker·容器
tod1137 小时前
Redis Sentinel 高可用架构:从原理到 Docker 部署全解析
数据库·redis·docker·架构·sentinel