【发布时间】:2018-10-09 19:01:45
【问题描述】:
我已经开发了一个容器化的 Flask 应用程序,我想用 Kubernetes 来部署它。但是,我无法将 Container 的端口与 Service 正确连接。
这是我的部署文件:
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: <my-app-name>
spec:
replicas: 1
template:
metadata:
labels:
app: flaskapp
spec:
containers:
- name: <container-name>
image: <container-image>
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5000
name: http-port
---
apiVersion: v1
kind: Service
metadata:
name: <service-name>
spec:
selector:
app: flaskapp
ports:
- name: http
protocol: TCP
targetPort: 5000
port: 5000
nodePort: 30013
type: NodePort
当我运行kubectl get pods 时,似乎一切正常:
NAME READY STATUS RESTARTS AGE
<pod-id> 1/1 Running 0 7m
当我运行kubectl get services 时,我得到以下信息:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
<service-name> NodePort 10.105.247.63 <none> 5000:30013/TCP
...
但是,当我将以下 URL 提供给浏览器时:10.105.247.63:30013,浏览器会继续加载,但不会从应用程序返回数据。
有谁知道问题出在哪里?好像服务没有连接到容器的端口。
【问题讨论】:
标签: docker flask kubernetes