当前位置: 首页 > news >正文

k8s中pod的hostport端口突然无法访问故障处理

故障背景:
租户告知生产环境的sftp突然无法访问了,登录环境查看sftp服务运行都是正常的,访问sftp的hostport端口确实不通。

故障处理过程
既然访问不通那就先给服务做个全面检查,看看哪里出了问题,看下sftp日志,也没有啥关键报错,接下来查看了下sftp服务的svc端口,发现通过svc地址和端口是能正常访问的,通过pod IP去访问也是可以,这就很奇怪了,唯独用主机ip加hostport端口就访问不通。
尝试手段一: 跟租户沟通,看看能否重启服务试试,发现重启完服务,还是老样子,通过hostport访问依然不通。
尝试手段二: 登录到对应的sftp主机,查看sftp服务对应的iptables规则是否有啥限制或者生产的容器服务规则转发有问题,发现iptables的规则没有做啥拦截,唯一的拦截是对icmp协议的,基本不是这个问题,然后查看到iptables规则中关于sftp hostport端口转发到目的服务地址有问题,以前的pod生产转发规则还存在,那就是以前的pod删除后,iptables规则没有及时跟新删除,如下图所示有许多2022的hostport端口转发到sftp容器的22端口:
在这里插入图片描述然后尝试重启Kube-proxy使其重新加载规则看看,重启完之后查看规则确实正常了,但是请求sftp的hostport端口仍然不通。
尝试手段三: 凡是再一再二,不再三,仔细分析下,通过业务主机和hostport访问,还会涉及走PREROUTING链,看下PREROUTING如下:

1)sudo iptables -t nat -nvL PREROUTING
2)sudo iptables -t nat -nvL CNI-HOSTPORT-DNAT

在这里插入图片描述

1)sudo iptables -t nat -nvL CNI-DN-5312d803d41f87c69f67f
查看对应2022端口号的nat规则
2)sudo iptables -t nat -nvL CNI-HOSTPORT-DNAT --line-numbers 查看对应规则的序号
3)sudo iptables -t nat -D CNI-HOSTPORT-DNAT 1 删除对应规则 ,注: 确定这条规则确实以前产生没用的。

具体操作步骤如下截图:
在这里插入图片描述
删完对应规则后,sftp的hostport访问正常。可能跟升级操作系统后防火墙出现问题导致pod销毁,规则无法回收。

http://www.lryc.cn/news/247581.html

相关文章:

  • 高德开始“跑腿”
  • Notion for Mac:打造您的专属多功能办公笔记软件
  • pip 安装软件出现 [No space left on device]
  • 【算法刷题】Day8
  • 基于单片机的智能饮水机控制系统(论文+源码)
  • 电脑格式化了怎么恢复原来的数据?您可以这样做
  • mysql 性能排查
  • SpringBoot+网易邮箱登录注册
  • SQL Server对象类型(7)——4.7.触发器(Trigger)
  • 让@RefreshScope注解来帮助我们实现动态刷新
  • c++ opencv使用drawKeypoints、line实现特征点的连线显示
  • Ruoyi-cloud / 若依 SpringCloud服务器部署
  • Java面试题09
  • Linux grep命令
  • RPC之GRPC:什么是GRPC、GRPC的优缺点、GRPC使用场景
  • 无人机光伏巡检代替人工,贵州电站运维升级
  • 【Q3——30min】
  • leetcode每日一题35
  • 第二十章——多线程
  • 【FGPA】Verilog:JK 触发器 | D 触发器 | T 触发器 | D 触发器的实现
  • 【人工智能】人工智能的技术研究与安全问题的深入讨论
  • 苹果提醒事项怎么用?几个简单步骤就能学会!
  • <HarmonyOS第一课>从简单的页面开始 【课后考核】
  • 如何实现按需加载
  • Vue3-admin-template的表格合计计算
  • spring JdbcTemplate 快速入门
  • leetcode:用队列实现栈(后进先出)
  • 使用opencv实现更换证件照背景颜色
  • Unity打出的安卓包切换后台再恢复前台,卡顿许久问题记录
  • Linux常用命令----shutdown命令