Kubernetes ingress 对于特定服务给出 404 错误

2023-12-19

我已经在 Azure 上使用 nginx 入口设置了一个 kubernetes 集群。导航到特定路径时出现 404 错误。

我已经设置了一些示例应用程序,它们返回一个简单的回声,效果非常好。我的 ban api 应用程序总是返回 404 错误。

当我导航到入口路径时,例如

http://51.145.17.105/apple

效果很好。但是,当我导航到 api 应用程序时,使用以下 URL 收到 404 错误:

http://51.145.17.105/ban-simple

如果我登录到集群并卷曲 ban-simple 服务(不是入口 IP),例如

curl -L 10.1.1.40

我得到了正确的回应。当我使用 nginx ingress 尝试它时,出现 404 错误。

入口映射对我来说看起来很正确。这是包含路径的入口 yaml 的副本。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: fruit-ingress
  namespace: ban
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /$
spec:
  rules:
  - http:
      paths:
        - path: /apple
          backend:
            serviceName: apple-service
            servicePort: 5678
        - path: /ban-simple
          backend:
            serviceName: ban-service
            servicePort: 80

“好”服务的一个副本是:

kind: Pod
apiVersion: v1
metadata:
  name: apple-app
  namespace: ban
  labels:
    app: apple
spec:
  containers:
    - name: apple-app
      image: hashicorp/http-echo
      args:
        - "-text=apple"

---

kind: Service
apiVersion: v1
metadata:
  name: apple-service
  namespace: ban
spec:
  selector:
    app: apple
  ports:
    - port: 5678 # Default port for image

不起作用的服务是:

kind: Pod
apiVersion: v1
metadata:
  name: ban-simple
  namespace: ban
  labels:
    app: ban-simple
spec:
  containers:
    - name: ban-simple
      image: xxxxx.azurecr.io/services/ban

---

kind: Service
apiVersion: v1
metadata:
  name: ban-simple-service
  namespace: ban
spec:
  selector:
    app: ban-simple
  ports:
    - port: 80 # Default port for image

我已在本地运行该容器并且它可以在我的机器上运行。如果有影响的话,它会重定向到 localhost/index.html。

任何建议表示赞赏。


It was nginx.ingress.kubernetes.io/rewrite-target: /$这就是导致问题的原因。我将其注释掉并解决了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes ingress 对于特定服务给出 404 错误 的相关文章

随机推荐

  • C++矢量源代码

    我正在尝试获取向量源代码以了解标准 std 或 stl 向量是如何实现的 这是出于学习目的 现在的问题是我在哪里可以找到源代码 甚至其他 C 容器的源代码也有帮助 不存在 标准 向量 标准定义了行为和接口 以及一些实现细节 例如连续存储 但
  • DataType 属性破坏日期时间字段上的 jQuery 日期选择器

    我在用MVC 4 and 剃刀视图我无法理解为什么我的日期字段上的编辑视图没有正确绑定到内置 jQuery 日期选择器 该字段是数据类型Date在数据库中 以及DateTime在域模型中 我不想显示时间 只想显示日期 该字段是必填字段 需要
  • 透明度实际上是如何实现的?

    给定两个图像 A B 我想要第三个图像 C 就好像 B 的透明度为 t 0 5 并放置在 A 的顶部 现实中C是如何计算的以及n如何影响它 我对任何程序或伪代码都不感兴趣 我只想知道基本原理 我认为 C 的一种方式只不过是 A 和 B 的交
  • ImportError:colab google 中没有名为 object_detection.builders 的模块

    我运行时出现此错误 cd git clone quiet https github com tensorflow models git apt get install qq protobuf compiler python tk pip i
  • 为什么不为 Rspec + Selenium 使用共享 ActiveRecord 连接?

    处理 Selenium 和测试的最普遍接受的方法似乎是避免使用事务固定装置 然后在测试 场景之间使用诸如 database cleaner 之类的东西 我最近遇到了以下情况article http blog plataformatec co
  • 为什么 Eclipse 的 Egit 中 Commit 是灰色的

    EGit 中的提交按钮神秘地变灰了 几天前还运行得很好 有谁知道如何解决这一问题 我在谷歌上没有找到任何线索 我会附上屏幕截图 但我还没有足够的声誉点 我遇到了这个问题 发现在远程获取和合并后我有未暂存的更改 将未暂存的更改移至 Git S
  • null 不是对象(评估“ShareDialog.canShow”)

    我有这样的代码 import React Component from react import AppRegistry StyleSheet Text TouchableHighlight View from react native i
  • Sitecore Field Renderer - 在渲染内添加标记

    作为 SEO 增强项目的一部分 我的任务是在字段渲染器在页面上生成的图像的标记内添加以下属性 itemprop contentURL 在结束标签之前
  • 如何将PIL Image.image对象转换为base64字符串? [复制]

    这个问题在这里已经有答案了 我正在尝试以 90 度旋转的方式操作 Base64 编码的图像 经过此操作 我想将其转换回 Base64 字符串 但不幸的是还无法实现这一目标 这是我到目前为止所做的 image string StringIO
  • Android:从服务调用片段方法

    运行 Firebase Cloud 消息服务 我希望每次收到新消息时都会调用特定片段中的方法 public class FirebaseMsgService extends FirebaseMessagingService public F
  • 在sql中以管道分隔的列中搜索值

    我想搜索列中以管道分隔的值 见下文 Column1 1 1 2 23 2 6 6 12 我想在所有行中搜索 2 这样它将返回下面的行 Column1 1 2 23 2 谁能告诉我我们怎样才能实现这一目标 您可以使用like where co
  • 如何更改 Xamarin 表单中的密码屏蔽字符 - 条目

    我目前面临一个相当简单的问题 最终使我陷入了死胡同 我正在构建一个使用 Xamarin Forms 的应用程序 并希望在用户输入密码时将掩码字符从项目符号更改为星号 为了输入密码 我在内容页面的可移植库项目中使用条目控件 在 VS2017
  • C++ STL 中的确定性随机数流

    我想提供一个数字 然后收到一组随机数 但是 我希望这些数字是相同的 无论我在哪台计算机上运行它 假设我提供相同的种子 基本上我的问题是 在 C 中 如果我使用rand 但供应srand 使用用户定义的种子而不是当前时间 我是否能够在任何计算
  • 列表以按间隔返回特定字段的值

    我正在使用大量数据实施 Telerik Chart 图表 x 轴上的标签重叠 我已经克服了这个问题 但从长远来看它并不可靠 这些是列表具有的字段 FieldName DataType Date DATETIME DateString STR
  • 数据流中的近似重复检测

    我目前正在开发一个可以生成大量文本内容的流 API 正如预期的那样 API 给出了大量重复数据 而且我们也有过滤接近重复数据的业务需求 我对数据流中的重复检测做了一些研究 并阅读了 稳定布隆过滤器是用于数据流中重复检测的数据结构 具有误报率
  • makemigrations 未检测到模型中的更改

    我正在使用 django 1 9 6 我最近删除了我的迁移并运行migrate run syncdb and makemigrations my app 今天 我向我的一个模型添加了一个新字段 模型 py value models Posi
  • java - 在 spring mvc 中按名称获取 cookie 值

    我正在开发 java spring mvc 应用程序 我以这种方式在控制器的方法之一中设置了 cookie RequestMapping value news method RequestMethod GET public ModelAnd
  • 更新不可变对象

    我建立了以下课程 class Player val name String val onField Boolean val draft Int val perc Int val height Int val timePlayed Int o
  • iPhone iOS 如何合并Core Data NSManagedObjectContext?

    我正在尝试在后台下载一些 JSON 对象 并且正在执行大量多线程操作 操作完成后 我注意到此断言失败 NSAssert user managedObjectContext isEqual AppUser managedObjectConte
  • Kubernetes ingress 对于特定服务给出 404 错误

    我已经在 Azure 上使用 nginx 入口设置了一个 kubernetes 集群 导航到特定路径时出现 404 错误 我已经设置了一些示例应用程序 它们返回一个简单的回声 效果非常好 我的 ban api 应用程序总是返回 404 错误