NodePort 服务无法通过“端口”号从外部访问

2024-01-19

我有以下服务配置:

kind: Service
apiVersion: v1
metadata:
  name: web-srv
spec:
  type: NodePort
  selector:
    app: userapp
    tier: web
  ports:
    - protocol: TCP
      port: 8090
      targetPort: 80
      nodePort: 31000

该服务背后有一个 nginx 容器。虽然我可以通过访问该服务nodePort,服务无法通过port场地。我可以看到配置kubectl和 Kubernetes 仪表板但是curling 到该端口(例如curl http://192.168.0.100:8090)提出一个连接被拒绝 error.

我不确定这里出了什么问题。我是否需要确保节点或容器内正在运行任何代理服务?


获取kubernetes服务的IP,然后打8090;它会起作用的。 nodePort 意味着该服务绑定到端口 31000 的节点。

以下是有效的三件事:

curl <node-ip>:<node-port>        # curl <node-ip>:31000
curl <service-ip>:<service-port>  # curl <svc-ip>:8090
curl <pod-ip>:<target-port>       # curl <pod-ip>:80

那么现在,我们来看看3种情况:

1.你在kubernetes集群内部(你是一个pod)

<service-ip> and <pod-ip> and <node-ip>将工作。

2.你在节点上

<service-ip> and <pod-ip> and <node-ip>将工作。

3.你在节点之外

Only <node-ip>将工作假设<node-ip>是可达的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NodePort 服务无法通过“端口”号从外部访问 的相关文章

随机推荐