巧妹儿 2023-03-26 11:19 采纳率: 0%
浏览 47

K8S nginx能正常运行,但是 curl 访问 Connection refused,怎么解决?

K8S nginx能正常运行,但是 curl 访问 Connection refused,怎么解决?

centos7.5 k8s 一个k8s-master,两个节点:k8s-slave1, k8s-slave2


# master执行:
$ kubectl run test-nginx --image=nginx:alpine
$ kubectl get po -o wide
# 能正常运行
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
test-nginx-5bd8859b98-qvks5 1/1 Running 0 29s 172.17.0.2 k8s-slave2 <none> <none>

$ curl 172.17.0.2
curl: (7) Failed connect to 172.17.0.2:80; Connection refused
# 但是k8s-slave2节点,$ curl 172.17.0.2是能通的,但是在master和别的节点上就curl不通。

[root@k8s-slave2 ~]# curl 192.169.165.181:30960

curl: (7) Failed connect to 192.169.165.181:30960; Connection refused
[root@k8s-slave2 ~]# 
[root@k8s-slave2 ~]# curl 172.17.0.2
<!DOCTYPE html>
<html>
<head>

Thank you for using nginx.

[root@k8s-master ~]# curl 172.17.0.2 curl: (7) Failed connect to 172.17.0.2:80; Connection refused [root@k8s-master ~]# ping 172.17.0.2 PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data. 64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.096 ms 64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.037 ms [root@k8s-slave1 ~]# curl 172.17.0.2 curl: (7) Failed connect to 172.17.0.2:80; No route to host # 三台机器的防火墙都是ACCEPT,没有问题: iptables -L -n Chain FORWARD (policy ACCEPT) # 网络也是好的: [root@k8s-master ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.165.2 0.0.0.0 UG 0 0 0 ens33 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.165.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 # 所有节点都是ready状态,镜像都已经安装了 [root@k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 10h v1.16.2 k8s-slave1 Ready <none> 10h v1.16.2 k8s-slave2 Ready <none> 10h v1.16.2 [root@k8s-master ~]# kubectl get pod -n kube-system NAME READY STATUS RESTARTS AGE coredns-58cc8c89f4-29t99 1/1 Running 1 10h coredns-58cc8c89f4-nkbqf 1/1 Running 1 10h etcd-k8s-master 1/1 Running 1 10h kube-apiserver-k8s-master 1/1 Running 1 10h kube-controller-manager-k8s-master 1/1 Running 1 10h kube-proxy-6dvpv 1/1 Running 2 10h kube-proxy-6mbrd 1/1 Running 1 10h kube-proxy-9cwrv 1/1 Running 1 10h kube-scheduler-k8s-master 1/1 Running 1 10h

我交流学习k8s
可以加我微信:wqm701,也可以把我拉到运维群里,一起学习

  • 写回答

4条回答 默认 最新

  • IT_service_mesh 2023-03-26 11:34
    关注

    参考GPT和自己的思路:从您提供的情况来看,K8S nginx能够正常运行,但是curl访问时出现Connection Refused错误。这很可能是因为Kubernetes集群中的某些网络配置问题导致的。

    为了排除问题,您可以尝试以下步骤:

    1. 确认访问的IP地址是否正确。 确保您使用的IP地址与运行nginx的Pod的IP地址相同。
    2. 确认iptables设置是否正确。 检查iptables是否正确配置,例如是否有正确的NAT规则来转发到Pod IP。
    3. 检查Pod是否具有正确的标签与服务匹配。 确认您的nginx Pod是否具有正确的标签,并且该标签匹配您的Kubernetes服务配置。
    4. 检查服务是否正确。检查您的服务是否正确创建,并在正确的端口上公开了Nginx Pod。
    5. 确认kube-proxy是否正常工作。kube-proxy是Kubernetes内置的网络代理,负责转发访问到正确的Pod。检查kube-proxy是否正在运行,并且没有错误。
    6. 检查网络插件是否正确。 确认您正在使用的网络插件是否正确配置,并且未出现任何问题。

    如果您还没有解决问题,请检查Kubernetes节点和Pod之间的网络连接是否工作正常。如果没有,则可能需要对Kubernetes集群进行进一步调查和诊断,例如使用kubectl describe命令查看Pod和服务状态,使用kubectl logs命令获取日志等。

    另外,建议您加入Kubernetes社区或者参考Kubernetes官方文档进一步了解和学习Kubernetes。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月26日

悬赏问题

  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置