如何解决尽管用户被重定向到正确的URL,但kubernetes Ingress仍显示“ 404 Not Found”
我在30001上运行了Nginx Ingress服务 Kubernetes版本1.18.6 配置了VmWare工作站的群集
我已经部署了wordpress,并且有一个wordpress入口
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-wordpress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /wordpress(/|$)(.*)
backend:
serviceName: wordpress
servicePort: 80
这是我的wordpress部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
labels:
name: wordpress
spec:
template:
# Pod definition
metadata:
name: wordpress
labels:
name: wordpress
spec:
containers:
- name: wordpress
image: wordpress
volumeMounts:
- mountPath: /var/www/html
name: wordpress-persistent-storage
env:
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
- name: WORDPRESS_DB_HOST
value: "wordpress-mysql"
- name: WORDPRESS_DB_USER
value: "root"
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: wordpress-persistent-storage
replicas: 2
selector:
matchLabels:
name: wordpress
这是我的Nginx入口控制器
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-ingress-controller
spec:
replicas: 1
selector:
matchLabels:
name: nginx-ingress
template:
metadata:
labels:
name: nginx-ingress
spec:
containers:
- name: nginx-ingress-controller
image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.31.1
args:
- /nginx-ingress-controller
- --configmap=$(POD_NAMESPACE)/nginx-configuration
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
ports:
- name: http
containerPort: 80
- name: https
containerPort: 443
我的工作人员IP是192.168.111.136、192.168.111.137
当我加载http:// worker-ip:30001 / wordress
时我正在重定向到http:// worker-ip:30001 / wp-admin / install.php 当然,这是正确的网址。
但是我的浏览器显示404 Not Found
这是我的日志-> kubectl日志nginx-ingress-controller-776d4c78f9-fkrgx -f
I1014 16:34:37.481750 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress",Namespace:"default",Name:"ingress-wordpress",UID:"6051b54a-c359-469b-a34e-8ba1b0202ebd",APIVersion:"networking.k8s.io/v1beta1",ResourceVersion:"171471",FieldPath:""}): type: 'Normal' reason: 'DELETE' Ingress default/ingress-wordpress
I1014 16:34:37.535710 6 controller.go:155] Backend successfully reloaded.
I1014 16:34:40.458184 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress",UID:"0c6d67d5-a118-4391-b3ca-c8179fd12a44",ResourceVersion:"171482",FieldPath:""}): type: 'Normal' reason: 'CREATE' Ingress default/ingress-wordpress
I1014 16:34:40.815250 6 controller.go:139] Configuration changes detected,backend reload required.
I1014 16:34:40.865628 6 controller.go:155] Backend successfully reloaded.
10.32.0.1 - - [14/Oct/2020:16:34:52 +0000] "GET /wordpress HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/85.0.4183.102 Safari/537.36" 458 0.012 [default-wordpress-80] [] 10.32.0.4:80 0 0.012 302 3fa7b1be573bb3db1e573953d7c29aba
I1014 16:35:05.344074 6 status.go:275] updating Ingress default/ingress-wordpress status from [] to [{192.168.111.136 }]
I1014 16:35:05.349635 6 event.go:278] Event(v1.ObjectReference{Kind:"Ingress",ResourceVersion:"171546",FieldPath:""}): type: 'Normal' reason: 'UPDATE' Ingress default/ingress-wordpress
10.44.0.0 - - [14/Oct/2020:16:44:14 +0000] "GET /wordpress HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/85.0.4183.102 Safari/537.36" 439 0.009 [default-wordpress-80] [] 10.32.0.4:80 0 0.012 302 54c29a839541ce6e724ce004a0890942
10.32.0.1 - - [14/Oct/2020:16:45:35 +0000] "GET /wordpress HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/85.0.4183.102 Safari/537.36" 458 0.012 [default-wordpress-80] [] 10.32.0.4:80 0 0.012 302 83335c2e98f6784efd051d81b84ad2ef
10.32.0.1 - - [14/Oct/2020:16:45:37 +0000] "GET /wordpress/ HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/85.0.4183.102 Safari/537.36" 440 0.021 [default-wordpress-80] [] 10.44.0.3:80 0 0.020 302 db916b199d7f08379ac79122415855b7
该如何纠正?
解决方法
您的应用程序将您重定向到/wp-admin/
。此路径与任何Ingress规则都不匹配,因此返回404。
您还需要添加一个wp-admin
HTTP路径规则,这样该请求才能正确地代理转发到WordPress容器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。