首页 > 解决方案 > k8 Ingress 规则是否应该直接通过 helm 更新

问题描述

我对k8的了解相当初级。我们基础设施中的服务暴露了几个端点。这些端点中的每一个都有不同的 URL 供客户端应用程序使用,并且在 K8s 中具有不同的 URL。例如,外部 URL 可以是https://some-vanity-url/api/v1/promotions/lotteries/state,而 K8s 中的内部 URL 可以是https://lottery-service-pod-name/v1/lotteries/状态

目前,开发人员在其属性文件中将服务中的所有端点公开为键/值对,并且在部署服务时,提取这些键/值对并更新入口规则。对我来说,这听起来很乱。是否有更清洁的方法来实现与 K8 部署兼容的相同结果?

另外,我觉得 K8 中应该有一些构造,它允许团队定义他们的端点,并且入口应该简单地订阅这些事件并自动更新其规则。这可行吗?

标签: kubernetes

解决方案


在将 yaml 文件发送到 kubectl 之前,您可以使用脚本替换该文件中的值。但是现在您在部署中多了一个非 Kubernetes 标准步骤。

入口订阅让我们说 ConfigMap(存储端点)更改事件不太可能发生,因为:

  1. 除了查看 Ingress 之外,每个入口控制器都需要更新以查看引用的 ConfigMap。

  2. 每个入口控制器都需要更改它们的工作方式,并挂载作为卷引用的 ConfigMap。

  3. 更改 Kubernetes 监视服务的工作方式,例如当引用的 ConfigMap 有更改事件时触发 Ingress 更改事件。


推荐阅读