Nginx和MetalLB后面无法访问的服务

问题描述

我有一个带有金属LB和ngnix的裸机kubernetes集群,我能够在端口80上访问nginx并查看欢迎页面。我应用了Ingress资源,但是尽管我可以通过工作线程(在指定的节点端口上)访问我的服务,但是我仍然无法访问我的服务。 我在这里想念什么吗?

入口:

apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
spec:
  rules:
    - http:
        paths:
          - path: /rest/endpoints/hello
            backend:
              serviceName: microservices-service
              servicePort: 8085
          - path: /rest/endpoints/calculateIterationTotalCapcity
            backend:
              serviceName: microservices-service
              servicePort: 8085

服务:

apiVersion: v1
kind: Service
metadata:
  name: microservices-service
spec:
  selector:
    app: microservices-deployment
  ports:
    - port: 8085
      targetPort: 8085
      nodePort: 30000
  type: NodePort

部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: microservices-deployment
  labels:
    app: microservices-deployment
spec:
  replicas: 3
  template:
    metadata:
      name: microservices-deployment
      labels:
        app: microservices-deployment
    spec:
      containers:
        - name: microservices-deployment
          image: ** my image **
          imagePullPolicy: Always
          ports:
            - containerPort: 8085
      restartPolicy: Always
  selector:
    matchLabels:
      app: microservices-deployment

更新: 我能够跟踪日志,并且看到这些可疑日志:

 - - [30/Aug/2020:13:43:12 +0000] "GET /rest/endpoints/hello HTTP/1.1" 404 555 "-"**** "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/84.0.4147.135 Safari/537.36" "-"
2020/08/30 13:43:12 [error] 28#28: *7 open() "/usr/share/nginx/html/rest/endpoints/hello" failed (2: No such file or directory),client:****,server: localhost,request: "GET /rest/endpoints/hello HTTP/1.1",host: "****"

解决方法

错误消息:No such file or directory来自Nginx,指向错误的配置,导致错误的请求。

最简单的解决方法是创建一个目录/文件以匹配Nginx配置或调整配置本身。

请记住还要检查目录/文件的权限,并在需要时使用chown命令对其进行更新。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...