kubernetes - 创建新的 Kubernetes 命名空间时自动安装 helm chart
问题描述
我正在创建一个多租户 Kubernetes 基础架构。我用我的应用程序创建了一个 Helm Chart,现在我需要在创建新命名空间时自动安装 helm chart。
例如,client1
创建命名空间时,我需要运行helm install myrepo/myapp --name client1
.
如何获得新的命名空间创建事件?和命名空间名称?
解决方案
您可以继续运行kubectl get namespace
每隔一段时间执行一次的脚本,并将当前结果与旧结果进行比较。当您发现创建了一个新的命名空间时,您可以执行helm install myrepo/myapp --name client1
. 或者,您可以在集群中运行应用程序。应用程序所做的基本上是列出集群中的所有命名空间,将当前与缓存的命名空间进行比较,如果找到新的命名空间,则调用 helm 客户端安装您的应用程序。有关更多信息,如果您使用的是 golang,我建议您使用kubernetes client-go来获取集群中的命名空间列表,您可以参考 helm client-go 部分的开放资源项目管道来安装您的应用程序.
推荐阅读
- laravel - Laravel - 在条件内循环时元素显示两次
- azure-ad-b2c - B2C Validation of REST API
- vue.js - Vue.js Axios 发布请求从 Laravel (API) 获取超时
- python - 如何在 Python 中临时暂停线程
- cmake - 将 FetchContent_Declare 与共享库一起使用时出现问题
- scala - Scala:如何按键分组并在 scala 中汇总值并以预期的返回类型返回列表
- python - 如何滚动锁定 Django HTML 网页
- flutter - 颤动的未来
_loadAsync 错误 - javascript - 有人可以根据 ecma262 向我解释 FunctionDeclarationInstantiation 的作用吗?
- python - 以下用于最小化函数的代码返回 RuntimeWarning。为什么?