【发布时间】:2021-04-17 06:48:59
【问题描述】:
在我的入口配置中,我更改了默认后端。
spec:
defaultBackend:
service:
name: navigation-service
port:
number: 80
当我描述入口时,我得到了
Name: ingress-nginx
Namespace: default
Address: 127.0.0.1
Default backend: navigation-service:80 (10.1.173.59:80)
我尝试通过 localhost 访问它,我得到了 404。但是当我 curl 10.1.173.59 时,我得到了我的静态页面。所以我的导航服务没问题,默认支持有什么问题吗?即使我尝试
- pathType: Prefix
path: /
backend:
service:
name: navigation-service
port:
number: 80
我有 500 错误。 我做错了什么?
编辑:通过 NodePort 工作,但我需要通过入口访问它。
apiVersion: apps/v1
kind: Deployment
metadata:
name: navigation-deployment
spec:
selector:
matchLabels:
app: navigation-deployment
template:
metadata:
labels:
app: navigation-deployment
spec:
containers:
- name: nginx
image: nginx:1.13.3-alpine
ports:
- containerPort: 80
volumeMounts:
- mountPath: /usr/share/nginx/html/index.html
name: nginx-html
- mountPath: /etc/nginx/conf.d/default.conf
name: nginx-default
volumes:
- name: nginx-html
hostPath:
path: /home/x/navigation/index.html
- name: nginx-default
hostPath:
path: /home/x/navigation/default.conf
apiVersion: v1
kind: Service
metadata:
name: navigation-service
spec:
type: ClusterIP
selector:
app: navigation-deployment
ports:
- name: "http"
port: 80
targetPort: 80
【问题讨论】:
-
路径
/返回 404 - 它是默认后端 - kubernetes.github.io/ingress-nginx/user-guide/default-backend 您是否尝试指定另一个路径,例如 /example 然后使用 localhost/example 访问应用程序(当然添加 ingress.kubernetes.io /rewrite-target: / 注解到入口配置)? -
是的,它正在另一条路径上工作。我也有注释要重写。但是为什么我不能更改默认后端?
-
默认后端不可配置。你也看过stackoverflow.com/questions/62917095/…吗?
标签: kubernetes kubernetes-ingress nginx-ingress microk8s