【发布时间】:2018-07-02 12:54:57
【问题描述】:
我正在尝试将一个简单的 Python 应用部署到 Google Container Engine:
我创建了一个集群然后运行kubectl create -f deployment.yaml
它已在我的集群上创建了一个部署 pod。之后我创建了一个服务:kubectl create -f deployment.yaml
这是我的 Yaml 配置:
pod.yaml:
apiVersion: v1
kind: Pod
metadata:
name: test-app
spec:
containers:
- name: test-ctr
image: arycloud/flask-svc
ports:
- containerPort: 5000
这是我的 Dockerfile:
FROM python:alpine3.7
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD python ./app.py
deployment.yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: test-app
name: test-app
spec:
replicas: 1
template:
metadata:
labels:
app: test-app
name: test-app
spec:
containers:
- name: test-app
image: arycloud/flask-svc
resources:
requests:
cpu: "100m"
imagePullPolicy: Always
ports:
- containerPort: 8080
service.yaml:
apiVersion: v1
kind: Service
metadata:
name: test-app
labels:
app: test-app
spec:
type: LoadBalancer
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
nodePort: 32000
selector:
app: test-app
入口
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 80
它创建一个 LoadBalancer 并提供一个外部 IP,当我打开 IP 时它返回Connection Refused error
怎么了?
请帮帮我!
谢谢你, 阿卜杜勒
【问题讨论】:
-
您好,请检查您的目标端口和容器端口。它们应该是相同的
-
嗨@SureshVishnoi,现在两个端口相同但仍然返回相同的错误。
-
检查集群的安全组?
-
我创建了一个入口控制器,它也显示错误为
Some backend services are in UNHEALTHY state,这是什么意思? -
表示应用程序 pod 没有启动并运行
标签: python docker kubernetes google-cloud-platform google-kubernetes-engine