我正在嘗試使用以下命令埠轉發我的 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 denied。
有什么我遺漏、沒有正確執行或我沒有想到的嗎? 注意:我對 Kubernetes 比較陌生。
uj5u.com熱心網友回復:
顯然 Kubernetes 或服務器配置沒有問題,而是 Dockerfile 沒有暴露埠 8080,現在它通過以下方式進行:
# Dockerfile
......
EXPOSE 8080
......
感謝 IvanAracki 通過評論向我指出了這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471260.html
標籤:Kubernetes 雄猫 kubectl 转发端口 哈皮
