kubernetes - 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 中应该有一些构造,它允许团队定义他们的端点,并且入口应该简单地订阅这些事件并自动更新其规则。这可行吗?
解决方案
在将 yaml 文件发送到 kubectl 之前,您可以使用脚本替换该文件中的值。但是现在您在部署中多了一个非 Kubernetes 标准步骤。
入口订阅让我们说 ConfigMap(存储端点)更改事件不太可能发生,因为:
除了查看 Ingress 之外,每个入口控制器都需要更新以查看引用的 ConfigMap。
每个入口控制器都需要更改它们的工作方式,并挂载作为卷引用的 ConfigMap。
更改 Kubernetes 监视服务的工作方式,例如当引用的 ConfigMap 有更改事件时触发 Ingress 更改事件。
推荐阅读
- c# - Entity Framework Core 如何与 foreach() 一起工作?
- java - 0xff 是什么意思
从 Inputstream 中,我读取了前 4 个字节并将它们打包以获取一些信息,在这种情况下为 Stream 的大小/长度。
为此,我使用从另一个项目复制的后续代码(示例 1)
示例 1:使用字节数组,其中值从 InputStream 读取到名为in_buf[]的数组中,长度为 4,值为 {0,0,12,26}。
<- python - BeautifulSoup 运动刮刀返回空列表
- unit-testing - 单元测试卡在 asp.net core 2.1 中启动
- python - GetTimeKeeper() 未定义
- sql - 在 sas 中连接大量表
- recursion - 具有将 N 一分为二的两个递归调用的函数的时间复杂度
- java - 如何在没有主键的情况下创建 Spring Entity 和 Repository
- sql - 脚手架现有数据库
- .net-core - 尝试从 UI 工具或代理工具连接到 gRPC 端点时出错