kubernetes 什么时候一个kube对象会有多个ownerReferences

lmyy7pcs  于 2023-05-28  发布在  Kubernetes
关注(0)|答案(3)|浏览(146)

当一个kubernetes对象有父对象时,它会在“ownerReferences”下被提到。例如,当我以yaml格式打印pod规范时,我看到ownerReferences如下所示:

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

我看到ownerReferences是一个列表。有谁知道什么时候ownerReferences会有多个条目。我无法想象一个物体有一个以上的所有者。

i7uaboj4

i7uaboj41#

如果我理解正确的话,在某些情况下是可能的。
this blog中,您可以看到多个ownerReferences的示例。该博客解释了K8s中的垃圾收集,并展示了多个ownerReferences是可能的
是的,你听到了,现在postgres-namespace可以由多个数据库对象拥有。
希望能帮上忙。

xqnpmsa8

xqnpmsa82#

您可以拥有自己的用例和各自的CRD,并且可能需要将一个对象与多个所有者相关联。
举一个非常基本的例子,假设有一个学校,有多个老师和多个学生,如果所有3个都是不同的CRD,那么学生可能有学校名称为School的OwnerReference和教师名称为Teacher的OwnerReference。
顺便说一下,cluster-api在它的一些CRD中使用了多个ownerReferences。

7y4bm7vi

7y4bm7vi3#

为了对此进行扩展,将所有者引用用于两个场景:
1.无用单元收集
1.收养(例如基于选择器将现有pod转换为部署)
垃圾收集以统一的方式工作;对象是删除所有所有者之后的候选对象。
后来添加了controller字段以支持场景(2)。

相关问题