一个 kube 对象什么时候会有多个所有者引用



当 kubernetes 对象具有父对象时,会在"ownerReferences"下提及。 例如,当我以yaml格式打印pod规范时,我看到所有者引用如下:

ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: StatefulSet
name: statefuleset-name
uid: <uuid>
....

我看到所有者引用是一个列表。 有谁知道所有者引用何时会有多个条目。 我无法想象一个对象有多个所有者。

如果我理解正确,在某些情况下是可能的。

在此博客中,您可以看到多个ownerReferences的示例。该博客解释了 K8s 中的垃圾回收,并展示了多个所有者引用是可能的

是的,你没听错,现在 postgres-namespace 可以由更多人拥有 一个以上的数据库对象。

我希望它有所帮助。

您可以拥有自己的用例和相应的 CRD,并且可能需要将一个对象与多个所有者相关联。

举一个非常基本的例子,考虑有一所学校,有多个老师和多个学生,如果所有 3 个都是不同的 CRD,那么学生可能有带有学校名称的SchoolOwnerReference 和带有教师姓名的 OwnerReference,Teacher类型

。顺便说一下,集群 api 在少数 CRD 中使用了多个所有者引用。

为了扩展这一点,所有者引用用于两种情况:

  1. 垃圾回收
  2. 采用(例如,将现有 Pod 纳入基于选择器的部署(

垃圾回收以统一的方式工作;在删除所有所有者后,对象是候选对象。

稍后添加了controller字段以支持方案 (2(。

最新更新