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

相关推荐
java_logo12 小时前
Docker 部署 EmulatorJS:轻松搭建浏览器复古游戏平台
游戏·docker·容器·复古游戏·轩辕镜像·emulatorjs·红白机
吴声子夜歌13 小时前
Kubernetes权威指南——网络原理(一)
网络·容器·kubernetes
方便面不加香菜15 小时前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
无言听风雨丶17 小时前
Kubernetes Service Mesh 与 mTLS 实战:从网络可达走向零信任服务通信
网络·kubernetes·service_mesh
weirong19 小时前
跟原生 HPA 做对照压测:五轮里前四轮全废,最后一个结论也被我自己降级
kubernetes
无人生还别怕21 小时前
如何搭建docker仓库(轻量级)registry
linux·运维·docker·云原生·容器·registry·openanolisos
YYYing.2 天前
【K8s系列 (一) 】Docker与容器(上篇)
docker·云原生·容器·kubernetes
csdn_aspnet2 天前
使用 Docker 和 RedisInsight 设置 Redis 以进行本地开发
redis·docker·容器·redisinsight
余槐i2 天前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
csdn_aspnet2 天前
如何在本地 Docker 容器中运行 Redis,并使用 Redis Insight 和 Redis CLI 进行管理
redis·docker·容器