ObjectMeta
import "k8s.io/apimachinery/pkg/apis/meta/v1"
ObjectMeta 是所有持久化资源必须拥有的元数据,包括用户必须创建的所有对象。
name (string)
Name 在命名空间内必须是唯一的。创建资源时需要,尽管某些资源可能允许客户端请求自动生成合适的名称。Name 主要用于创建操作的幂等性 (idempotence) 和配置定义。不可更新。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names#names
generateName (string)
GenerateName 是一个可选的前缀,由服务器使用,仅当 Name 字段未提供时才生成一个唯一名称。如果使用此字段,返回给客户端的名称将与传递的名称不同。此值还会与一个唯一的后缀组合。提供的值具有与 Name 字段相同的验证规则,并且可能会被在服务器上使值唯一的后缀长度所截断。
如果指定了此字段并且生成的名称已存在,服务器将返回 409。
仅在未指定 Name 时适用。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
namespace (string)
Namespace 定义了每个名称必须唯一的空间。空命名空间等同于 "default" 命名空间,但 "default" 是规范表示。并非所有对象都需要限定在命名空间内 - 对于这些对象,此字段的值将为空。
必须是 DNS_LABEL。不可更新。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/namespaces
labels (map[string]string)
键为 string、值为 string 的映射,可用于组织和分类(限定作用域和选择)对象。可能与复制控制器和服务选择器匹配。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/labels
annotations (map[string]string)
Annotations 是与资源一起存储的非结构化键值映射,可由外部工具设置,用于存储和检索任意元数据。它们不可查询,修改对象时应保留。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/annotations
系统
finalizers ([]string)
Set: 合并期间将保留唯一值
在对象从注册表中删除之前必须为空。每个条目是负责从列表中移除该条目的组件的标识符。如果对象的 deletionTimestamp 非空,则列表中的条目只能被移除。Finalizers 可以按任意顺序处理和移除。不强制排序,因为这会引入 finalizers 挂起的重大风险。finalizers 是一个共享字段,任何有权限的操作者都可以对其重新排序。如果 finalizer 列表按顺序处理,则可能导致列表中第一个 finalizer 的负责组件等待列表中靠后 finalizer 的负责组件产生的信号(字段值、外部系统或其他),从而导致死锁。不强制排序的情况下,finalizers 可以自由地自行排序,并且不受列表中排序变化的影响。
managedFields ([]ManagedFieldsEntry)
Atomic: 合并期间将被替换
ManagedFields 将工作流 ID 和版本映射到该工作流管理的字段集。这主要用于内部管理,用户通常无需设置或理解此字段。工作流可以是用户的名称、控制器的名称,或者特定应用路径(如 "ci-cd")的名称。字段集始终是工作流修改对象时使用的版本。
ManagedFieldsEntry 是一个工作流 ID、一个 FieldSet 以及字段集适用的资源的组版本。
managedFields.apiVersion (string)
APIVersion 定义此字段集适用的资源版本。格式与顶层 APIVersion 字段一样,为 "group/version"。跟踪字段集的版本是必要的,因为它无法自动转换。
managedFields.fieldsType (string)
FieldsType 是用于区分不同字段格式和版本的标识符。目前只有一个可能的值:"FieldsV1"
managedFields.fieldsV1 (FieldsV1)
FieldsV1 按照 "FieldsV1" 类型中所述,保存第一种 JSON 版本格式。
*FieldsV1 以 JSON 格式存储字段集,数据结构类似于 Trie。
每个键要么是代表字段本身的 '.',并且总是映射到一个空集;要么是表示子字段或项的字符串。字符串将遵循以下四种格式之一:'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 的封装,支持正确地编组 (marshaling) 为 YAML 和 JSON。time 包提供的许多工厂方法都有相应的封装。
ownerReferences ([]OwnerReference)
Patch 策略: 根据 key
uid
合并Map: 合并期间将保留 key uid 上的唯一值
此对象依赖的对象列表。如果列表中的所有对象都已删除,此对象将被垃圾收集。如果此对象由控制器管理,则此列表中的一个条目将指向此控制器,并将 controller 字段设置为 true。管理控制器不能超过一个。
OwnerReference 包含足够的信息,以便您识别拥有对象。拥有对象必须与依赖对象位于同一命名空间中,或者是集群范围的,因此没有 namespace 字段。
ownerReferences.apiVersion (string), 必需
引用对象的 API 版本。
ownerReferences.kind (string), 必需
引用对象的 Kind。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
ownerReferences.name (string), 必需
引用对象的 Name。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names#names
ownerReferences.uid (string), 必需
引用对象的 UID。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names#uids
ownerReferences.blockOwnerDeletion (boolean)
如果为 true,**并且**拥有者具有 "foregroundDeletion" finalizer,则在移除此引用之前,不能从键值存储中删除拥有者。关于垃圾收集器如何与此字段交互并强制执行前台删除,请参阅 https://kubernetes.ac.cn/docs/concepts/architecture/garbage-collection/#foreground-deletion。默认为 false。设置此字段需要用户对拥有者具有 "delete" 权限,否则将返回 422 (Unprocessable Entity)。
ownerReferences.controller (boolean)
如果为 true,此引用指向管理控制器。
只读
creationTimestamp (Time)
CreationTimestamp 是表示此对象创建时服务器时间的时间戳。它不保证在独立操作中按照 happens-before 顺序设置。客户端不得设置此值。它以 RFC3339 形式表示,并采用 UTC 时间。
由系统填充。只读。对列表为 null。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Time 是对 time.Time 的封装,支持正确地编组 (marshaling) 为 YAML 和 JSON。time 包提供的许多工厂方法都有相应的封装。
deletionGracePeriodSeconds (int64)
此对象在被系统移除前允许优雅终止的秒数。仅在 deletionTimestamp 也设置时才设置。只能缩短。只读。
deletionTimestamp (Time)
DeletionTimestamp 是此资源将被删除的 RFC 3339 日期和时间。当用户请求优雅删除时,此字段由服务器设置,不能由客户端直接设置。一旦 finalizers 列表为空,资源预计在此字段的时间后被删除(不再显示在资源列表中,也无法通过名称访问)。只要 finalizers 列表包含项,删除就会被阻止。一旦设置了 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 的封装,支持正确地编组 (marshaling) 为 YAML 和 JSON。time 包提供的许多工厂方法都有相应的封装。
generation (int64)
表示期望状态特定代次的序列号。由系统填充。只读。
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
此页面是自动生成的。
如果您打算报告此页面的问题,请在问题描述中说明该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。