【发布时间】:2020-02-21 16:46:03
【问题描述】:
仅供参考:
- 我在 docker desktop for mac 上运行 Kubernetes
- 基于Nginx镜像的网站
我在 Kubetesetes 上运行 2 个简单的网站部署并使用 NodePort 服务。然后我想使用入口路由到网站。当我打开浏览器并访问该网站时,我收到如下图所示的错误 503。那么,我该如何解决这个错误呢?
### Service
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
app: app1
spec:
type: NodePort
ports:
- port: 80
selector:
app: app1
---
apiVersion: v1
kind: Service
metadata:
name: app2-svc
labels:
app: app2
spec:
type: NodePort
ports:
- port: 80
selector:
app: app2
### Ingress-Rules
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /app1
backend:
serviceName: app-svc
servicePort: 30092
- path: /app2
backend:
serviceName: app2-svc
servicePort: 30936
【问题讨论】:
-
尝试将服务设置为
ClusterIP,而不是NodePort,并将servicePort设置为80 -
@Jonas 将服务类型更改为 ClusterIP 后出现错误 404。
-
您在 404 上获得了哪些 http 标头? Server Header 和 openresty 类似吗?您是否尝试按照
: /app1 访问您的 nginx-ingress?
标签: kubernetes kubernetes-ingress nginx-ingress docker-desktop