【K8s】【问题排查】k8s只能本地服务器访问服务,其他节点无法访问服务

出现原因:

问题描述:k8s部署服务之后,只能在Pod所在的节点通过node ip+ 对外暴露的端口请求;无法使用CLUSTER-IP+端口访问。也不能在其他Node节点通过Pod所在的节点通过node ip+ 对外暴露的端口请求;

主机名与IP对应情况:

主机名 IP
192.168.199.201 k8s-01
192.168.199.202 k8s-02
192.168.199.203 k8s-03

服务部署情况:

bash 复制代码
kubectl get svc
#显示
NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
nginx-dep1       NodePort    10.10.42.233   <none>        80:30692/TCP   24s
bash 复制代码
kubectl get pods -o wide
#显示
NAME                                            READY   STATUS      RESTARTS   AGE     IP                NODE     NOMINATED NODE   READINESS GATES
nginx-dep1-9bcf54c77-l8wz7                      1/1     Running     0          8m38s   10.122.165.234    k8s-03   <none>           <none>
复制代码
通过上述内容,我们不难发现。服务nginx-dep1部署在k8s-03节点,IP为192.168.199.203。

地址请求测试

服务器 请求地址 是否成功
192.168.199.201、192.168.199.202、192.168.199.203 10.10.42.233 失败
192.168.199.201、192.168.199.202 192.168.199.203:30692 失败
192.168.199.203 192.168.199.203:30692 成功

报错信息:

shell 复制代码
curl: (7) Failed connect to 192.168.199.203:30692; Connection timed out

排查过程:

  1. 排查是否关闭防火墙
    检查已经关闭
  2. 查找Kubernetes相关资料发现,node节点有请求转发,我们需要查看是否开启请求转发
bash 复制代码
iptables --list | grep 'Chain FORWARD'
#显示
Chain FORWARD (policy DROP)
复制代码
出现Chain FORWARD (policy DROP)表示请求转发被关闭。需要开启。

解决方案:

shell 复制代码
iptables -P FORWARD ACCEPT
#为了防止重启再次关闭,填写配置
echo net.ipv4.ip_forward=1 >>/etc/sysctl.conf 

验证:

bash 复制代码
iptables --list | grep 'Chain FORWARD'
#显示
Chain FORWARD (policy ACCEPT)
相关推荐
武子康10 小时前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
小宇宙Zz3 天前
Maven依赖冲突
java·服务器·maven
古城小栈3 天前
Unix 与 Linux 异同小叙
linux·服务器·unix
程序猿阿伟3 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
凡人叶枫3 天前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_961875243 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
lsyeei4 天前
linux 系统目录详解
linux·运维·服务器