Kubernetes在转发端口时出错-拒绝连接



我正在尝试使用以下命令转发我的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端口转发-连接拒绝。

是否有我错过的东西,没有做正确或我没有想到的?注意:我对Kubernetes比较陌生。

显然Kubernetes或服务器配置没有问题,而是Dockerfile没有暴露8080端口,现在它通过以下方式实现了:

# Dockerfile
......
EXPOSE 8080
......

感谢IvanAracki通过评论向我指出了这一点。

相关内容

最新更新