转发端口时出现 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 通过评论向我指出了这一点。