我有以下服务配置:
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 仪表板但是curl
ing 到该端口(例如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(使用前将#替换为@)