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进行抓包

相关推荐
jingshaoqi_ccc24 分钟前
ubuntu 24下面安装docker
ubuntu·docker·eureka
关关长语1 小时前
Vue本地部署包快速构建为Docker镜像
前端·vue.js·docker
水滴与鱼2 小时前
DOCKER制作ROS运行的镜像文件
运维·docker·容器
洒家肉山大魔王4 小时前
Kubernetes中Pod 处于 CrashLoopBackOff 状态(生产环境)
linux·容器·kubernetes·pod·pod循环重启
杨浦老苏5 小时前
安全的消息传递和协作工具Virola Messenger
docker·即时通讯·群晖·im
Lynnxiaowen6 小时前
今天我们学习kubernetes内容Ingress资源对象
学习·容器·kubernetes
jason成都7 小时前
emqx的docker部署
运维·docker·容器
mixboot7 小时前
docker 国内镜像源
docker·镜像源
谷粒.8 小时前
云原生时代的测试策略:Kubernetes环境下的测试实践
运维·网络·云原生·容器·kubernetes
java_logo8 小时前
Milvus GUI ATTU Docker 容器化部署指南
运维·数据库·docker·容器·eureka·milvus