珍惜时间,勤奋学习!今天给大家带来《K8s操作员监听具体配置图》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!
问题内容我有一个针对某些对象更改运行协调的操作员,现在我想添加在特定 configmap
发生更改时进行协调的功能(我的操作员不负责此 CM 只需需要听它并阅读更改...)来自文档我认为我需要使用 Owns(&corev1.Configmap{})
但不知道如何做到这一点并提供特定的 configmap 名称来观看,
我应该如何在namespace=bar
中引用具体的configmap name: foo
https://sdk.operatorframework.io/docs/building-operators/golang/references/event-filtering/#using-predicates
正确答案
我没有使用过这个特定的运算符框架,但概念很熟悉。创建一个像这样的谓词函数,并在创建控制器时通过将其传递到 sdk 的 witheventfilter
函数来使用它:
func specificConfigMap(name, namespace string) predicate.Predicate {
return predicate.Funcs{
UpdateFunc: func(e event.UpdateEvent) bool {
configmap := e.NewObject.(*corev1.ConfigMap)
if configmap.Name == name && configmap.Namespace == namespace {
return true
}
return false
},
}
}
到这里,我们也就讲完了《K8s操作员监听具体配置图》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!