【发布时间】:2021-05-03 18:03:09
【问题描述】:
我无法访问 Ingress Kubernetes 部署的服务器。
我的项目结构如下: 我有一个 delpoy.sh 构建图像并将其推送到 dockerhub。有两个图像“信息”和“图像”。为了将这些图像链接到 Kubernetes,我有一个 yaml 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: info-v1-deployment
labels:
app: info-v1
spec:
replicas: 2
selector:
matchLabels:
app: info-v1
template:
metadata:
labels:
app: info-v1
spec:
containers:
- name: info-v1
image: cloudcomputing2021/info:latest
ports:
- containerPort: 80
env:
- name: FLASK_RUN_HOST
value: 0.0.0.0
- name: FLASK_RUN_PORT
value: "1080"
- name: FLASK_APP
value: server.py
- name: DB_HOST
value: db_ip
- name: DB_PORT
value: "3306"
- name: DB_DBNAME
value: watches
- name: DB_USER
value: user
- name: DB_PASS
value: password
- name: HTTP_USER
value: cloud
- name: HTTP_PASS
value: computing
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: image-v1-deployment
labels:
app: image-v1
spec:
replicas: 2
selector:
matchLabels:
app: image-v1
template:
metadata:
labels:
app: image-v1
spec:
containers:
- name: image-v1
image: cloudcomputing2021/image:latest
ports:
- containerPort: 80
env:
- name: FLASK_RUN_HOST
value: 0.0.0.0
- name: FLASK_RUN_PORT
value: "1080"
- name: FLASK_APP
value: server.py
- name: HTTP_PASS
value: computing
- name: HTTP_USER
value: cloud
---
apiVersion: v1
kind: Service
metadata:
name: info-v1-service
spec:
type: NodePort
selector:
app: info-v1
ports:
- protocol: TCP
port: 80
targetPort: 1080
nodePort: 30036
---
apiVersion: v1
kind: Service
metadata:
name: image-v1-service
spec:
type: NodePort
selector:
app: image-v1
ports:
- protocol: TCP
port: 80
targetPort: 1080
nodePort: 30037
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: cloud-computing-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /info/v1/*
backend:
serviceName: info-v1-service
servicePort: 80
- path: /image/v1/*
backend:
serviceName: image-v1-service
servicePort: 80
---
此文件创建一个入口和两个服务(一个用于图像,一个用于信息)。这个过程顺利进行。但是,当我尝试通过集群 URL 访问服务器时,我收到 502 错误并显示以下消息:
"错误:服务器错误 服务器遇到临时错误,无法完成您的请求。 请在 30 秒后重试。”
使用 docker-compose up 指定图像在本地完美运行很重要,因此我推断问题不是来自图像。
Ingress 状态为:“一些后端服务处于 UNKNOWN 状态”
【问题讨论】:
-
欢迎来到社区@IOrakle 请运行以下命令以获取有关您的入口的一些信息:
kubectl describe ingress cloud-computing-ingress。您是使用 k8s 作为服务还是拥有自己的集群?
标签: kubernetes kubernetes-ingress