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服务即可正常
相关推荐
c238563 小时前
Linux C++ 进度条进阶美化与工程化封装
linux·运维·服务器
程序员酥皮蛋4 小时前
docker基础
docker·容器·eureka
凡人叶枫6 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
RisunJan6 小时前
Linux命令-pgrep (通过进程名查找进程 ID)
linux·运维
信创工程师-小杨7 小时前
Linux内网环境如何解决依赖的问题
linux·运维·服务器
设计师小聂!7 小时前
宝塔 Linux 面板保姆级教程
linux·mysql·开源·运维开发
不吃土豆的马铃薯7 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
java知路7 小时前
linux yum 下载docker安装包及依赖安装包,并离线安装
linux·运维·docker
fanged7 小时前
设备树学习2--一个DTBO实验
linux·嵌入式开发
没有退路那我就不要散步8 小时前
kube-proxy优化
docker·容器·kubernetes