ObjectMeta

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

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

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


系统

  • finalizers ([]string)

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

  • managedFields ([]ManagedFieldsEntry)

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

    ManagedFieldsEntry 是工作流 ID、FieldSet 以及字段集应用到的资源的组版本。

    • managedFields.apiVersion (string)

      APIVersion 定义此字段集应用于此资源的版本。格式为“group/version”,就像顶层 APIVersion 字段一样。跟踪字段集的版本是必要的,因为它不能自动转换。

    • managedFields.fieldsType (string)

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

    • managedFields.fieldsV1 (FieldsV1)

      FieldsV1 保存第一个 JSON 版本格式,如“FieldsV1”类型中所述。

      *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 合并

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

    OwnerReference 包含足够的信息,让你可以识别拥有对象。拥有对象必须与依赖项位于同一个命名空间,或者属于集群范围,因此没有命名空间字段。

只读

  • creationTimestamp (Time)

    CreationTimestamp 是一个时间戳,表示创建此对象时的服务器时间。它不能保证在不同的操作之间按发生的顺序设置。客户端可能不会设置此值。它以 RFC3339 格式表示,并且为 UTC。

    由系统填充。只读。列表为 null。更多信息: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)

    表示期望状态的特定生成序列号。由系统填充。只读。

  • resourceVersion (string)

    一个不透明的值,表示此对象的内部版本,客户端可以使用该值来确定对象何时发生更改。 可用于乐观并发、更改检测以及对资源或一组资源的 watch 操作。 客户端必须将这些值视为不透明的,并在未修改的情况下传回服务器。 它们可能仅对特定资源或一组资源有效。

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

  • selfLink (字符串)

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

  • uid (字符串)

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

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

此页面是自动生成的。

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

上次修改时间:2023 年 4 月 3 日下午 8:22 PST:API Ref 多页 v1.27 (7b39e9a9ec)