【发布时间】:2020-07-16 21:44:50
【问题描述】:
我遇到了一个小问题,花了很多时间都没有运气。
我有一个 EKS 集群,我在其中创建了 2 个部署,每个部署都有自己的服务。
我的 2 个应用是一个 tensorflow 服务器和一个烧瓶应用,它使用专用于它的服务的 IP 在 tf 服务器上运行查询。
现在我想从外界访问在 2 个之一上运行的 Flask 应用程序。所以我创建了一个入口,但是当我尝试“kubectl get ingress”时它根本没有地址。
NAME HOSTS ADDRESS PORTS AGE
nlp-ingress * 80 4h5m
我在 Flask 容器的日志中也注意到了以下内容
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 343-385-569
192.168.14.156 - - [16/Jul/2020 17:13:24] code 400, message Bad request syntax ('\x16\x03\x01\x00{\x01\x00\x00w\x03\x03')
192.168.14.156 - - [16/Jul/2020 17:13:24] "[35m[1m\00{\00\00w[0m" HTTPStatus.BAD_REQUEST -
192.168.14.156 - - [16/Jul/2020 17:13:24] "[37mGET / HTTP/1.1[0m" 200 -
192.168.14.156 - - [16/Jul/2020 17:13:24] "[37mGET / HTTP/1.1[0m" 200 -
我的入口 yaml 文件如下:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nlp-ingress
spec:
backend:
serviceName: nlp-client-service
servicePort: 5000
我的 Flask 部署和服务的 yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nlp-client-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nlp-client
template:
metadata:
labels:
app: nlp-client
spec:
containers:
- name: nlp-client-container
image: myimage:latest
command:
- "python"
- "main.py"
- "--server"
- "nlp-server-service:8501"
ports:
- containerPort: 5000
---
apiVersion: v1
kind: Service
metadata:
labels:
run: nlp-client-service
name: nlp-client-service
spec:
ports:
- port: 5000
targetPort: 5000
selector:
app: nlp-client
type: LoadBalancer
我的目标是在开发过程中测试我的集群。
非常感谢任何帮助。
【问题讨论】:
标签: amazon-web-services flask kubernetes kubernetes-ingress amazon-eks