Kubernetes 自动增删入口规则

Auto addition and deleteion of ingress rules in Kubernetes

我正在尝试创建一个架构,其中每个部署都使用集群 IP 进行部署,并且规则会作为新路径自动添加到入口规则中。

我最初的想法是给 Deployment 一个 ServiceAccount 可以访问管理入口规则,并且在主 pod 运行 之前,一个初始化容器会获取 YAML 和添加规则集,同时删除可能也删除它?

可是越想越觉得漏洞多。例如:当 2 Deployment 同时启动时会发生什么情况?
诸如此类。

任何关于如何解决这个问题的想法都将不胜感激。

我的背景:我是一名试图转向 DevOps 的云工程师,对 Kubernetes 有初中级的了解。

I am trying to create an architecture where every deployment deploys with a cluster IP and the rule gets automatically added to the ingress rule as a new path.



几个选项:

Init container(你想到了这个并在你的问题中提到了它)

  • 将初始容器添加到您的 Deployment,这会将所需的规则添加到您的 Ingress

探测器

  • 添加一个 post-start 探测,一旦你的 pod 是 运行 就会执行,踢将更新 Ingress 规则

定时作业

  • 添加一个 CronJob,它将“扫描”更改并再次更新 Ingress