【问题标题】:Nginx Ingress: doesn't run services and get 503 service unavailableNginx Ingress: does\n't run services 得到 503 service unavailable
【发布时间】:2023-01-08 05:37:58
【问题描述】:

我正在尝试创建一个入口文件以将 URL 路由到内部服务。但在调用邮递员后,它只返回 503 错误。 这是我的入口文件配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-srv
annotations:
  kubernetes.io/ingress.class: nginx
  nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
spec:
  rules:
   - host: posts.com
     http:
       paths:
         - path: /posts/create
           pathType: Prefix
           backend:
             service:
             name: posts-clusterip-srv
             port: 
              number: 7000

这是我的帖子部署文件和集群 ip:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: posts-depl
spec:
 replicas: 1
 selector:
   matchLabels:
     app: posts
 template:
   metadata:
     labels:
       app: posts
   spec:
     containers:
        - name: posts
          image: 4765/posts
---
  apiVersion: v1
  kind: Service
  metadata:
     name: posts-clusterip-srv
 spec:
    selector:
       app: posts
    ports:
      - name: posts
        protocol: TCP
        port: 7000
        targetPort: 7000

当我在邮递员中发送这个请求http://posts.com/posts/create时,只返回503 service unavailable。我尝试卷曲集群 Ip curl http://posts-clusterip-srv:7000 但它响应 Could not resolve host: posts-clusterip-srv

我不知道该怎么办?

【问题讨论】:

    标签: docker kubernetes kubernetes-ingress


    【解决方案1】:

    您的应用服务器是否接受 / 上的请求?
    作为路径:/posts/create 会将请求转发到您的服务器,该服务器将在 / 上接收请求。
    关于curl http://posts-clusterip-srv:7000,它取决于集群的设置:

    • 如果您在计算机上使用本地集群,您应该修改您的/etc/hosts,将您的本地 IP 添加为posts.com,然后您应该能够卷曲它。
    • 如果您的集群在服务器上,这似乎是 DNS 问题,与上述方法相同,您可以将服务器 IP 添加到主机文件以避免使用 DNS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 2019-05-06
      相关资源
      最近更新 更多