kubernetes - 通过 client-go 库使用特定的 secret / configmap 检索对象
问题描述
我正在尝试使用该client-go
库开发一个简单的控制器。
每次在我的集群上更新秘密和/或 ConfigMap 时,我都需要使用这些秘密 / ConfigMap 对对象执行特定操作。
我知道如何使用informers来观察特定对象的变化。
我的问题是,通过访问 Secret / ConfigMap 来自动列出使用它们的对象(部署、作业等)是否可行。
解决方案
我认为没有办法以您描述的方式自动列出对象的所有依赖对象。
但是,您可以有一个控制器来监视您感兴趣的对象(例如部署、作业等),并metadata.ownerReferences
使用打算使用它们的对象更新您的机密和配置映射。
虽然这通常是为了 GC 目的而完成的,但是当您kubectl describe
对您的密钥或 configmap 执行操作时,这些对象将被“列出”。
metadata.ownerReferences
此对象所依赖的对象列表。如果列表中的所有对象都已被删除,则该对象将被垃圾回收。如果此对象由控制器管理,则此列表中的条目将指向此控制器,控制器字段设置为 true。管理控制器不能超过一个。
OwnerReference 包含足够的信息来让您识别拥有对象。拥有对象必须与依赖对象位于相同的命名空间中,或者是集群范围的,因此没有命名空间字段。
资源
推荐阅读
- anylogic - 如何限制网络中 PointNode 的容量
- java - 如何使用 java mail 获取电子邮件收件人的个人资料照片/图标?
- python - 继承过程中如何避免init中的代码重复?扩展 xgb.XGBClassifier 以处理特征名称
- javascript - 如何将 HTML 脚本函数传输到外部 JavaScript 文件?
- angular - Angular - 服务注入
- bash - 如何从 Bash 中的文件调用多个命令行参数?
- outlook - 为什么 Outlook.live.com 和 Outlook App 显示空白正文,但源不是空的?
- tree - Go js 树自动定位箭头
- css - 导致 ul 列中断的 CSS 过渡
- r - 带有网络路径的 RStudio 项目