首页 > 解决方案 > 创建新的 Kubernetes 命名空间时自动安装 helm chart

问题描述

我正在创建一个多租户 Kubernetes 基础架构。我用我的应用程序创建了一个 Helm Chart,现在我需要在创建新命名空间时自动安装 helm chart。

例如,client1创建命名空间时,我需要运行helm install myrepo/myapp --name client1.

如何获得新的命名空间创建事件?和命名空间名称?

标签: kubernetesmulti-tenantkubernetes-helm

解决方案


您可以继续运行kubectl get namespace每隔一段时间执行一次的脚本,并将当前结果与旧结果进行比较。当您发现创建了一个新的命名空间时,您可以执行helm install myrepo/myapp --name client1. 或者,您可以在集群中运行应用程序。应用程序所做的基本上是列出集群中的所有命名空间,将当前与缓存的命名空间进行比较,如果找到新的命名空间,则调用 helm 客户端安装您的应用程序。有关更多信息,如果您使用的是 golang,我建议您使用kubernetes client-go来获取集群中的命名空间列表,您可以参考 helm client-go 部分的开放资源项目管道来安装您的应用程序.


推荐阅读