ObjectMeta
import "k8s.io/apimachinery/pkg/apis/meta/v1"
ObjectMeta — метаданные, которые должны иметь все сохраняемые ресурсы, включая все объекты, которые должны создавать пользователи.
-
name (строка)
Имя должно быть уникальным в рамках пространства имен. Требуется при создании ресурсов, хотя некоторые ресурсы могут позволять клиенту запросить автоматическое создание подходящего имени. Имя в первую очередь предназначено для идемпотентности создания и определения конфигурации. Не может быть обновлено. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
-
generateName (строка)
GenerateName — это необязательный префикс, используемый сервером для генерации уникального имени ТОЛЬКО ЕСЛИ поле Name не было предоставлено. Если это поле используется, имя, возвращаемое клиенту, будет отличаться от переданного имени. Это значение также будет комбинировано с уникальным суффиксом. Предоставленное значение имеет те же правила проверки, что и поле Name, и может быть усечено на длину суффикса, необходимого для уникальности значения на сервере.
Если это поле указано, а сгенерированное имя существует, сервер вернёт 409.
Применяется только если Name не указан. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency
-
namespace (строка)
Namespace определяет пространство, в рамках которого каждое имя должно быть уникальным. Пустое пространство имён эквивалентно пространству имён «default», но «default» является каноническим представлением. Не все объекты обязаны быть ограничены пространством имён — значение этого поля для этих объектов будет пустым.
Должно быть DNS_LABEL. Не может быть обновлено. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces
-
labels (карта[строка]строка)
Карта строк ключей и значений, которые могут использоваться для организации и категоризации (ограничения и выбора) объектов. Может соответствовать селекторам контроллеров репликации и сервисов. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
-
annotations (карта[строка]строка)
Annotations — это неупорядоченная карта пар «ключ-значение», хранящаяся с ресурсом, которая может быть установлена внешними инструментами для хранения и извлечения произвольных метаданных. Они не доступны для запроса и должны сохраняться при изменении объектов. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
Система
-
finalizers ([]строка)
Должно быть пустым перед удалением объекта из реестра. Каждый элемент — идентификатор ответственного компонента, который удалит элемент из списка. Если deletionTimestamp объекта не null, элементы в этом списке могут быть только удалены. Finalizers могут быть обработаны и удалены в любом порядке. Порядок НЕ навязывается, потому что это создаёт значительный риск застревания finalizers. finalizers — это общее поле, любой актёр с разрешениями может его переупорядочить. Если список finalizers обрабатывается в порядке, то это может привести к ситуации, в которой компонент, ответственный за первый finalizer в списке, ждёт сигнала (значение поля, внешняя система или другое), производимого компонентом, ответственным за finalizer позже в списке, что приводит к тупику. Без принудительного порядка finalizers могут свободно упорядочиваться и не уязвимы для изменений порядка в списке.
-
managedFields ([]ManagedFieldsEntry)
ManagedFields сопоставляет id рабочего процесса и версию набору полей, управляемых этим рабочим процессом. В основном для внутреннего учета, и пользователям обычно не нужно устанавливать или понимать это поле. Рабочий процесс может быть именем пользователя, именем контроллера или именем конкретного пути применения, например, «ci-cd». Набор полей всегда в версии, которую рабочий процесс использовал при изменении объекта.
ManagedFieldsEntry — это id рабочего процесса, FieldSet и версия группы ресурса, к которому относится fieldset.
-
managedFields.apiVersion (строка)
APIVersion определяет версию этого ресурса, к которой относится этот набор полей. Формат — «группа/версия», точно так же как поле APIVersion на верхнем уровне. Следует отслеживать версию набора полей, потому что ее нельзя автоматически преобразовать.
-
managedFields.fieldsType (строка)
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 (строка)
Manager — идентификатор рабочего процесса, управляющего этими полями.
-
managedFields.operation (строка)
Operation — тип операции, которая привела к созданию ManagedFieldsEntry. Единственные допустимые значения для этого поля — «Apply» и «Update».
-
managedFields.subresource (строка)
Subresource — имя подресурса, используемого для обновления объекта, или пустая строка, если объект был обновлен через основной ресурс. Значение этого поля используется для различения менеджеров, даже если они имеют одинаковое имя. Например, обновление статуса будет отличаться от обычного обновления с использованием того же имени менеджера. Обратите внимание, что поле APIVersion не связано с полем Subresource, и оно всегда соответствует версии основного ресурса.
-
managedFields.time (Time)
Time — метка времени добавления записи ManagedFields. Метка времени также будет обновлена, если поле добавлено, менеджер изменяет любое из управляемых значений полей или удаляет поле. Метка времени не обновляется при удалении поля из записи, потому что за него взялся другой менеджер.
Time — обертка вокруг time.Time, которая поддерживает правильное преобразование в YAML и JSON. Для многих фабричных методов пакета time предоставляются обертки.
-
-
ownerReferences ([]OwnerReference)
Стратегия патча: слияние по ключу
uidСписок объектов, от которых зависит этот объект. Если ВСЕ объекты в списке были удалены, этот объект будет удалён. Если этот объект управляется контроллером, тогда запись в этом списке будет указывать на этот контроллер, при этом поле controller установлено в true. Не может быть более одного управляющего контроллера.
OwnerReference содержит достаточную информацию для идентификации владеющего объекта. Владеющий объект должен находиться в том же пространстве имён, что и зависимый, или быть пространством кластера, поэтому поля namespace нет.
-
ownerReferences.apiVersion (строка), обязательное
API-версия референта.
-
ownerReferences.kind (строка), обязательное
Тип референта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
ownerReferences.name (строка), обязательное
Имя референта. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
-
ownerReferences.uid (строка), обязательное
UID референта. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
-
ownerReferences.blockOwnerDeletion (логическое)
Если true, И если владелец имеет финализатор «foregroundDeletion», то владелец не может быть удалён из хранилища «ключ-значение», пока эта ссылка не будет удалена. См. https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion о том, как сборщик мусора взаимодействует с этим полем и применяет приостановку удаления. По умолчанию false. Чтобы установить это поле, пользователю нужны разрешения «delete» владельца, иначе будет возвращено 422 (Необрабатываемая сущность).
-
ownerReferences.controller (логическое)
Если true, эта ссылка указывает на управляющий контроллер.
-
Только для чтения
-
creationTimestamp (Time)
CreationTimestamp — метка времени, представляющая время сервера, когда был создан этот объект. Она не гарантирует порядок следования во времени для разных операций. Клиенты не могут задавать это значение. Представлено в формате RFC3339 и в UTC.
Заполняется системой. Только для чтения. Нулевое значение для списков. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Time — оболочка вокруг time.Time, которая поддерживает правильную сериализацию в YAML и JSON. Оболочки предоставляются для многих фабричных методов, которые предлагает пакет time.
-
deletionGracePeriodSeconds (int64)
Количество секунд, разрешенных для этого объекта для плавного завершения работы перед удалением из системы. Устанавливается только при наличии значения deletionTimestamp. Может быть только уменьшено. Только для чтения.
-
deletionTimestamp (Time)
DeletionTimestamp — дата и время в формате RFC 3339, в который этот ресурс будет удалён. Это поле устанавливается сервером, когда пользователь запрашивает плавное удаление, и не может быть напрямую задано клиентом. Ожидается, что ресурс будет удалён (не будет виден в списках ресурсов и не будет доступен по имени) после указанного времени в этом поле, как только список finalizers станет пустым. Пока в списке finalizers есть элементы, удаление заблокировано. После установки deletionTimestamp это значение не может быть сброшено или установлено в более позднее время, хотя может быть уменьшено или ресурс может быть удалён до этого момента. Например, пользователь может запросить удаление подка в течение 30 секунд. Kubelet отреагирует, отправив сигнал плавного завершения контейнерам в pod. После этих 30 секунд Kubelet отправит жёсткий сигнал завершения (SIGKILL) контейнеру и после очистки удалит pod из API. В случае сетевых разрывов этот объект может всё ещё существовать после этого момента, пока администратор или автоматизированный процесс не смогут определить, что ресурс полностью завершил работу. Если не установлено, то плавное удаление объекта не запрошено.
Заполняется системой при запросе плавного удаления. Только для чтения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
Time — оболочка вокруг time.Time, которая поддерживает правильную сериализацию в 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.io/docs/concepts/overview/working-with-objects/names#uids
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-27.docs.kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/