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服务即可正常
相关推荐
名字还没想好☜1 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
动力 continue2 小时前
docker容器大舞台,创建镜像,构造类,基础速通
docker·容器
tangwangbi2 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师2 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏2 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
mengge.cloud3 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
tang777894 小时前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip
新时代牛马4 小时前
Linux 系统调用与IPC 完整篇:从syscall 入口、VDSO 到pipe/shm/futex 选型
linux·运维·服务器
fpcc6 小时前
计算机原理—Linux是如何加载可执行文件到内存
linux
野熊佩骑6 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes