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 — это общее поле, любой участник с разрешениями может переупорядочить его. Если список финализаторов обрабатывается по порядку, это может привести к ситуации, в которой компонент, отвечающий за первый финализатор в списке, ожидает сигнала (значения поля, внешней системы или другого), создаваемого компонентом, ответственным за финализатор, расположенный позже в списке, что приводит к тупиковой ситуации. Без принудительного порядка финализаторы могут упорядочиваться самостоятельно и не уязвимы к изменениям порядка в списке.
-
managedFields ([]ManagedFieldsEntry)
Атомарно: будет заменено во время слияния
ManagedFields сопоставляет идентификатор потока работы и версию набору полей, которые управляются этим потоком работы. Это в основном для внутренней организации, и пользователям обычно не нужно устанавливать или понимать это поле. Поток работы может быть именем пользователя, именем контроллера или именем конкретного пути применения, например, «ci-cd». Набор полей всегда находится в той версии, которую использовал поток работы при изменении объекта.
ManagedFieldsEntry — это идентификатор потока работы, 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 — это метка времени, когда была добавлена запись ManagedFields. Метка времени также будет обновлена, если поле добавлено, менеджер изменяет любое из управляемых значений поля или удаляет поле. Метка времени не обновляется, когда поле удалено из записи, потому что другой менеджер взял его на себя.
Время — это оболочка вокруг time.Time, которая поддерживает правильную сериализацию в YAML и JSON. Оболочки предоставляются для многих фабричных методов, которые предлагает пакет времени.
-
-
ownerReferences ([]OwnerReference)
Стратегия исправления: слияние по ключу
uidСловарь: уникальные значения по ключу uid будут сохраняться при слиянии
Список объектов, от которых зависит этот объект. Если ВСЕ объекты в списке были удалены, этот объект будет удален. Если этот объект управляется контроллером, запись в этом списке будет указывать на этот контроллер, причём поле controller будет установлено в true. Не может быть более одного управляющего контроллера.
OwnerReference содержит достаточно информации, чтобы позволить вам идентифицировать владеющий объект. Владеющий объект должен быть в том же пространстве имен, что и зависимый, или быть кластерно-глобальным, поэтому поля пространства имён нет.
-
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 (Unprocessable Entity).
-
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 отреагирует, отправив контейнерам в под запросы плавного завершения. После этих 30 секунд Kubelet отправит жёсткий сигнал завершения (SIGKILL) контейнеру, а после очистки удалит под из 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
© 2024 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2024 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/