NodeJS 我正在尝试使用kubernetes入口运行微服务,但nginx的响应是服务暂时不工作

nle07wnf  于 2023-02-12  发布在  Node.js
关注(0)|答案(1)|浏览(86)

这是我的入口yaml文件

apiVersion: networking.k8s.io/v1
  kind: Ingress
  metadata:
    name: example
    namespace: ingress-nginx
  spec:
    ingressClassName: nginx
    rules:
      - host: ticketing.dev
        http:
          paths:
            - pathType: Prefix
              backend:
                service:
                  name: auth-srv
                  port:
                    number: 5000
              path: /

每当我去ticketing.dev它显示

所有服务都按预期运行

**所有Pod也工作正常”

以下是我的服务和部署yaml代码

apiVersion: apps/v1
kind: Deployment
metadata:
  name: auth-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: auth
  template:
    metadata:
      labels:
        app: auth
    spec:
      containers:
        - name: auth
          image: 9862672975/auth
          env:
            - name: JWT_KEY
              valueFrom:
                secretKeyRef:
                  name: jwt-secret
                  key: JWT_KEY
---
apiVersion: v1
kind: Service
metadata:
  name: auth-srv
spec:
  selector:
    app: auth
  ports:
    - name: auth
      protocol: TCP
      port: 5000
      targetPort: 5000

我正在尝试使用Nodejs和Nextjs构建微服务。当我尝试将前端和后端添加到入口时,它没有响应,我尝试删除前端并使用以下代码运行后端,但它不工作。

e3bfsja2

e3bfsja21#

您尚未在ingress-file中指定路径,仅指定了pathType。
paths下面添加path: "/"
如果您查看Ingress参考,您可能会看到path字段没有标记为"必填",而是带有以下注解:
路径必须以"/"开头,并且在使用值为"Exact"或"Prefix"的PathType时必须存在。
由于您已经将pathType指定为"Prefix",因此需要包含路径。一般来说,我建议尽可能显式指定路径和前缀,而不是依赖默认值。

相关问题