Kubernetes本地部署Ingress Nginx所有路由返回404问题求助
我遇到了和Kubernetes Ingress Nginx Controller is Not Found类似的问题。
我正在本地部署项目,访问后端地址http://posts.com/posts和前端地址http://posts.com均返回404。只有使用地址http://posts.com:32685/posts才能正常访问后端,同端口访问http://posts.com:32685前端仍然失效。我查阅了大量相关资料仍未解决,卡壳很久了 :(
ingress-srv.yaml配置如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-srv annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/use-regex: "true" spec: rules: - host: posts.com http: paths: - path: /posts/create pathType: Prefix backend: service: name: blog-posts-clusterip-srv port: number: 4000 - path: /posts pathType: Prefix backend: service: name: blog-query-srv port: number: 4002 - path: /posts/?(.*)/comments pathType: Prefix backend: service: name: blog-comments-srv port: number: 4001 - path: /?(.*) pathType: Prefix backend: service: name: blog-client-srv port: number: 3000
posts-depl.yaml配置如下:
apiVersion: apps/v1 kind: Deployment metadata: name: blog-posts-depl spec: replicas: 1 selector: matchLabels: app: blog-posts template: metadata: labels: app: blog-posts spec: containers: - name: blog-posts image: meylisday/blog-posts imagePullPolicy: Never --- apiVersion: v1 kind: Service metadata: name: blog-posts-clusterip-srv spec: selector: app: blog-posts ports: - name: blog-posts protocol: TCP port: 4000 targetPort: 4000
posts-svr.yaml配置如下:
apiVersion: v1 kind: Service metadata: name: blog-posts-srv spec: type: NodePort selector: app: blog-posts ports: - name: blog-posts protocol: TCP port: 4000 targetPort: 4000
执行k get all命令输出如下:
NAME READY STATUS RESTARTS AGE pod/blog-client-depl-64ff878fdf-cbd6d 1/1 Running 0 29m pod/blog-comments-depl-c7c998884-c4r8m 1/1 Running 0 41m pod/blog-event-bus-depl-7f67777497-4tjbs 1/1 Running 0 40m pod/blog-moderation-depl-666bdccc66-pzqkc 1/1 Running 0 38m pod/blog-posts-depl-5f66df48c4-dcqgn 1/1 Running 0 37m pod/blog-query-depl-658d489d7c-4sds5 1/1 Running 0 36m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/blog-client-srv ClusterIP 10.111.45.128 <none> 3000/TCP 17h service/blog-comments-srv ClusterIP 10.98.76.124 <none> 4001/TCP 4d16h service/blog-event-bus-srv ClusterIP 10.101.244.228 <none> 4005/TCP 42d service/blog-moderation-srv ClusterIP 10.109.100.160 <none> 4003/TCP 4d16h service/blog-posts-clusterip-srv ClusterIP 10.98.80.155 <none> 4000/TCP 42d service/blog-posts-srv NodePort 10.104.129.247 <none> 4000:32685/TCP 43d service/blog-query-srv ClusterIP 10.103.8.73 <none> 4002/TCP 4d16h service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 44d NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/blog-client-depl 1/1 1 1 17h deployment.apps/blog-comments-depl 1/1 1 1 4d16h deployment.apps/blog-event-bus-depl 1/1 1 1 4d18h deployment.apps/blog-moderation-depl 1/1 1 1 4d16h deployment.apps/blog-posts-depl 1/1 1 1 5d17h deployment.apps/blog-query-depl 1/1 1 1 4d16h
执行k get service -n ingress-nginx命令输出如下:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.99.133.41 localhost 80:30383/TCP,443:31513/TCP 20h ingress-nginx-controller-admission ClusterIP 10.107.76.88 <none> 443/TCP 20h
执行kubectl describe ingress ingress-srv命令输出如下:
Name: ingress-srv Namespace: default Address: localhost Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>) Rules: Host Path Backends ---- ---- -------- posts.com /posts/create blog-posts-clusterip-srv:4000 (10.1.0.183:4000) /posts blog-query-srv:4002 (10.1.0.184:4002) /posts/?(.*)/comments blog-comments-srv:4001 (10.1.0.180:4001) /?(.*) blog-client-srv:3000 (10.1.0.185:3000) Annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/use-regex: true Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Sync 30m (x15 over 5h28m) nginx-ingress-controller Scheduled for sync Normal Sync 24m (x4 over 25m) nginx-ingress-controller Scheduled for sync
执行k get ingress ingress-srv命令输出如下:
NAME CLASS HOSTS ADDRESS PORTS AGE ingress-srv <none> posts.com localhost 80 20h
完整项目代码可访问https://github.com/meylisday/blog-react-nodejs获取,恳请各位提供解决思路,万分感谢。
内容的提问来源于stack exchange,提问作者JustName
相关产品推荐
相关产品推荐

