转发端口时出现 Kubernetes 错误 - 连接被拒绝
Kubernetes error when forwarding a port - Connection refused
我正在尝试使用以下命令端口转发我的 kubernetes 服务(通过 minikube):
kubectl port-forward svc/hapi-fhir-server 8080:8080 --address=0.0.0.0
但是在尝试达到 localhost:8080
之后,我收到以下错误:"....... an error occurred forwarding 8080 -> 8080: error forwarding port 8080 to pod {PodID, uid ....:E connect(5, AF=2 127.0.0.1:8080, 16): Connection refused"
我通过以下命令检查了pod正在监听哪个端口
kubectl get pod hapi-fhir-server-666b846cbf-lhmr4 --template="{{(index (index .spec.containers 0).ports 0).containerPort}}"
导致答案 8080
如果这有帮助,我的服务和部署文件(删除了不相关的行)
apiVersion: apps/v1
kind: Deployment
metadata:
....
spec:
replicas: 2
selector:
....
template:
....
spec:
containers:
- image: .........
name: hapi-fhir-server
ports:
- containerPort: 8080
resources: {}
restartPolicy: Always
status: {}
apiVersion: v1
kind: Service
metadata:
....
spec:
type: NodePort
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 32069
selector:
app: hapi-fhir-server
status:
loadBalancer: {}
正在使用的图像是具有以下配置的 HAPI FHIR 服务器,它在 Apache Tomcat (server.xml) 上运行:
<Connector port="${server.port}" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="${server.tomcat.max-threads}"
minSpareThreads="${server.tomcat.min-spare-threads}" />
server.port
为 8080。
我似乎无法找到一个准确的答案来解释为什么会发生这种情况,即使在阅读了文档或类似的问题之后也是如此:Kubernetes Port Forwarding - Connection refused。
有什么我遗漏、没有做对或者我没有想到的吗?
注意:我对 Kubernetes 比较陌生。
显然 Kubernetes 或服务器配置没有问题,而是 Dockerfile 没有公开端口 8080,现在它通过以下方式公开:
# Dockerfile
......
EXPOSE 8080
......
感谢 IvanAracki 通过评论向我指出了这一点。
我正在尝试使用以下命令端口转发我的 kubernetes 服务(通过 minikube):
kubectl port-forward svc/hapi-fhir-server 8080:8080 --address=0.0.0.0
但是在尝试达到 localhost:8080
之后,我收到以下错误:"....... an error occurred forwarding 8080 -> 8080: error forwarding port 8080 to pod {PodID, uid ....:E connect(5, AF=2 127.0.0.1:8080, 16): Connection refused"
我通过以下命令检查了pod正在监听哪个端口
kubectl get pod hapi-fhir-server-666b846cbf-lhmr4 --template="{{(index (index .spec.containers 0).ports 0).containerPort}}"
导致答案 8080
如果这有帮助,我的服务和部署文件(删除了不相关的行)
apiVersion: apps/v1
kind: Deployment
metadata:
....
spec:
replicas: 2
selector:
....
template:
....
spec:
containers:
- image: .........
name: hapi-fhir-server
ports:
- containerPort: 8080
resources: {}
restartPolicy: Always
status: {}
apiVersion: v1
kind: Service
metadata:
....
spec:
type: NodePort
ports:
- protocol: TCP
port: 8080
targetPort: 8080
nodePort: 32069
selector:
app: hapi-fhir-server
status:
loadBalancer: {}
正在使用的图像是具有以下配置的 HAPI FHIR 服务器,它在 Apache Tomcat (server.xml) 上运行:
<Connector port="${server.port}" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="${server.tomcat.max-threads}"
minSpareThreads="${server.tomcat.min-spare-threads}" />
server.port
为 8080。
我似乎无法找到一个准确的答案来解释为什么会发生这种情况,即使在阅读了文档或类似的问题之后也是如此:Kubernetes Port Forwarding - Connection refused。
有什么我遗漏、没有做对或者我没有想到的吗? 注意:我对 Kubernetes 比较陌生。
显然 Kubernetes 或服务器配置没有问题,而是 Dockerfile 没有公开端口 8080,现在它通过以下方式公开:
# Dockerfile
......
EXPOSE 8080
......
感谢 IvanAracki 通过评论向我指出了这一点。