ObjectMeta

ObjectMeta 是所有持久化资源必须具备的元数据,其中包括用户必须创建的所有对象。

import "k8s.io/apimachinery/pkg/apis/meta/v1"

ObjectMeta 是所有持久化资源必须具备的元数据,其中包括用户必须创建的所有对象。


系统

  • finalizers ([]string)

    集合:合并期间将保留唯一值

    在从注册表中删除对象之前必须为空。每个条目都是负责组件的标识符,该组件将从列表中删除该条目。如果对象的 deletionTimestamp 非空,则只能从该列表中删除条目。终结器 (Finalizers) 可以以任何顺序处理和删除。不强制要求顺序,因为这会引入终结器卡住的重大风险。Finalizers 是一个共享字段,任何拥有权限的参与者都可以重新排序它。如果按顺序处理终结器列表,则可能导致负责列表中第一个终结器的组件等待由列表中后续终结器负责的组件产生的信号(字段值、外部系统或其他),从而导致死锁。在没有强制顺序的情况下,终结器可以自由排序,并且不会受到列表中排序变更的影响。

  • managedFields ([]ManagedFieldsEntry)

    原子:将在合并期间被替换

    ManagedFields 将工作流 ID 和版本映射到由该工作流管理的字段集合。这主要是为了内部管理,用户通常不需要设置或理解此字段。工作流可以是用户名、控制器名称或特定应用路径(如“ci-cd”)的名称。字段集始终使用工作流在修改对象时所使用的版本。

    ManagedFieldsEntry 是一个工作流 ID、一个 FieldSet 和该字段集适用的资源组版本。

    • managedFields.apiVersion (string)

      APIVersion 定义了此字段集适用的资源版本。格式为“组/版本”,就像顶层的 APIVersion 字段一样。跟踪字段集的版本是必要的,因为它无法自动转换。

    • managedFields.fieldsType (string)

      FieldsType 是不同字段格式和版本的鉴别器。目前只有一个可能的值:“FieldsV1”

    • managedFields.fieldsV1 (FieldsV1)

      FieldsV1 包含“FieldsV1”类型中描述的第一个 JSON 版本格式。

      *FieldsV1 以类似于 Trie(字典树)的数据结构存储一组字段,采用 JSON 格式。

      每个键要么是一个“.”(代表字段本身,始终映射到一个空集合),要么是一个代表子字段或项的字符串。该字符串将遵循以下四种格式之一:'f',其中是结构体中字段的名称,或者映射中的键 'v',其中是列表项的精确 JSON 格式值 'i',其中是列表中某项的位置 'k',其中是列表项键字段到其唯一值的映射。如果键映射到一个空的 Fields 值,则该键所代表的字段属于该集合。

      确切格式定义在 sigs.k8s.io/structured-merge-diff*

    • managedFields.manager (string)

      Manager 是管理这些字段的工作流的标识符。

    • managedFields.operation (string)

      Operation 是导致创建此 ManagedFieldsEntry 的操作类型。此字段的唯一有效值是“Apply”和“Update”。

    • managedFields.subresource (string)

      Subresource 是用于更新该对象的子资源名称;如果对象是通过主资源更新的,则该值为空字符串。此字段的值用于区分管理者,即使它们共享相同的名称。例如,状态更新将与使用相同管理者名称的常规更新不同。请注意,APIVersion 字段与 Subresource 字段无关,它始终对应于主资源的版本。

    • managedFields.time (Time)

      Time 是添加 ManagedFields 条目的时间戳。如果添加了字段、管理者更改了任何拥有的字段值或删除了字段,时间戳也会更新。当字段因为另一个管理者接管而被从条目中删除时,时间戳不会更新。

      Time 是 time.Time 的包装器,支持正确地编组到 YAML 和 JSON。为时间包提供的许多工厂方法提供包装器。

  • ownerReferences ([]OwnerReference)

    补丁策略:基于 uid 键合并

    映射:在合并期间将保留 uid 键上的唯一值

    此对象所依赖的对象列表。如果列表中的所有对象已被删除,此对象将被垃圾回收。如果此对象由控制器管理,则此列表中的一个条目将指向该控制器,并将 controller 字段设置为 true。不能有多个管理控制器。

    OwnerReference 包含足够的信息来识别从属对象的所有者。所有者对象必须与从属对象处于同一命名空间,或者是集群作用域,因此没有命名空间字段。

只读

  • creationTimestamp (Time)

    CreationTimestamp 是一个时间戳,表示创建此对象的服务器时间。不保证在单独的操作之间按“先发生后发生”的顺序设置。客户端不得设置此值。它以 RFC3339 格式表示,且位于 UTC 时区。

    由系统填充。只读。列表为空。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

    Time 是 time.Time 的包装器,支持正确地编组到 YAML 和 JSON。为时间包提供的许多工厂方法提供包装器。

  • deletionGracePeriodSeconds (int64)

    在从系统中删除该对象之前,允许该对象优雅终止的秒数。仅在设置了 deletionTimestamp 时设置。可能只能缩短。只读。

  • deletionTimestamp (Time)

    DeletionTimestamp 是该资源将被删除的 RFC 3339 日期和时间。此字段由服务器在用户请求优雅删除时设置,客户端无法直接设置。在该字段的时间之后,一旦终结器列表为空,资源预计会被删除(不再从资源列表中可见,且无法按名称访问)。只要终结器列表包含项目,删除就会被阻塞。一旦设置了 DeletionTimestamp,该值可能无法被取消设置或设置为更远的未来,尽管它可以被缩短,或者资源可以在此时间之前被删除。例如,用户可能请求在 30 秒后删除 Pod。Kubelet 将通过向 Pod 中的容器发送优雅终止信号来做出反应。30 秒后,Kubelet 将向容器发送硬终止信号 (SIGKILL),并在清理后从 API 中删除该 Pod。在网络分区的情况下,该对象在此时间戳之后可能仍然存在,直到管理员或自动化流程能够确定资源已完全终止。如果未设置,则表示尚未请求对象的优雅删除。

    由系统在请求优雅删除时填充。只读。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

    Time 是 time.Time 的包装器,支持正确地编组到 YAML 和 JSON。为时间包提供的许多工厂方法提供包装器。

  • generation (int64)

    表示所需状态特定生成 (generation) 的序列号。由系统填充。只读。

  • resourceVersion (string)

    一个不透明的值,代表该对象的内部版本,客户端可利用它来确定对象何时发生变化。可用于乐观并发控制、变更检测以及对资源或资源集的监控 (watch) 操作。客户端必须将这些值视为不透明,并不加修改地传回给服务器。它们可能仅对特定资源或资源集有效。

    由系统填充。只读。客户端必须将该值视为不透明。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

  • selfLink (string)

    已弃用:selfLink 是一个遗留的只读字段,系统不再填充它。

  • uid (string)

    UID 是该对象在时间和空间上的唯一值。它通常由服务器在资源创建成功时生成,且不允许在 PUT 操作中更改。

    由系统填充。只读。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names#uids


上次修改时间 2024 年 8 月 24 日 22:29 PST:更新 v1.31 的生成的 API 参考 (890b36a496)

本页面是自动生成的。

如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。