K8S问题记录

服务器宕机导致K8S集群异常,部分nginx服务的pod启动失败

K8S版本:v1.12.5

问题1 nginx pod 启动失败,故障现象如下

nginx Pod 启动以后马上报错:

yaml 复制代码
[root@jd-training-cpu-01 ~]# kubectl logs -n paisystem easydl-fe-nginx-79b94ff444-5swq9 -f
2024/04/11 12:42:05 [emerg] 6#6: host not found in upstream "easydl-gateway.paisystem:8099" in /etc/nginx/vhost/quickai.conf:2
nginx: [emerg] host not found in upstream "easydl-gateway.paisystem" in /etc/nginx/vhost/quickai.conf:2

提示 nginx 配置文件有问题,其实是这个 域名 easydl-gateway.paisystem ping不通了,后来发现是这个pod 和另外几个没起来的pod 正好部署在刚刚宕机的那个服务器上并且这个几个Pod还是需要在启动nginx的时候访问upstream里面的地址是否能通,不通就启动失败。

解决方法

因为宕机的那个节点iptables出问题了,导致部署到部署在那个节点上的服务出现问题,解决方法 清空iptables规则并重启docker服务,然后等docker正常以后再重启那几个pod问题解决

yaml 复制代码
# 清空iptables规则
iptables -F

# 重启docker服务(docker服务重启会重新添加K8S集群用到的iptables规则)
systemctl restart docker

# 等docker服务正常以后,再次重启有问题的几个Pod服务即可正常
相关推荐
lichenyang4534 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode4 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫6 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式