两个K8S控制器同时修改同一个资源可以吗?

ubo*_*mbi 5 kubernetes kubernetes-custom-resources kubernetes-operator operator-sdk

我有一些 CRD,每个 CRD 都应该Container.Spec在整个集群中进行 edit 。如 ENV、标签等...

如果资源由多个控制器管理,可以吗?

这种方法可能存在哪些缺陷?

cod*_*ger 4

是的,同一个对象可以由多个控制器更新。我认为 Pod 对象此时已更新了近十几个。您可能遇到的主要问题是写入冲突。通常,在运算符中,您执行获取操作,然后发生一些事情,然后执行更新(通常更新根对象情况的状态子资源)。这可能会导致竞争条件。我建议考虑使用服务器端应用来减少这些问题,它处理每个字段的跟踪,而不是通过序列号处理整个对象。