我有以下服务配置:
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
Run Code Online (Sandbox Code Playgroud)
并且这个服务背后有一个nginx容器.虽然我可以nodePort通过port现场访问服务,但无法通过现场访问服务.我能够看到配置kubectl和Kubernetes仪表板,但curl进入该端口(例如curl http://192.168.0.100:8090)引发连接拒绝错误.
我不确定这里有什么问题.我是否需要确保在节点或容器内运行任何代理服务?
iam*_*nat 20
获取kubernetes服务的IP,然后达到8090; 它会工作.nodePort表示该服务绑定到端口31000上的节点.
这些是可行的3件事:
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
Run Code Online (Sandbox Code Playgroud)
现在,让我们看看3种情况:
1.你在kubernetes集群内(你是一个pod)
<service-ip>和<pod-ip>和<node-ip>会工作.
你在节点上
<service-ip>和<pod-ip>和<node-ip>会工作.
你在节点之外
只有在可以达到的情况下<node-ip>才能工作<node-ip>.
| 归档时间: |
|
| 查看次数: |
7617 次 |
| 最近记录: |