Pod
Связанные концептуальные страницы
apiVersion: v1
import "k8s.io/api/core/v1"
Pod
Pod — это набор контейнеров, которые могут работать на узле. Этот ресурс создаётся клиентами и назначается узлам.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версию схемы этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
kindstring |
Kind — строковое значение, обозначающее REST-ресурс, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлён. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataObjectMeta |
Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
specPodSpec |
Спецификация желаемого поведения пода. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
statusPodStatus |
Последнее наблюдавшееся состояние пода. Эти данные могут быть неактуальными. Заполняется системой. Только для чтения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status |
PodSpec
PodSpec — это описание пода.
| Поле | Описание |
|---|---|
activeDeadlineSecondsinteger |
Необязательная продолжительность в секундах, в течение которой под может оставаться активным на узле относительно StartTime, прежде чем система начнёт активно пытаться отметить его как завершившийся с ошибкой и завершить связанные с ним контейнеры. Значение должно быть положительным целым числом. |
affinityAffinity |
Ограничения планирования пода, если они заданы |
automountServiceAccountTokenboolean |
AutomountServiceAccountToken указывает, следует ли автоматически подключать токен сервисной учётной записи. |
containers *Массив Container стратегия исправления: объединение по ключу name
|
Список контейнеров, принадлежащих поду. В настоящее время контейнеры нельзя добавлять или удалять. В Pod должен быть хотя бы один контейнер. Не может быть обновлён. |
dnsConfigPodDNSConfig |
Задаёт параметры DNS пода. Указанные здесь параметры будут объединены с созданной конфигурацией DNS в соответствии с DNSPolicy. |
dnsPolicystring |
Задаёт политику DNS для пода. По умолчанию используется "ClusterFirst". Допустимые значения: 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' или 'None'. Параметры DNS, указанные в DNSConfig, будут объединены с политикой, выбранной в DNSPolicy. Чтобы задать параметры DNS вместе с hostNetwork, необходимо явно указать политику DNS 'ClusterFirstWithHostNet'. Возможные значения перечисления: - `"ClusterFirst"` означает, что под должен сначала использовать кластерный DNS, а если hostNetwork имеет значение true и кластерный DNS доступен — использовать настройки DNS по умолчанию (определяемые kubelet) в качестве резервного варианта. - `"ClusterFirstWithHostNet"` означает, что под должен сначала использовать кластерный DNS, а если он доступен — использовать настройки DNS по умолчанию (определяемые kubelet) в качестве резервного варианта. - `"Default"` означает, что под должен использовать настройки DNS по умолчанию (определяемые kubelet). - `"None"` означает, что под должен использовать пустые настройки DNS. Параметры DNS, такие как серверы имён и пути поиска, следует задавать с помощью DNSConfig. |
enableServiceLinksboolean |
EnableServiceLinks указывает, следует ли добавлять сведения о сервисах в переменные окружения пода в соответствии с синтаксисом ссылок Docker. Необязательный параметр. По умолчанию — true. |
ephemeralContainersМассив EphemeralContainer стратегия исправления: объединение по ключу name
|
Список эфемерных контейнеров, запущенных в этом поде. Эфемерные контейнеры можно запускать в существующем поде для выполнения действий, инициированных пользователем, например отладки. Этот список нельзя указывать при создании пода, а также нельзя изменять при обновлении спецификации пода. Чтобы добавить эфемерный контейнер в существующий под, используйте подресурс ephemeralcontainers этого пода. |
hostAliasesМассив HostAlias стратегия исправления: объединение по ключу ip
|
HostAliases — это необязательный список узлов и IP-адресов, который, если он указан, будет добавлен в файл hosts пода. |
hostIPCboolean |
Использовать пространство имён IPC узла. Необязательный параметр. По умолчанию — false. |
hostNetworkboolean |
Запрос на использование сети узла для этого пода. Используется пространство имён сети узла. При использовании HostNetwork следует указывать порты, чтобы планировщик располагал необходимой информацией. Если `hostNetwork` имеет значение true, заданные поля `hostPort` в описаниях портов должны совпадать с `containerPort`, а незаданные поля `hostPort` в описаниях портов получают значение `containerPort` по умолчанию. По умолчанию — false. |
hostPIDboolean |
Использовать пространство имён PID узла. Необязательный параметр. По умолчанию — false. |
hostUsersboolean |
Использовать пространство имён пользователей узла. Необязательный параметр. По умолчанию — true. Если задано значение true или поле отсутствует, под будет работать в пространстве имён пользователей узла. Это полезно, когда поду требуется функция, доступная только в пространстве имён пользователей узла, например загрузка модуля ядра с помощью CAP_SYS_MODULE. Если задано значение false, для пода создаётся новое пространство имён пользователей. Значение false полезно для снижения риска уязвимостей, связанных с выходом из контейнера, и позволяет пользователям запускать контейнеры от имени root, не имея фактических привилегий root на узле. |
hostnamestring |
Задаёт имя узла для Pod. Если оно не указано, имени узла пода будет присвоено системное значение. |
hostnameOverridestring |
HostnameOverride задаёт явное переопределение имени узла пода, видимого самому поду. Это поле задаёт только имя узла пода и не влияет на его записи DNS. Если в этом поле задана непустая строка: - Она имеет приоритет над значениями, заданными в `hostname` и `subdomain`. - Имени узла Pod будет присвоено это значение. - `setHostnameAsFQDN` должно иметь значение nil или false. - `hostNetwork` должно иметь значение false. Это поле должно содержать допустимое DNS-имя поддомена, определённое в RFC 1123, длиной не более 64 символов. Требуется включённый функциональный переключатель HostnameOverride. |
imagePullSecretsМассив LocalObjectReference стратегия исправления: объединение по ключу name
|
ImagePullSecrets — это необязательный список ссылок на секреты в том же пространстве имён, которые следует использовать для загрузки любых образов, указанных в этом PodSpec. Если список указан, эти секреты будут переданы соответствующим реализациям загрузчиков для использования. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod |
initContainersМассив Container стратегия исправления: объединение по ключу name
|
Список контейнеров инициализации, принадлежащих поду. Контейнеры инициализации выполняются по порядку до запуска контейнеров. Если какой-либо контейнер инициализации завершается с ошибкой, считается, что под завершился с ошибкой, и он обрабатывается в соответствии с его restartPolicy. Имя контейнера инициализации или обычного контейнера должно быть уникальным среди всех контейнеров. У контейнеров инициализации не может быть действий Lifecycle, проверок Readiness, Liveness или Startup. При планировании учитываются resourceRequirements контейнера инициализации: для каждого типа ресурсов выбирается наибольшее значение запроса или ограничения, а затем используется максимум из этого значения и суммы значений обычных контейнеров. Ограничения для контейнеров инициализации применяются аналогичным образом. В настоящее время контейнеры инициализации нельзя добавлять или удалять. Не может быть обновлён. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ |
nodeNamestring |
NodeName указывает, на каком узле запланирован этот под. Если поле пустое, под может быть запланирован планировщиком, указанным в schedulerName. После установки этого поля kubelet на данном узле отвечает за жизненный цикл пода. Это поле не следует использовать, чтобы указать, что под желательно запланировать на конкретном узле. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename |
nodeSelectorobject |
NodeSelector — это селектор, которому должен соответствовать узел, чтобы под мог быть на нём размещён. Для планирования пода на узел селектор должен соответствовать меткам этого узла. Дополнительная информация: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ |
osPodOS |
Задаёт ОС контейнеров в поде. Если это поле задано, некоторые поля пода и контейнера ограничены. Если в поле OS указана linux, следующие поля должны быть не заданы: -securityContext.windowsOptions Если в поле OS указана windows, следующие поля должны быть не заданы: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.resources - spec.securityContext.appArmorProfile - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup |
overheadobject |
Overhead представляет накладные расходы ресурсов, связанные с запуском пода для заданного RuntimeClass. Это поле автоматически заполняется во время допуска контроллером допуска RuntimeClass. Если контроллер допуска RuntimeClass включён, в запросах на создание Pod нельзя задавать overhead. Контроллер допуска RuntimeClass отклонит запросы на создание Pod, в которых overhead уже задан. Если RuntimeClass настроен и выбран в PodSpec, Overhead будет иметь значение, определённое в соответствующем RuntimeClass; в противном случае поле останется незаданным и будет считаться равным нулю. Дополнительная информация: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md |
preemptionPolicystring |
PreemptionPolicy — это политика вытеснения подов с более низким приоритетом. Возможные значения: Never, PreemptLowerPriority. Если значение не задано, по умолчанию используется PreemptLowerPriority. Возможные значения перечисления: - `"Never"` означает, что под никогда не вытесняет другие поды с более низким приоритетом. - `"PreemptLowerPriority"` означает, что под может вытеснять другие поды с более низким приоритетом. |
priorityinteger |
Значение приоритета. Различные компоненты системы используют это поле, чтобы определить приоритет пода. Если включён контроллер допуска Priority, он не позволяет пользователям задавать это поле. Контроллер допуска заполняет это поле значением из PriorityClassName. Чем выше значение, тем выше приоритет. |
priorityClassNamestring |
Если задано, указывает приоритет пода. Два специальных ключевых слова — "system-node-critical" и "system-cluster-critical" — обозначают наивысшие приоритеты, причём первое означает самый высокий приоритет. Любое другое имя должно быть определено путём создания объекта PriorityClass с этим именем. Если значение не задано, приоритет пода будет равен значению по умолчанию или нулю, если значение по умолчанию отсутствует. |
readinessGatesМассив PodReadinessGate |
Если поле задано, для определения готовности пода будут проверены все gates готовности. Под считается готовым, когда все его контейнеры готовы И все условия, указанные в gates готовности, имеют статус "True". Дополнительная информация: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates |
resourceClaimsМассив PodResourceClaim стратегия исправления: объединение, сохранение ключей по ключу name
|
ResourceClaims определяет, какие ResourceClaims необходимо выделить и зарезервировать до того, как поду будет разрешено запуститься. Эти ресурсы будут доступны контейнерам, которые используют их по имени. Это стабильное поле, но для его использования требуется включить функциональный переключатель DynamicResourceAllocation. Это поле неизменяемо. |
resourcesResourceRequirements |
Resources — это общий объём ресурсов CPU и памяти, необходимый всем контейнерам в поде. Поддерживается указание Requests и Limits только для имён ресурсов "cpu", "memory" и "hugepages-". ResourceClaims не поддерживаются. Это поле обеспечивает точное управление выделением ресурсов для всего пода и позволяет контейнерам в поде совместно использовать ресурсы. Это альфа-поле; для его использования требуется включить функциональный переключатель PodLevelResources. |
restartPolicystring |
Политика перезапуска для всех контейнеров в поде. Возможные значения: Always, OnFailure, Never. В некоторых контекстах может быть разрешено только подмножество этих значений. По умолчанию — Always. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy Возможные значения перечисления: - `"Always"` - `"Never"` - `"OnFailure"` |
runtimeClassNamestring |
RuntimeClassName ссылается на объект RuntimeClass в группе node.k8s.io, который следует использовать для запуска этого пода. Если ресурс RuntimeClass с указанным именем не найден, под не будет запущен. Если значение не задано или пусто, будет использоваться "legacy" RuntimeClass — неявный класс с пустым определением, использующий обработчик среды выполнения по умолчанию. Дополнительная информация: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class |
schedulerNamestring |
Если поле задано, под будет направлен указанным планировщиком. Если поле не задано, под будет направлен планировщиком по умолчанию. |
schedulingGatesМассив PodSchedulingGate стратегия исправления: объединение по ключу name
|
SchedulingGates — это непрозрачный список значений, который, если он задан, блокирует планирование пода. Если список schedulingGates не пуст, под останется в состоянии SchedulingGated, и планировщик не будет пытаться его запланировать. SchedulingGates можно задавать только при создании пода, а удалять — только после его создания. |
schedulingGroupPodSchedulingGroup |
SchedulingGroup содержит ссылку на объект группировки, используемый средой выполнения планирования и которому принадлежит этот Pod. Планировщик использует это поле для определения группы и применения соответствующих политик группового планирования. Связь с группой также влияет на другие аспекты жизненного цикла Pod, имеющие значение в более широком контексте планирования, например вытеснение, подключение ресурсов и т. д. Если поле не задано, во всех этих аспектах Pod рассматривается как отдельная единица. Объект группы, на который ссылается это поле, может отсутствовать на момент создания Pod. Это поле неизменяемо, однако объект группы с тем же именем можно создать повторно с другими политиками. Если сделать это во время планирования пода, его размещение может не соответствовать ожидаемым политикам. |
securityContextPodSecurityContext |
SecurityContext содержит атрибуты безопасности уровня пода и общие настройки контейнеров. Необязательный параметр. По умолчанию пусто. Значения каждого поля по умолчанию см. в описании типа. |
serviceAccountstring |
DeprecatedServiceAccount — устаревший псевдоним ServiceAccountName. Устарело: используйте вместо него serviceAccountName. |
serviceAccountNamestring |
ServiceAccountName — это имя ServiceAccount, используемой для запуска этого пода. Дополнительная информация: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ |
setHostnameAsFQDNboolean |
Если значение true, имя узла пода будет настроено как FQDN пода, а не как короткое имя (по умолчанию). В контейнерах Linux это означает установку FQDN в поле hostname ядра (поле nodename структуры utsname). В контейнерах Windows это означает установку значения реестра hostname для раздела реестра HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters в значение FQDN. Если у пода нет FQDN, это не оказывает никакого эффекта. По умолчанию — false. |
shareProcessNamespaceboolean |
Использовать общее пространство имён процессов для всех контейнеров в поде. Если этот параметр включён, контейнеры смогут просматривать процессы в других контейнерах того же пода и отправлять им сигналы, а первому процессу каждого контейнера не будет назначен PID 1. Одновременно задать HostPID и ShareProcessNamespace нельзя. Необязательный параметр. По умолчанию — false. |
subdomainstring |
Если поле задано, полное доменное имя узла Pod будет иметь вид "\ |
terminationGracePeriodSecondsinteger |
Необязательная продолжительность в секундах, необходимая поду для корректного завершения. Может быть уменьшена в запросе на удаление. Значение должно быть неотрицательным целым числом. Нулевое значение означает немедленную остановку с помощью сигнала kill (без возможности завершения работы). Если значение равно nil, вместо него будет использоваться период ожидания завершения по умолчанию. Период ожидания завершения — это время в секундах между отправкой сигналов завершения процессам, работающим в поде, и принудительной остановкой этих процессов сигналом kill. Укажите значение, превышающее ожидаемое время очистки для вашего процесса. По умолчанию — 30 секунд. |
tolerationsМассив Toleration |
Допуски пода, если они заданы. |
topologySpreadConstraintsМассив TopologySpreadConstraint стратегия исправления: объединение по ключу topologyKey
|
TopologySpreadConstraints описывает, как группа подов должна распределяться по доменам топологии. Планировщик будет размещать поды с соблюдением этих ограничений. Все ограничения topologySpreadConstraints применяются одновременно. |
volumesМассив Volume стратегия исправления: объединение, сохранение ключей по ключу name
|
Список томов, которые могут быть подключены контейнерами, принадлежащими поду. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes |
PodStatus
PodStatus содержит сведения о состоянии пода. Сведения о состоянии могут отставать от фактического состояния системы, особенно если узел, на котором размещён под, не может связаться с плоскостью управления.
| Поле | Описание |
|---|---|
allocatedResourcesobject |
AllocatedResources — это общий объём запросов ресурсов, выделенный узлом для этого пода. Если запросы на уровне пода не заданы, здесь указывается общий объём запросов, суммированный по контейнерам в поде. |
conditionsPodCondition array стратегия исправления: слияние по ключу type
|
Текущее состояние службы пода. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
containerStatusesContainerStatus array |
Состояния контейнеров в этом поде. Для каждого контейнера в поде в этом списке должно быть не более одного состояния, и все состояния должны относиться к контейнерам в поде. Однако это не проверяется. Если в списке есть состояние для несуществующего контейнера или в списке есть повторяющиеся имена, поведение различных компонентов Kubernetes не определено, и такие состояния могут быть проигнорированы. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status |
ephemeralContainerStatusesContainerStatus array |
Состояния всех эфемерных контейнеров, запускавшихся в этом поде. Для каждого эфемерного контейнера в поде в этом списке должно быть не более одного состояния, и все состояния должны относиться к контейнерам в поде. Однако это не проверяется. Если в списке есть состояние для несуществующего контейнера или в списке есть повторяющиеся имена, поведение различных компонентов Kubernetes не определено, и такие состояния могут быть проигнорированы. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status |
extendedResourceClaimStatusPodExtendedResourceClaimStatus |
Состояние запроса расширенного ресурса, предоставляемого посредством DRA. |
hostIPstring |
hostIP содержит IP-адрес узла, которому назначен под. Пустое значение, если под ещё не запущен. Под может быть назначен узлу, на котором возникла проблема с kubelet; в этом случае HostIP не будет обновлён, даже если узел назначен поду. |
hostIPsHostIP array стратегия исправления: слияние по ключу ip
|
hostIPs содержит IP-адреса, выделенные узлу. Если это поле задано, первая запись должна совпадать со значением поля hostIP. Если под ещё не запущен, список пуст. Под может быть назначен узлу, на котором возникла проблема с kubelet; в этом случае HostIPs не будет обновлён, даже если узел назначен этому поду. |
initContainerStatusesContainerStatus array |
Состояния init-контейнеров в этом поде. Последний успешно завершившийся init-контейнер, который не перезапускается, будет иметь значение ready = true; у последнего запущенного контейнера будет задано startTime. Для каждого init-контейнера в поде в этом списке должно быть не более одного состояния, и все состояния должны относиться к контейнерам в поде. Однако это не проверяется. Если в списке есть состояние для несуществующего контейнера или в списке есть повторяющиеся имена, поведение различных компонентов Kubernetes не определено, и такие состояния могут быть проигнорированы. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-and-container-status |
messagestring |
Понятное человеку сообщение с подробной информацией о причине, по которой под находится в этом состоянии. |
nodeAllocatableResourceClaimStatusesNodeAllocatableResourceClaimStatus array |
NodeAllocatableResourceClaimStatuses содержит состояния ресурсов, доступных для выделения узлом, которые были выделены этому поду с помощью запросов DRA. Сюда входят ресурсы, сведения о которых в данный момент представлены в v1.Node `status.allocatable` и которые не являются расширенными ресурсами (см. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources). Например, "cpu", "memory", "ephemeral-storage" и hugepages. |
nominatedNodeNamestring |
nominatedNodeName задаётся только в том случае, когда этот под вытесняет другие поды с узла, но не может быть запланирован немедленно, поскольку для жертв вытеснения предусмотрен период корректного завершения. Это поле не гарантирует, что под будет запланирован на этом узле. Планировщик может решить разместить под в другом месте, если другие узлы станут доступны раньше. Планировщик также может решить выделить ресурсы этого узла поду с более высоким приоритетом, созданному после вытеснения. В результате после планирования пода это поле может отличаться от PodSpec.nodeName. |
observedGenerationinteger |
Если задано, это значение .metadata.generation, на основании которого было установлено состояние пода. Для использования этого поля необходимо включить функциональный переключатель PodObservedGenerationTracking. |
phasestring |
Фаза пода — это краткая сводка высокого уровня о том, на каком этапе жизненного цикла находится под. Массив conditions, поля reason и message, а также отдельные массивы состояний контейнеров содержат более подробную информацию о состоянии пода. Возможны пять значений фазы: Pending: под принят системой Kubernetes, но образ одного или нескольких контейнеров ещё не создан. Сюда входит время до планирования пода, а также время загрузки образов по сети, которая может занять некоторое время. Running: под привязан к узлу, и все контейнеры созданы. По крайней мере один контейнер всё ещё работает либо запускается или перезапускается. Succeeded: все контейнеры в поде завершились успешно и не будут перезапущены. Failed: все контейнеры в поде завершились, и как минимум один контейнер завершился с ошибкой. Контейнер либо завершился с ненулевым кодом состояния, либо был остановлен системой. Unknown: по какой-либо причине состояние пода не удалось получить, обычно из-за ошибки связи с узлом, на котором запущен под. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase Возможные значения перечисления: - `"Failed"` означает, что все контейнеры в поде завершились и как минимум один контейнер завершился с ошибкой (вышел с ненулевым кодом завершения или был остановлен системой). - `"Pending"` означает, что под принят системой, но один или несколько контейнеров ещё не запущены. Сюда входит время до привязки пода к узлу, а также время загрузки образов на узел. - `"Running"` означает, что под привязан к узлу и все контейнеры запущены. По крайней мере один контейнер всё ещё работает или перезапускается. - `"Succeeded"` означает, что все контейнеры в поде завершились самостоятельно с кодом выхода 0 и система не будет перезапускать ни один из этих контейнеров. - `"Unknown"` означает, что по какой-либо причине состояние пода не удалось получить, обычно из-за ошибки связи с узлом, на котором запущен под. Устарело: с 2015 года это значение не устанавливается (74da3b14b0c0f658b3bb8d2def5094686d0e9095) |
podIPstring |
IP-адрес podIP, выделенный поду. Маршрутизируем как минимум внутри кластера. Пустое значение, если адрес ещё не выделен. |
podIPsPodIP array стратегия исправления: слияние по ключу ip
|
podIPs содержит IP-адреса, выделенные поду. Если это поле задано, запись с индексом 0 должна совпадать со значением поля podIP. Подам может быть выделено не более одного адреса IPv4 и одного адреса IPv6. Если IP-адреса ещё не выделены, список пуст. |
qosClassstring |
Классификация качества обслуживания (QOS), назначенная поду на основании требований к ресурсам. Доступные классы QOS см. в типе PodQOSClass. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes Возможные значения перечисления: - `"BestEffort"` — класс QOS BestEffort. - `"Burstable"` — класс QOS Burstable. - `"Guaranteed"` — класс QOS Guaranteed. |
reasonstring |
Краткое сообщение в CamelCase с подробной информацией о причине, по которой под находится в этом состоянии. Например, 'Evicted' |
resizestring |
Состояние изменения размера ресурсов, запрошенного для контейнеров пода. Пустое значение, если изменение размера ресурсов не ожидается. Любые изменения ресурсов контейнера автоматически устанавливают значение "Proposed". Устарело: состояние изменения размера перенесено в два условия пода — PodResizePending и PodResizeInProgress. PodResizePending отслеживает состояния, в которых спецификация уже изменена, но Kubelet ещё не выделил ресурсы. PodResizeInProgress отслеживает выполняющиеся изменения размера и должно присутствовать, когда выделенные ресурсы не равны подтверждённым ресурсам. |
resourceClaimStatusesPodResourceClaimStatus array стратегия исправления: слияние с сохранением ключей по ключу name
|
Состояние запросов ресурсов. |
resourcesResourceRequirements |
Resources — это запросы и ограничения вычислительных ресурсов, применённые на уровне пода, если в PodSpec.Resources заданы запросы или ограничения на уровне пода. |
startTimeTime |
Дата и время в формате RFC 3339, когда объект был подтверждён Kubelet. Это происходит до того, как Kubelet загрузит образы контейнеров для пода. |
PodList
PodList — это список подов.
| Поле | Описание |
|---|---|
apiVersionstring |
APIVersion определяет версию схемы этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее представление и могут отклонять нераспознанные значения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
items *Pod array |
Список подов. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md |
kindstring |
Kind — строковое значение, обозначающее REST-ресурс, который представляет этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
metadataListMeta |
Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
Affinity
Affinity — это набор правил планирования с учётом аффинности.
| Поле | Описание |
|---|---|
nodeAffinityNodeAffinity |
Описывает правила планирования пода с учётом аффинности к узлам. |
podAffinityPodAffinity |
Описывает правила планирования пода с учётом аффинности к другим подам (например, размещение этого пода на том же узле, в той же зоне и т. д., что и другие поды). |
podAntiAffinityPodAntiAffinity |
Описывает правила планирования пода с учётом антиаффинности к другим подам (например, запрет размещать этот под на том же узле, в той же зоне и т. д., что и другие поды). |
AppArmorProfile
AppArmorProfile определяет настройки AppArmor для пода или контейнера.
| Поле | Описание |
|---|---|
localhostProfilestring |
localhostProfile указывает профиль, загруженный на узле, который следует использовать. Для работы профиль должен быть предварительно настроен на узле. Должен соответствовать имени загруженного профиля. Должен быть задан тогда и только тогда, когда type имеет значение "Localhost". |
type *string |
type указывает, какой профиль AppArmor будет применён. Допустимые варианты: Localhost — профиль, предварительно загруженный на узел. RuntimeDefault — профиль AppArmor по умолчанию для среды выполнения контейнеров. Unconfined — принудительное применение AppArmor отключено. Возможные значения перечисления: - `"Localhost"` указывает, что следует использовать профиль, предварительно загруженный на узел. - `"RuntimeDefault"` указывает, что следует использовать профиль AppArmor по умолчанию для среды выполнения контейнеров. - `"Unconfined"` указывает, что профили AppArmor не должны применяться. |
AzureFileVolumeSource
AzureFile представляет подключение Azure File Service на узле и привязку этого подключения к поду.
| Поле | Описание |
|---|---|
readOnlyboolean |
readOnly по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно задаёт настройку ReadOnly в VolumeMounts. |
secretName *string |
secretName — имя секрета, содержащего имя и ключ учётной записи Azure Storage. |
shareName *string |
shareName — имя общего ресурса Azure. |
CSIVolumeSource
Представляет исходное расположение тома для подключения, управляемого внешним драйвером CSI.
| Поле | Описание |
|---|---|
driver *string |
driver — имя драйвера CSI, обслуживающего этот том. Уточните у администратора правильное имя, зарегистрированное в кластере. |
fsTypestring |
fsType — тип файловой системы для подключения. Например, "ext4", "xfs", "ntfs". Если значение не указано, драйверу CSI передаётся пустое значение, и он определяет файловую систему по умолчанию. |
nodePublishSecretRefLocalObjectReference |
nodePublishSecretRef — ссылка на объект секрета, содержащий конфиденциальные данные, которые передаются драйверу CSI для выполнения вызовов CSI NodePublishVolume и NodeUnpublishVolume. Это поле необязательное и может быть пустым, если секрет не требуется. Если объект секрета содержит несколько секретов, передаются ссылки на все из них. |
readOnlyboolean |
readOnly задаёт конфигурацию тома только для чтения. По умолчанию имеет значение false (чтение/запись). |
volumeAttributesobject |
volumeAttributes содержит свойства, специфичные для драйвера, которые передаются драйверу CSI. Поддерживаемые значения см. в документации драйвера. |
Capabilities
Добавляет и удаляет возможности POSIX работающих контейнеров.
| Поле | Описание |
|---|---|
addstring array |
Добавленные возможности |
dropstring array |
Удалённые возможности |
CephFSVolumeSource
Представляет подключение файловой системы Ceph, существующее в течение всего времени жизни пода. Тома Cephfs не поддерживают управление владельцами и переназначение меток SELinux.
| Поле | Описание |
|---|---|
monitors *string array |
monitors — обязательное поле: список мониторов Ceph. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
pathstring |
path — необязательное поле: используется в качестве корня подключённой файловой системы вместо полного дерева Ceph; по умолчанию — / |
readOnlyboolean |
readOnly — необязательное поле: по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно задаёт настройку ReadOnly в VolumeMounts. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
secretFilestring |
secretFile — необязательное поле: SecretFile — путь к кольцу ключей пользователя; по умолчанию — /etc/ceph/user.secret. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
secretRefLocalObjectReference |
secretRef — необязательное поле: SecretRef — ссылка на секрет аутентификации пользователя; по умолчанию пусто. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
userstring |
user — необязательное поле: User — имя пользователя rados; по умолчанию — admin. Дополнительная информация: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
CinderVolumeSource
Представляет ресурс тома Cinder в OpenStack. Том Cinder должен существовать до его подключения к контейнеру. Том также должен находиться в том же регионе, что и kubelet. Тома Cinder поддерживают управление владельцами и переназначение меток SELinux.
| Поле | Описание |
|---|---|
fsTypestring |
fsType — тип файловой системы для подключения. Должен быть типом файловой системы, поддерживаемым операционной системой узла. Примеры: "ext4", "xfs", "ntfs". Если значение не указано, предполагается "ext4". Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md |
readOnlyboolean |
readOnly по умолчанию имеет значение false (чтение/запись). Значение ReadOnly здесь принудительно задаёт настройку ReadOnly в VolumeMounts. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md |
secretRefLocalObjectReference |
secretRef — необязательное поле: указывает на объект секрета, содержащий параметры для подключения к OpenStack. |
volumeID *string |
volumeID используется для идентификации тома в Cinder. Дополнительная информация: https://examples.k8s.io/mysql-cinder-pd/README.md |
ClusterTrustBundleProjection
ClusterTrustBundleProjection описывает, как выбрать набор объектов ClusterTrustBundle и проецировать их содержимое в файловую систему пода.
| Поле | Описание |
|---|---|
labelSelectorLabelSelector |
Выбрать все ClusterTrustBundle, соответствующие этому селектору меток. Действует только в том случае, если задан signerName. Не может использоваться одновременно с name. Если значение не задано, интерпретируется как «ничего не соответствует». Если задано, но пусто, интерпретируется как «соответствует всему». |
namestring |
Выбрать один ClusterTrustBundle по имени объекта. Не может использоваться одновременно с signerName и labelSelector. |
optionalboolean |
Если значение true, запуск пода не блокируется, если указанные ClusterTrustBundle недоступны. При использовании name указанный ClusterTrustBundle может не существовать. При использовании signerName сочетание signerName и labelSelector может не соответствовать ни одному ClusterTrustBundle. |
path *string |
Относительный путь от корня тома, по которому следует записать пакет. |
signerNamestring |
Выбрать все ClusterTrustBundle, соответствующие этому имени подписанта. Не может использоваться одновременно с name. Содержимое всех выбранных ClusterTrustBundle объединяется, а дубликаты удаляются. |
ConfigMapEnvSource
ConfigMapEnvSource выбирает ConfigMap для заполнения переменных окружения.
Содержимое поля Data целевого ConfigMap будет представлено в виде пар «ключ-значение» переменных окружения.
| Поле | Описание |
|---|---|
namestring |
Имя целевого объекта. Это поле фактически обязательно, но для обратной совместимости допускается пустое значение. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
Указывает, должен ли быть определён ConfigMap. |
ConfigMapKeySelector
Выбирает ключ из ConfigMap.
| Поле | Описание |
|---|---|
key *string |
Выбираемый ключ. |
namestring |
Имя целевого объекта. Это поле фактически обязательно, но для обратной совместимости допускается пустое значение. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
Указывает, должен ли быть определён ConfigMap или его ключ. |
ConfigMapProjection
Представляет ConfigMap в виде проецируемого тома.
Содержимое поля Data целевого ConfigMap будет представлено в проецируемом томе в виде файлов: ключи поля Data используются как имена файлов, если только элемент items не заполнен явными сопоставлениями ключей и путей. Обратите внимание, что это аналогично источнику тома configmap, но без режима по умолчанию.
| Поле | Описание |
|---|---|
itemsKeyToPath array |
Если items не задан, каждая пара «ключ-значение» из поля Data указанного ConfigMap проецируется в том как файл, имя которого совпадает с ключом, а содержимое — со значением. Если items задан, перечисленные ключи проецируются по указанным путям, а неперечисленные ключи отсутствуют. Если указан ключ, которого нет в ConfigMap, настройка тома завершится ошибкой, если только этот ключ не помечен как необязательный. Пути должны быть относительными и не могут содержать путь '..' или начинаться с '..'. |
namestring |
Имя целевого объекта. Это поле фактически обязательно, но для обратной совместимости допускается пустое значение. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
optional указывает, должен ли быть определён ConfigMap или его ключи. |
ConfigMapVolumeSource
Представляет ConfigMap в виде тома.
Содержимое поля Data целевого ConfigMap будет представлено в томе в виде файлов: ключи поля Data используются как имена файлов, если только элемент items не заполнен явными сопоставлениями ключей и путей. Тома ConfigMap поддерживают управление владельцами и переназначение меток SELinux.
| Поле | Описание |
|---|---|
defaultModeinteger |
defaultMode — необязательное поле: биты режима, используемые по умолчанию для установки разрешений на созданные файлы. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML допускает как восьмеричные, так и десятичные значения, а JSON требует десятичные значения для битов режима. По умолчанию — 0644. На каталоги внутри пути эта настройка не влияет. Она может конфликтовать с другими параметрами, влияющими на режим файлов, например fsGroup; в результате могут быть установлены другие биты режима. |
itemsKeyToPath array |
Если items не задан, каждая пара «ключ-значение» из поля Data указанного ConfigMap проецируется в том как файл, имя которого совпадает с ключом, а содержимое — со значением. Если items задан, перечисленные ключи проецируются по указанным путям, а неперечисленные ключи отсутствуют. Если указан ключ, которого нет в ConfigMap, настройка тома завершится ошибкой, если только этот ключ не помечен как необязательный. Пути должны быть относительными и не могут содержать путь '..' или начинаться с '..'. |
namestring |
Имя целевого объекта. Это поле фактически обязательно, но для обратной совместимости допускается пустое значение. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
optional указывает, должен ли быть определён ConfigMap или его ключи. |
Container
Отдельный контейнер приложения, который требуется запустить в поде.
| Поле | Описание |
|---|---|
argsstring array |
Аргументы для точки входа. Если это поле не указано, используется CMD образа контейнера. Ссылки на переменные $(VAR_NAME) раскрываются с использованием окружения контейнера. Если переменную не удаётся разрешить, ссылка в исходной строке остаётся без изменений. Двойные знаки $$ преобразуются в один знак $, что позволяет экранировать синтаксис $(VAR_NAME): например, "$$(VAR_NAME)" будет преобразовано в строковый литерал "$(VAR_NAME)". Экранированные ссылки никогда не раскрываются, независимо от того, существует ли переменная. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
commandstring array |
Массив точки входа. Не выполняется в оболочке. Если это поле не указано, используется ENTRYPOINT образа контейнера. Ссылки на переменные $(VAR_NAME) раскрываются с использованием окружения контейнера. Если переменную не удаётся разрешить, ссылка в исходной строке остаётся без изменений. Двойные знаки $$ преобразуются в один знак $, что позволяет экранировать синтаксис $(VAR_NAME): например, "$$(VAR_NAME)" будет преобразовано в строковый литерал "$(VAR_NAME)". Экранированные ссылки никогда не раскрываются, независимо от того, существует ли переменная. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
envEnvVar array стратегия patch: объединение по ключу name
|
Список переменных окружения, задаваемых в контейнере. Поле нельзя обновить. |
envFromEnvFromSource array |
Список источников для заполнения переменных окружения контейнера. Ключи, определённые в источнике, могут состоять из любых печатных символов ASCII, кроме '='. Если ключ присутствует в нескольких источниках, приоритет имеет значение из последнего источника. Значения, заданные в Env с дублирующимся ключом, имеют приоритет. Поле нельзя обновить. |
imagestring |
Имя образа контейнера. Подробнее: https://kubernetes.io/docs/concepts/containers/images Это поле является необязательным, чтобы системы управления конфигурацией более высокого уровня могли задавать значения по умолчанию или переопределять образы контейнеров в контроллерах рабочих нагрузок, таких как Deployments и StatefulSets. |
imagePullPolicystring |
Политика загрузки образа. Возможные значения: Always, Never, IfNotPresent. По умолчанию используется Always, если указан тег :latest, и IfNotPresent в противном случае. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/concepts/containers/images#updating-images Возможные значения перечисления: - `"Always"` означает, что kubelet всегда пытается загрузить последнюю версию образа. Если загрузка не удастся, контейнер завершится с ошибкой. - `"IfNotPresent"` означает, что kubelet загружает образ, только если его нет на диске. Если образ отсутствует и загрузка не удастся, контейнер завершится с ошибкой. - `"Never"` означает, что kubelet никогда не загружает образ, а использует только локальный образ. Если образ отсутствует, контейнер завершится с ошибкой |
lifecycleLifecycle |
Действия, которые система управления должна выполнять в ответ на события жизненного цикла контейнера. Поле нельзя обновить. |
livenessProbeProbe |
Периодическая проверка работоспособности контейнера. Если проверка завершится неудачей, контейнер будет перезапущен. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
name *string |
Имя контейнера, заданное в формате DNS_LABEL. Каждый контейнер в поде должен иметь уникальное имя (DNS_LABEL). Поле нельзя обновить. |
portsContainerPort array стратегия patch: объединение по ключу containerPort
|
Список портов, доступных извне контейнера. Если порт здесь не указан, это НЕ препятствует его доступности. Любой порт, прослушиваемый внутри контейнера по адресу по умолчанию "0.0.0.0", будет доступен из сети. Изменение этого массива с помощью стратегического патча слияния может привести к повреждению данных. Подробнее см. https://github.com/kubernetes/kubernetes/issues/108255. Поле нельзя обновить. |
readinessProbeProbe |
Периодическая проверка готовности службы контейнера. Если проверка завершится неудачей, контейнер будет удалён из конечных точек службы. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
resizePolicyContainerResizePolicy array |
Политика изменения размера ресурсов контейнера. Это поле нельзя задавать для эфемерных контейнеров. |
resourcesResourceRequirements |
Вычислительные ресурсы, необходимые этому контейнеру. Поле нельзя обновить. Подробнее: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
restartPolicystring |
RestartPolicy определяет поведение при перезапуске отдельных контейнеров в поде. Эта настройка переопределяет политику перезапуска на уровне пода. Если это поле не указано, поведение при перезапуске определяется политикой перезапуска пода и типом контейнера. Кроме того, установка RestartPolicy в значение "Always" для init-контейнера приводит к следующему: этот init-контейнер будет непрерывно перезапускаться после завершения работы, пока не завершат работу все обычные контейнеры. После завершения работы всех обычных контейнеров будут остановлены все init-контейнеры с restartPolicy "Always". Этот жизненный цикл отличается от жизненного цикла обычных init-контейнеров; такие контейнеры часто называют контейнерами «sidecar». Хотя этот init-контейнер по-прежнему запускается в последовательности init-контейнеров, он не ожидает завершения своей работы перед переходом к следующему init-контейнеру. Вместо этого следующий init-контейнер запускается сразу после запуска этого init-контейнера или после успешного завершения любой startupProbe. |
restartPolicyRulesContainerRestartRule array |
Список правил, которые проверяются для определения необходимости перезапуска контейнера после завершения работы. Правила проверяются по порядку. После совпадения правила с условием завершения контейнера остальные правила игнорируются. Если ни одно правило не совпадает с условием завершения контейнера, необходимость перезапуска определяется политикой перезапуска на уровне контейнера. Ограничения для правил: - Допускается не более 20 правил. - Правила могут иметь одинаковое действие. - Проверка не запрещает идентичные правила. Если заданы правила, для контейнера ОБЯЗАТЕЛЬНО нужно явно задать RestartPolicy, даже если она совпадает с RestartPolicy пода. |
securityContextSecurityContext |
SecurityContext определяет параметры безопасности, с которыми должен работать контейнер. Если это поле задано, значения его полей переопределяют соответствующие поля PodSecurityContext. Подробнее: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ |
startupProbeProbe |
StartupProbe указывает, что инициализация пода успешно завершена. Если это поле задано, никакие другие проверки не выполняются, пока эта проверка не завершится успешно. Если эта проверка завершится неудачей, под будет перезапущен, как и в случае сбоя livenessProbe. Это позволяет задавать параметры проверки в начале жизненного цикла пода, когда загрузка данных или прогрев кэша может занять много времени, отличающиеся от параметров при стабильной работе. Это поле нельзя обновить. Подробнее: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
stdinboolean |
Указывает, должен ли контейнер выделить буфер для stdin в среде выполнения контейнеров. Если это поле не задано, чтение из stdin контейнера всегда будет приводить к EOF. По умолчанию — false. |
stdinOnceboolean |
Указывает, должна ли среда выполнения контейнеров закрыть канал stdin после его открытия одним подключением. Если stdin имеет значение true, поток stdin останется открытым для нескольких сеансов подключения. Если stdinOnce имеет значение true, stdin открывается при запуске контейнера и остаётся пустым до первого подключения клиента к stdin; затем он остаётся открытым и принимает данные, пока клиент не отключится. После этого stdin закрывается и остаётся закрытым до перезапуска контейнера. Если этот флаг имеет значение false, процесс контейнера, читающий данные из stdin, никогда не получит EOF. По умолчанию — false |
terminationMessagePathstring |
Необязательно: путь в файловой системе контейнера, куда подключается файл для записи сообщения о завершении контейнера. Предполагается, что записываемое сообщение будет кратким итоговым статусом, например сообщением об ошибке утверждения. Если размер сообщения превышает 4096 байт, узел обрежет его. Общая длина сообщений для всех контейнеров ограничена 12 КБ. По умолчанию — /dev/termination-log. Поле нельзя обновить. |
terminationMessagePolicystring |
Указывает, как следует заполнять сообщение о завершении. При значении File для сообщения о статусе контейнера при успешном завершении и при ошибке будет использоваться содержимое terminationMessagePath. При значении FallbackToLogsOnError, если файл сообщения о завершении пуст, а контейнер завершился с ошибкой, будет использована последняя часть вывода журнала контейнера. Объём вывода журнала ограничен 2048 байтами или 80 строками — в зависимости от того, что меньше. По умолчанию — File. Поле нельзя обновить. Возможные значения перечисления: - `"FallbackToLogsOnError"`: при завершении контейнера с ошибкой и отсутствии содержимого в terminationMessagePath для сообщения о статусе контейнера будет прочитано последнее содержимое журнала контейнера. - `"File"` — поведение по умолчанию: при завершении контейнера сообщение о статусе контейнера будет содержать данные из terminationMessagePath контейнера. |
ttyboolean |
Указывает, должен ли контейнер выделить для себя TTY; для этого также требуется, чтобы значение 'stdin' было true. По умолчанию — false. |
volumeDevicesVolumeDevice array стратегия patch: объединение по ключу devicePath
|
volumeDevices — список блочных устройств, используемых контейнером. |
volumeMountsVolumeMount array стратегия patch: объединение по ключу mountPath
|
Тома пода, подключаемые к файловой системе контейнера. Поле нельзя обновить. |
workingDirstring |
Рабочий каталог контейнера. Если он не указан, будет использоваться значение по умолчанию среды выполнения контейнеров, которое может быть задано в образе контейнера. Поле нельзя обновить. |
ContainerExtendedResourceRequest
ContainerExtendedResourceRequest содержит соответствие между именем контейнера, именем расширенного ресурса и именем запроса устройства.
| Поле | Описание |
|---|---|
containerName *string |
Имя контейнера, запрашивающего ресурсы. |
requestName *string |
Имя запроса в специальном ResourceClaim, соответствующего расширенному ресурсу. |
resourceName *string |
Имя расширенного ресурса в этом контейнере, обеспечиваемого DRA. |
ContainerPort
ContainerPort представляет сетевой порт в одном контейнере.
| Поле | Описание |
|---|---|
containerPort *integer |
Номер порта, открываемого на IP-адресе пода. Это должен быть допустимый номер порта: 0 \< x \< 65536. |
hostIPstring |
IP-адрес узла, к которому привязывается внешний порт. |
hostPortinteger |
Номер порта, открываемого на узле. Если он указан, это должен быть допустимый номер порта: 0 \< x \< 65536. Если задан HostNetwork, это значение должно совпадать с ContainerPort. Большинству контейнеров это поле не требуется. |
namestring |
Если указано, значение должно быть IANA_SVC_NAME и быть уникальным в пределах пода. Каждый именованный порт в поде должен иметь уникальное имя. Имя порта, на которое могут ссылаться службы. |
protocolstring |
Протокол порта. Должен быть UDP, TCP или SCTP. По умолчанию — "TCP". Возможные значения перечисления: - `"SCTP"` — протокол SCTP. - `"TCP"` — протокол TCP. - `"UDP"` — протокол UDP. |
ContainerResizePolicy
ContainerResizePolicy представляет политику изменения размера ресурсов контейнера.
| Поле | Описание |
|---|---|
resourceName *string |
Имя ресурса, к которому применяется эта политика изменения размера. Поддерживаемые значения: cpu, memory. |
restartPolicy *string |
Политика перезапуска, применяемая при изменении размера указанного ресурса. Если она не задана, по умолчанию используется NotRequired. |
ContainerRestartRule
ContainerRestartRule описывает обработку завершения работы контейнера.
| Поле | Описание |
|---|---|
action *string |
Действие, выполняемое при завершении работы контейнера, если выполнены заданные условия. Единственное возможное значение — "Restart", означающее перезапуск контейнера. |
exitCodesContainerRestartRuleOnExitCodes |
Коды завершения, проверяемые при завершении работы контейнера. |
ContainerRestartRuleOnExitCodes
ContainerRestartRuleOnExitCodes описывает условие обработки завершившего работу контейнера на основе его кодов завершения.
| Поле | Описание |
|---|---|
operator *string |
Задаёт отношение между кодом (кодами) завершения контейнера и указанными значениями. Возможные значения: - In: условие выполнено, если код завершения контейнера входит в набор указанных значений. - NotIn: условие выполнено, если код завершения контейнера не входит в набор указанных значений. |
valuesinteger array |
Задаёт набор значений для проверки кодов завершения контейнера. Допускается не более 255 элементов. |
ContainerState
ContainerState содержит возможное состояние контейнера. Можно указать только один из его членов. Если не указан ни один из них, используется состояние по умолчанию — ContainerStateWaiting.
| Поле | Описание |
|---|---|
runningContainerStateRunning |
Сведения о работающем контейнере |
terminatedContainerStateTerminated |
Сведения о завершившем работу контейнере |
waitingContainerStateWaiting |
Сведения о контейнере в ожидании |
ContainerStateRunning
ContainerStateRunning — состояние работающего контейнера.
| Поле | Описание |
|---|---|
startedAtTime |
Время последнего (повторного) запуска контейнера |
ContainerStateTerminated
ContainerStateTerminated — состояние завершившего работу контейнера.
| Поле | Описание |
|---|---|
containerIDstring |
Идентификатор контейнера в формате '\ |
exitCode *integer |
Код завершения последнего завершения работы контейнера |
finishedAtTime |
Время последнего завершения работы контейнера |
messagestring |
Сообщение о последнем завершении работы контейнера |
reasonstring |
Краткая причина последнего завершения работы контейнера |
signalinteger |
Сигнал при последнем завершении работы контейнера |
startedAtTime |
Время начала предыдущего запуска контейнера |
ContainerStateWaiting
ContainerStateWaiting — состояние контейнера в ожидании.
| Поле | Описание |
|---|---|
messagestring |
Сообщение с указанием причины, по которой контейнер ещё не запущен. |
reasonstring |
Краткая причина, по которой контейнер ещё не запущен. |
ContainerUser
ContainerUser представляет сведения об идентификаторе пользователя
| Поле | Описание |
|---|---|
linuxLinuxContainerUser |
Linux содержит сведения об идентификаторе пользователя, изначально назначенном первому процессу контейнера в Linux. Обратите внимание: фактический идентификатор работающего процесса может измениться, если у процесса достаточно прав. |
DownwardAPIProjection
Представляет сведения Downward API для проецирования в проецируемый том. Обратите внимание: это аналог источника тома downwardAPI без режима по умолчанию.
| Поле | Описание |
|---|---|
itemsDownwardAPIVolumeFile array |
Items — список файлов DownwardAPIVolume |
DownwardAPIVolumeFile
DownwardAPIVolumeFile содержит сведения для создания файла с данными о поле пода
| Поле | Описание |
|---|---|
fieldRefObjectFieldSelector |
Обязательно: выбирает поле пода; поддерживаются только annotations, labels, name, namespace и uid. |
modeinteger |
Необязательно: биты режима, используемые для задания прав доступа к этому файлу. Значение должно быть восьмеричным числом от 0000 до 0777 или десятичным числом от 0 до 511. YAML допускает восьмеричные и десятичные значения, а JSON требует десятичные значения для битов режима. Если значение не указано, используется значение volume defaultMode. Оно может конфликтовать с другими параметрами, влияющими на режим файла, например fsGroup; в результате могут быть установлены другие биты режима. |
path *string |
Обязательно: Path — относительный путь к создаваемому файлу. Путь не должен быть абсолютным или содержать '..'. Он должен быть закодирован в UTF-8. Первый компонент относительного пути не должен начинаться с '..' |
resourceFieldRefResourceFieldSelector |
Выбирает ресурс контейнера; в настоящее время поддерживаются только ограничения и запросы ресурсов (limits.cpu, limits.memory, requests.cpu и requests.memory). |
DownwardAPIVolumeSource
DownwardAPIVolumeSource представляет том, содержащий сведения Downward API. Тома Downward API поддерживают управление владельцами и перемаркировку SELinux.
| Поле | Описание |
|---|---|
defaultModeinteger |
Необязательно: биты режима, используемые по умолчанию для создаваемых файлов. Необязательно: биты режима, используемые по умолчанию для задания прав доступа к создаваемым файлам. Значение должно быть восьмеричным числом от 0000 до 0777 или десятичным числом от 0 до 511. YAML допускает восьмеричные и десятичные значения, а JSON требует десятичные значения для битов режима. По умолчанию — 0644. Этот параметр не влияет на каталоги внутри пути. Он может конфликтовать с другими параметрами, влияющими на режим файла, например fsGroup; в результате могут быть установлены другие биты режима. |
itemsDownwardAPIVolumeFile array |
Items — список файлов тома downward API |
EmptyDirVolumeSource
Представляет пустой каталог для пода. Тома с пустым каталогом поддерживают управление владельцами и перемаркировку SELinux.
| Поле | Описание |
|---|---|
mediumstring |
medium задаёт тип носителя, на котором должен располагаться этот каталог. По умолчанию используется "", то есть носитель по умолчанию на узле. Допускается пустая строка (значение по умолчанию) или Memory. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
sizeLimitQuantity |
sizeLimit — общий объём локального хранилища, необходимый для этого тома EmptyDir. Ограничение размера также применяется к носителю Memory. Максимальное использование тома EmptyDir на носителе Memory будет равняться меньшему из двух значений: SizeLimit, указанному здесь, и сумме ограничений памяти всех контейнеров в поде. По умолчанию используется nil, то есть ограничение не задано. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
EnvFromSource
EnvFromSource представляет источник набора ConfigMap или Secret
| Поле | Описание |
|---|---|
configMapRefConfigMapEnvSource |
ConfigMap, из которого выбираются значения |
prefixstring |
Необязательный текст, добавляемый в начало имени каждой переменной окружения. Может состоять из любых печатных символов ASCII, кроме '='. |
secretRefSecretEnvSource |
Secret, из которого выбираются значения |
EnvVar
EnvVar представляет переменную окружения, заданную в контейнере.
| Поле | Описание |
|---|---|
name *string |
Имя переменной окружения. Может состоять из любых печатных символов ASCII, кроме '='. |
valuestring |
Ссылки на переменные $(VAR_NAME) раскрываются с использованием переменных окружения, ранее определённых в контейнере, а также переменных окружения службы. Если переменную не удаётся разрешить, ссылка в исходной строке остаётся без изменений. Двойные знаки $$ преобразуются в один знак $, что позволяет экранировать синтаксис $(VAR_NAME): например, "$$(VAR_NAME)" будет преобразовано в строковый литерал "$(VAR_NAME)". Экранированные ссылки никогда не раскрываются, независимо от того, существует ли переменная. По умолчанию используется "". |
valueFromEnvVarSource |
Источник значения переменной окружения. Нельзя использовать, если value не пусто. |
EnvVarSource
EnvVarSource представляет источник значения EnvVar.
| Поле | Описание |
|---|---|
configMapKeyRefConfigMapKeySelector |
Выбирает ключ ConfigMap. |
fieldRefObjectFieldSelector |
Выбирает поле пода: поддерживаются metadata.name, metadata.namespace, `metadata.labels['\ |
fileKeyRefFileKeySelector |
FileKeyRef выбирает ключ файла окружения. Для этого необходимо включить функциональный переключатель EnvFiles. |
resourceFieldRefResourceFieldSelector |
Выбирает ресурс контейнера; в настоящее время поддерживаются только ограничения и запросы ресурсов (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory и requests.ephemeral-storage). |
secretKeyRefSecretKeySelector |
Выбирает ключ Secret в пространстве имён пода |
EphemeralContainer
EphemeralContainer — это временный контейнер, который можно добавить в существующий под для выполнения действий по запросу пользователя, например отладки. Для эфемерных контейнеров не гарантируются выделение ресурсов и планирование; они не перезапускаются после завершения работы, удаления или перезапуска пода. Kubelet может выселить под, если эфемерный контейнер приведёт к превышению выделенных поду ресурсов.
Чтобы добавить эфемерный контейнер, используйте субресурс ephemeralcontainers существующего пода. Эфемерные контейнеры нельзя удалить или перезапустить.
| Поле | Описание |
|---|---|
argsstring array |
Аргументы для точки входа. Если это значение не указано, используется CMD образа. Ссылки на переменные $(VAR_NAME) раскрываются с использованием окружения контейнера. Если переменную невозможно разрешить, ссылка в исходной строке останется без изменений. Двойные знаки $$ преобразуются в один $, что позволяет экранировать синтаксис $(VAR_NAME): например, "$$(VAR_NAME)" даст строковый литерал "$(VAR_NAME)". Экранированные ссылки никогда не раскрываются, независимо от того, существует переменная или нет. Не может быть обновлено. Дополнительная информация: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
commandstring array |
Массив точки входа. Не выполняется в оболочке. Если это значение не указано, используется ENTRYPOINT образа. Ссылки на переменные $(VAR_NAME) раскрываются с использованием окружения контейнера. Если переменную невозможно разрешить, ссылка в исходной строке останется без изменений. Двойные знаки $$ преобразуются в один $, что позволяет экранировать синтаксис $(VAR_NAME): например, "$$(VAR_NAME)" даст строковый литерал "$(VAR_NAME)". Экранированные ссылки никогда не раскрываются, независимо от того, существует переменная или нет. Не может быть обновлено. Дополнительная информация: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell |
envМассив EnvVar стратегия исправления: объединение по ключу name
|
Список переменных окружения, которые нужно установить в контейнере. Не может быть обновлено. |
envFromМассив EnvFromSource |
Список источников для заполнения переменных окружения в контейнере. Ключи, определённые в источнике, могут состоять из любых печатных символов ASCII, кроме '='. Если ключ присутствует в нескольких источниках, приоритет имеет значение из последнего источника. Значения, заданные в Env с дублирующимся ключом, имеют приоритет. Не может быть обновлено. |
imagestring |
Имя образа контейнера. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/images |
imagePullPolicystring |
Политика загрузки образа. Одно из значений: Always, Never, IfNotPresent. По умолчанию используется Always, если указан тег :latest, в противном случае — IfNotPresent. Не может быть обновлено. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/images#updating-images Возможные значения перечисления: - `"Always"` означает, что kubelet всегда пытается загрузить последний образ. Если загрузка завершается неудачей, контейнер не запустится. - `"IfNotPresent"` означает, что kubelet загружает образ, если его нет на диске. Если образ отсутствует и загрузка завершается неудачей, контейнер не запустится. - `"Never"` означает, что kubelet не загружает образ, а использует только локальный образ. Если образ отсутствует, контейнер не запустится. |
lifecycleLifecycle |
Для эфемерных контейнеров Lifecycle не допускается. |
livenessProbeProbe |
Для эфемерных контейнеров пробы не допускаются. |
name *string |
Имя эфемерного контейнера, заданное как DNS_LABEL. Это имя должно быть уникальным среди всех контейнеров, контейнеров инициализации и эфемерных контейнеров. |
portsМассив ContainerPort стратегия исправления: объединение по ключу containerPort
|
Для эфемерных контейнеров порты не допускаются. |
readinessProbeProbe |
Для эфемерных контейнеров пробы не допускаются. |
resizePolicyМассив ContainerResizePolicy |
Политика изменения размера ресурсов контейнера. |
resourcesResourceRequirements |
Для эфемерных контейнеров ресурсы не допускаются. Эфемерные контейнеры используют свободные ресурсы, уже выделенные поду. |
restartPolicystring |
Политика перезапуска контейнера для управления поведением перезапуска каждого контейнера в поде. Это поле нельзя задавать для эфемерных контейнеров. |
restartPolicyRulesМассив ContainerRestartRule |
Список правил, которые проверяются для определения необходимости перезапустить контейнер после завершения. Это поле нельзя задавать для эфемерных контейнеров. |
securityContextSecurityContext |
Необязательно: SecurityContext задаёт параметры безопасности, с которыми должен запускаться эфемерный контейнер. Если поле задано, поля SecurityContext переопределяют соответствующие поля PodSecurityContext. |
startupProbeProbe |
Для эфемерных контейнеров пробы не допускаются. |
stdinboolean |
Указывает, должен ли этот контейнер выделить буфер для stdin в среде выполнения контейнеров. Если значение не задано, чтение из stdin в контейнере всегда будет приводить к EOF. По умолчанию — false. |
stdinOnceboolean |
Указывает, должна ли среда выполнения контейнеров закрывать канал stdin после его открытия одним подключением. Если stdin имеет значение true, поток stdin останется открытым в нескольких сеансах подключения. Если stdinOnce имеет значение true, stdin открывается при запуске контейнера, остаётся пустым до первого подключения клиента к stdin, затем остаётся открытым и принимает данные до отключения клиента. После этого stdin закрывается и остаётся закрытым до перезапуска контейнера. Если этот флаг имеет значение false, процесс контейнера, считывающий данные из stdin, никогда не получит EOF. По умолчанию — false. |
targetContainerNamestring |
Если задано, это имя контейнера из PodSpec, для которого предназначен данный эфемерный контейнер. Эфемерный контейнер будет запущен в пространствах имён (IPC, PID и т. д.) этого контейнера. Если значение не задано, эфемерный контейнер использует пространства имён, настроенные в спецификации Pod. Среда выполнения контейнеров должна поддерживать эту функцию. Если среда выполнения не поддерживает выбор целевых пространств имён, результат задания этого поля не определён. |
terminationMessagePathstring |
Необязательно: путь, по которому файл с сообщением о завершении контейнера подключается к файловой системе контейнера. Предполагается, что записанное сообщение будет кратким итоговым статусом, например сообщением об ошибке проверки утверждения. Если размер превышает 4096 байт, узел усечёт сообщение. Общая длина сообщений всех контейнеров ограничена 12 КБ. По умолчанию используется /dev/termination-log. Не может быть обновлено. |
terminationMessagePolicystring |
Указывает, как должно формироваться сообщение о завершении. При значении File для заполнения сообщения о статусе контейнера как при успешном завершении, так и при ошибке используется содержимое terminationMessagePath. При значении FallbackToLogsOnError, если файл сообщения о завершении пуст и контейнер завершился с ошибкой, используется последняя часть журнала контейнера. Объём вывода журнала ограничен 2048 байтами или 80 строками — в зависимости от того, что меньше. По умолчанию используется File. Не может быть обновлено. Возможные значения перечисления: - `"FallbackToLogsOnError"` означает, что при завершении контейнера с ошибкой и отсутствии содержимого в terminationMessagePath в качестве сообщения о статусе контейнера будет использовано последнее содержимое журнала контейнера. - `"File"` — поведение по умолчанию; при завершении контейнера в качестве сообщения о его статусе используется содержимое terminationMessagePath. |
ttyboolean |
Указывает, должен ли этот контейнер выделить для себя TTY; для этого также требуется, чтобы stdin имел значение true. По умолчанию — false. |
volumeDevicesМассив VolumeDevice стратегия исправления: объединение по ключу devicePath
|
volumeDevices — это список блочных устройств, которые должен использовать контейнер. |
volumeMountsМассив VolumeMount стратегия исправления: объединение по ключу mountPath
|
Тома пода, подключаемые к файловой системе контейнера. Подключение подкаталогов не допускается для эфемерных контейнеров. Не может быть обновлено. |
workingDirstring |
Рабочий каталог контейнера. Если значение не задано, используется значение по умолчанию среды выполнения контейнеров, которое может быть настроено в образе контейнера. Не может быть обновлено. |
EphemeralVolumeSource
Представляет эфемерный том, обслуживаемый обычным драйвером хранилища.
| Поле | Описание |
|---|---|
volumeClaimTemplatePersistentVolumeClaimTemplate |
Будет использоваться для создания отдельного PVC, предназначенного для выделения тома. Владелец пода, в который встроен этот EphemeralVolumeSource, будет также владельцем PVC, то есть PVC будет удалён вместе с подом. Имя PVC будет `\ |
ExecAction
ExecAction описывает действие «выполнить в контейнере».
| Поле | Описание |
|---|---|
commandstring array |
Command — это командная строка для выполнения внутри контейнера; рабочим каталогом команды является корневой каталог ('/') файловой системы контейнера. Команда выполняется напрямую, а не в оболочке, поэтому стандартные инструкции оболочки ('|' и т. д.) не будут работать. Чтобы использовать оболочку, необходимо явно вызвать её. Код завершения 0 считается признаком работоспособности, ненулевой код — признаком неисправности. |
FileKeySelector
FileKeySelector выбирает ключ из файла окружения.
| Поле | Описание |
|---|---|
key *string |
Ключ в файле окружения. Недопустимый ключ не позволит запустить под. Ключи, определённые в источнике, могут состоять из любых печатных символов ASCII, кроме '='. На этапе Alpha функции EnvFiles размер ключа ограничен 128 символами. |
optionalboolean |
Указывает, должен ли существовать файл или его ключ. Если файл или ключ не существует, переменная окружения не публикуется. Если для optional задано значение true, а указанный ключ не существует, переменная окружения не будет установлена в контейнерах Pod. Если для optional задано значение false, а указанный ключ не существует, при создании Pod будет возвращена ошибка. |
path *string |
Путь в томе, по которому выбирается файл. Должен быть относительным и не должен содержать путь '..' или начинаться с '..'. |
volumeName *string |
Имя подключения тома, содержащего файл окружения. |
FlexVolumeSource
FlexVolume представляет универсальный ресурс тома, который выделяется или подключается с помощью плагина на основе exec.
| Поле | Описание |
|---|---|
driver *string |
driver — имя драйвера, используемого для этого тома. |
fsTypestring |
fsType — тип файловой системы для подключения. Должен быть типом файловой системы, поддерживаемым операционной системой узла. Например: "ext4", "xfs", "ntfs". Файловая система по умолчанию зависит от скрипта FlexVolume. |
optionsobject |
options — необязательно: это поле содержит дополнительные параметры команды, если они есть. |
readOnlyboolean |
readOnly — необязательно: по умолчанию false (чтение/запись). Значение ReadOnly здесь принудительно задаёт параметр ReadOnly в VolumeMounts. |
secretRefLocalObjectReference |
secretRef — необязательно: secretRef является ссылкой на объект secret, содержащий конфиденциальные данные для передачи скриптам плагина. Значение может быть пустым, если объект secret не указан. Если объект secret содержит несколько секретов, все они передаются скриптам плагина. |
GRPCAction
GRPCAction задаёт действие, связанное со службой GRPC.
| Поле | Описание |
|---|---|
port *integer |
Номер порта службы gRPC. Число должно находиться в диапазоне от 1 до 65535. |
servicestring |
Service — имя службы, указываемое в запросе gRPC HealthCheckRequest (см. https://github.com/grpc/grpc/blob/master/doc/health-checking.md). Если значение не указано, используется поведение gRPC по умолчанию. |
GitRepoVolumeSource
Представляет том, заполненный содержимым репозитория git. Тома git-репозиториев не поддерживают управление владельцами. Тома git-репозиториев поддерживают перемаркировку SELinux.
УСТАРЕЛО: GitRepo устарел. Чтобы предоставить контейнеру git-репозиторий, подключите EmptyDir к InitContainer, который клонирует репозиторий с помощью git, а затем подключите EmptyDir к контейнеру Pod.
| Поле | Описание |
|---|---|
directorystring |
directory — имя целевого каталога. Не должно содержать '..' или начинаться с '..'. Если указано '.', каталогом тома будет git-репозиторий. В противном случае, если значение задано, том будет содержать git-репозиторий в подкаталоге с указанным именем. |
repository *string |
repository — URL |
revisionstring |
revision — хеш коммита для указанной ревизии. |
GlusterfsVolumeSource
Представляет подключение Glusterfs, существующее в течение всего срока жизни пода. Тома Glusterfs не поддерживают управление владельцами или перемаркировку SELinux.
| Поле | Описание |
|---|---|
endpoints *string |
endpoints — имя конечной точки, описывающей топологию Glusterfs. |
path *string |
path — путь к тому Glusterfs. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
readOnlyboolean |
Значение readOnly здесь принудительно подключает том Glusterfs с разрешениями только на чтение. По умолчанию — false. Дополнительная информация: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
HTTPGetAction
HTTPGetAction описывает действие, основанное на HTTP-запросах Get.
| Поле | Описание |
|---|---|
hoststring |
Имя узла для подключения; по умолчанию используется IP-адрес пода. Вероятно, вместо этого следует задать "Host" в httpHeaders. |
httpHeadersМассив HTTPHeader |
Пользовательские заголовки запроса. HTTP допускает повторяющиеся заголовки. |
pathstring |
Путь для доступа на HTTP-сервере. |
port * |
Имя или номер порта контейнера, к которому нужно обратиться. Число должно находиться в диапазоне от 1 до 65535. Имя должно соответствовать IANA_SVC_NAME. |
schemestring |
Схема для подключения к узлу. По умолчанию используется HTTP. Возможные значения перечисления: - `"HTTP"` означает, что будет использоваться схема http:// - `"HTTPS"` означает, что будет использоваться схема https:// |
HTTPHeader
HTTPHeader описывает пользовательский заголовок для HTTP-проб.
| Поле | Описание |
|---|---|
name *string |
Имя поля заголовка. При выводе оно будет приведено к канонической форме, поэтому варианты имени, различающиеся регистром, будут распознаны как один и тот же заголовок. |
value *string |
Значение поля заголовка |
HostAlias
HostAlias содержит соответствие между IP-адресом и именами узлов, которое будет добавлено в файл hosts пода.
| Поле | Описание |
|---|---|
hostnamesstring array |
Имена узлов для указанного выше IP-адреса. |
ip *string |
IP-адрес записи в файле hosts. |
HostIP
HostIP представляет один IP-адрес, выделенный узлу.
| Поле | Описание |
|---|---|
ip *string |
IP — IP-адрес, назначенный узлу |
ISCSIVolumeSource
Представляет диск ISCSI. Тома ISCSI можно подключить для чтения и записи только один раз. Тома ISCSI поддерживают управление владельцами и перемаркировку SELinux.
| Поле | Описание |
|---|---|
chapAuthDiscoveryboolean |
chapAuthDiscovery определяет, поддерживается ли аутентификация CHAP при обнаружении iSCSI. |
chapAuthSessionboolean |
chapAuthSession определяет, поддерживается ли аутентификация CHAP для сеанса iSCSI. |
fsTypestring |
fsType — тип файловой системы тома, который требуется подключить. Совет: убедитесь, что операционная система узла поддерживает этот тип файловой системы. Примеры: "ext4", "xfs", "ntfs". Если значение не указано, неявно используется "ext4". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
initiatorNamestring |
initiatorName — пользовательское имя инициатора iSCSI. Если initiatorName одновременно задано вместе с iscsiInterface, для подключения будет создан новый интерфейс iSCSI \ |
iqn *string |
iqn — квалифицированное имя целевого устройства iSCSI. |
iscsiInterfacestring |
iscsiInterface — имя интерфейса, использующего транспорт iSCSI. По умолчанию используется 'default' (tcp). |
lun *integer |
lun — номер LUN целевого устройства iSCSI. |
portalsstring array |
portals — список порталов целевого устройства iSCSI. Портал задаётся IP-адресом или в формате ip_addr:port, если порт отличается от стандартного (обычно это TCP-порты 860 и 3260). |
readOnlyboolean |
Значение readOnly здесь принудительно задаёт параметр ReadOnly в VolumeMounts. По умолчанию — false. |
secretRefLocalObjectReference |
secretRef — секрет CHAP для аутентификации целевого устройства и инициатора iSCSI. |
targetPortal *string |
targetPortal — портал целевого устройства iSCSI. Портал задаётся IP-адресом или в формате ip_addr:port, если порт отличается от стандартного (обычно это TCP-порты 860 и 3260). |
ImageVolumeSource
ImageVolumeSource представляет ресурс тома на основе образа.
| Поле | Описание |
|---|---|
pullPolicystring |
Политика загрузки объектов OCI. Возможные значения: Always — kubelet всегда пытается загрузить ссылочный объект. Если загрузка завершается неудачей, создание контейнера не удастся. Never — kubelet не загружает ссылочный объект и использует только локальный образ или артефакт. Если ссылочный объект отсутствует, создание контейнера не удастся. IfNotPresent — kubelet загружает объект, если его ещё нет на диске. Если ссылочный объект отсутствует и загрузка завершается неудачей, создание контейнера не удастся. По умолчанию используется Always, если указан тег :latest, в противном случае — IfNotPresent. Возможные значения перечисления: - `"Always"` означает, что kubelet всегда пытается загрузить последний образ. Если загрузка завершается неудачей, контейнер не запустится. - `"IfNotPresent"` означает, что kubelet загружает образ, если его нет на диске. Если образ отсутствует и загрузка завершается неудачей, контейнер не запустится. - `"Never"` означает, что kubelet не загружает образ, а использует только локальный образ. Если образ отсутствует, контейнер не запустится. |
referencestring |
Обязательно: ссылка на образ или артефакт, который нужно использовать. Работает так же, как pod.spec.containers[*].image. Секреты для загрузки формируются так же, как и для образа контейнера: используются учётные данные узла, секреты SA для загрузки образов и секреты для загрузки образов из спецификации пода. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/images Это поле необязательно, чтобы системы управления конфигурацией более высокого уровня могли задавать значения по умолчанию или переопределять образы контейнеров в контроллерах рабочих нагрузок, таких как Deployments и StatefulSets. |
ImageVolumeStatus
ImageVolumeStatus представляет состояние тома на основе образа.
| Поле | Описание |
|---|---|
imageRef *string |
ImageRef — дайджест образа, используемого для этого тома. Его значение должно быть похоже на pod's status.containerStatuses[i].imageID. Длина ImageRef не должна превышать 256 символов. |
KeyToPath
Сопоставляет строковый ключ с путём в томе.
| Поле | Описание |
|---|---|
key *string |
key — ключ для проецирования. |
modeinteger |
mode — необязательно: биты режима доступа, используемые для задания разрешений на этот файл. Должно быть восьмеричным значением от 0000 до 0777 или десятичным значением от 0 до 511. YAML принимает восьмеричные и десятичные значения, JSON требует десятичные значения для битов режима доступа. Если значение не указано, используется defaultMode тома. Это может конфликтовать с другими параметрами, влияющими на режим доступа к файлу, например fsGroup; в результате могут быть установлены другие биты режима доступа. |
path *string |
path — относительный путь к файлу, которому сопоставляется ключ. Не может быть абсолютным. Не может содержать элемент пути '..'. Не может начинаться со строки '..'. |
Lifecycle
Lifecycle описывает действия, которые система управления должна выполнять в ответ на события жизненного цикла контейнера. Для обработчиков жизненного цикла PostStart и PreStop управление контейнером блокируется до завершения действия, если только процесс контейнера не завершится с ошибкой — в этом случае обработчик прерывается.
| Поле | Описание |
|---|---|
postStartLifecycleHandler |
PostStart вызывается сразу после создания контейнера. Если обработчик завершается с ошибкой, контейнер останавливается и перезапускается в соответствии с политикой перезапуска. До завершения хука другие операции управления контейнером блокируются. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
preStopLifecycleHandler |
PreStop вызывается непосредственно перед завершением контейнера по запросу API или в результате события управления, такого как ошибка пробы liveness/startup, вытеснение, конкуренция за ресурсы и т. д. Обработчик не вызывается, если контейнер аварийно завершает работу или останавливается. Отсчёт периода ожидания завершения Pod начинается до выполнения хука PreStop. Независимо от результата работы обработчика контейнер в конечном итоге завершится в пределах периода ожидания завершения Pod (если только завершение не задерживается финализаторами). Другие операции управления контейнером блокируются до завершения хука или истечения периода ожидания завершения. Дополнительная информация: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks |
stopSignalstring |
StopSignal задаёт сигнал, который будет отправлен контейнеру при его остановке. Если значение не указано, используется значение по умолчанию для используемой среды выполнения контейнеров. StopSignal можно задать только для подов с непустым значением .spec.os.name Возможные значения перечисления: - `"SIGABRT"` - `"SIGALRM"` - `"SIGBUS"` - `"SIGCHLD"` - `"SIGCLD"` - `"SIGCONT"` - `"SIGFPE"` - `"SIGHUP"` - `"SIGILL"` - `"SIGINT"` - `"SIGIO"` - `"SIGIOT"` - `"SIGKILL"` - `"SIGPIPE"` - `"SIGPOLL"` - `"SIGPROF"` - `"SIGPWR"` - `"SIGQUIT"` - `"SIGRTMAX"` - `"SIGRTMAX-1"` - `"SIGRTMAX-10"` - `"SIGRTMAX-11"` - `"SIGRTMAX-12"` - `"SIGRTMAX-13"` - `"SIGRTMAX-14"` - `"SIGRTMAX-2"` - `"SIGRTMAX-3"` - `"SIGRTMAX-4"` - `"SIGRTMAX-5"` - `"SIGRTMAX-6"` - `"SIGRTMAX-7"` - `"SIGRTMAX-8"` - `"SIGRTMAX-9"` - `"SIGRTMIN"` - `"SIGRTMIN+1"` - `"SIGRTMIN+10"` - `"SIGRTMIN+11"` - `"SIGRTMIN+12"` - `"SIGRTMIN+13"` - `"SIGRTMIN+14"` - `"SIGRTMIN+15"` - `"SIGRTMIN+2"` - `"SIGRTMIN+3"` - `"SIGRTMIN+4"` - `"SIGRTMIN+5"` - `"SIGRTMIN+6"` - `"SIGRTMIN+7"` - `"SIGRTMIN+8"` - `"SIGRTMIN+9"` - `"SIGSEGV"` - `"SIGSTKFLT"` - `"SIGSTOP"` - `"SIGSYS"` - `"SIGTERM"` - `"SIGTRAP"` - `"SIGTSTP"` - `"SIGTTIN"` - `"SIGTTOU"` - `"SIGURG"` - `"SIGUSR1"` - `"SIGUSR2"` - `"SIGVTALRM"` - `"SIGWINCH"` - `"SIGXCPU"` - `"SIGXFSZ"` |
LifecycleHandler
LifecycleHandler определяет конкретное действие, которое должно выполняться в хуке жизненного цикла. Необходимо указать одно и только одно из полей, кроме TCPSocket.
| Поле | Описание |
|---|---|
execExecAction |
Exec задаёт команду для выполнения в контейнере. |
httpGetHTTPGetAction |
HTTPGet задаёт HTTP GET-запрос, который нужно выполнить. |
sleepSleepAction |
Sleep задаёт период, в течение которого контейнер должен ожидать. |
tcpSocketTCPSocketAction |
Устарело. TCPSocket НЕ поддерживается в качестве LifecycleHandler и сохранено для обратной совместимости. Проверка этого поля не выполняется, и при его указании хуки жизненного цикла завершатся с ошибкой во время выполнения. |
LinuxContainerUser
LinuxContainerUser представляет сведения об идентификаторе пользователя в контейнерах Linux.
| Поле | Описание |
|---|---|
gid *integer |
GID — основной gid, изначально назначенный первому процессу в контейнере. |
supplementalGroupsinteger array |
SupplementalGroups — дополнительные группы, изначально назначенные первому процессу в контейнере. |
uid *integer |
UID — основной uid, изначально назначенный первому процессу в контейнере. |
NodeAffinity
Привязка к узлу — это набор правил планирования, задающих предпочтения для узлов.
| Поле | Описание |
|---|---|
preferredDuringSchedulingIgnoredDuringExecutionPreferredSchedulingTerm array |
Планировщик будет отдавать предпочтение размещению подов на узлах, удовлетворяющих выражениям affinity, указанным в этом поле, но может выбрать узел, нарушающий одно или несколько выражений. Наиболее предпочтительным является узел с наибольшей суммой весов. Иными словами, для каждого узла, удовлетворяющего всем требованиям планирования (запрос ресурсов, выражения affinity requiredDuringScheduling и т. д.), вычисляется сумма: планировщик перебирает элементы этого поля и добавляет к сумме «weight», если узел соответствует соответствующим matchExpressions. Узел или узлы с наибольшей суммой являются наиболее предпочтительными. |
requiredDuringSchedulingIgnoredDuringExecutionNodeSelector |
Если требования affinity, указанные в этом поле, не выполняются во время планирования, под не будет размещён на узле. Если требования affinity, указанные в этом поле, перестанут выполняться в какой-либо момент во время выполнения пода (например, из-за обновления), система может попытаться выселить под с узла, а может и не делать этого. |
NodeAllocatableResourceClaimStatus
NodeAllocatableResourceClaimStatus описывает состояние ресурсов узла, доступных для выделения и выделенных через DRA.
| Поле | Описание |
|---|---|
containersstring array |
Containers содержит имена всех контейнеров в этом поде, ссылающихся на этот запрос. |
resourceClaimName *string |
ResourceClaimName — это запрос ресурса, на который ссылается под и который привёл к выделению этого ресурса узла. |
resources *object |
Resources — это карта, сопоставляющая имя ресурса узла с агрегированным количеством, выделенным для запроса. |
ObjectFieldSelector
ObjectFieldSelector выбирает поле объекта, версия API которого указана явно.
| Поле | Описание |
|---|---|
apiVersionstring |
Версия схемы, в терминах которой задан FieldPath; по умолчанию — "v1". |
fieldPath *string |
Путь к полю, выбираемому в указанной версии API. |
PersistentVolumeClaimTemplate
PersistentVolumeClaimTemplate используется для создания объектов PersistentVolumeClaim в составе EphemeralVolumeSource.
| Поле | Описание |
|---|---|
metadataObjectMeta |
Может содержать метки и аннотации, которые будут скопированы в PVC при его создании. Никакие другие поля не допускаются; их наличие приведёт к ошибке проверки. |
spec *PersistentVolumeClaimSpec |
Спецификация PersistentVolumeClaim. Всё содержимое без изменений копируется в PVC, созданный на основе этого шаблона. Здесь также допустимы те же поля, что и в PersistentVolumeClaim. |
PersistentVolumeClaimVolumeSource
PersistentVolumeClaimVolumeSource ссылается на PVC пользователя в том же пространстве имён. Этот том находит связанный PV и подключает его к поду. По сути, PersistentVolumeClaimVolumeSource — это обёртка над другим типом тома, принадлежащим другой стороне (системе).
| Поле | Описание |
|---|---|
claimName *string |
claimName — имя PersistentVolumeClaim в том же пространстве имён, что и использующий этот том под. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
readOnlyboolean |
readOnly принудительно устанавливает параметр ReadOnly в VolumeMounts. По умолчанию — false. |
PodAffinity
Pod affinity — это набор правил планирования, определяющих взаимное размещение подов.
| Поле | Описание |
|---|---|
preferredDuringSchedulingIgnoredDuringExecutionWeightedPodAffinityTerm array |
Планировщик будет отдавать предпочтение размещению подов на узлах, удовлетворяющих выражениям affinity, указанным в этом поле, но может выбрать узел, нарушающий одно или несколько выражений. Наиболее предпочтительным является узел с наибольшей суммой весов. Иными словами, для каждого узла, удовлетворяющего всем требованиям планирования (запрос ресурсов, выражения affinity requiredDuringScheduling и т. д.), вычисляется сумма: планировщик перебирает элементы этого поля и добавляет к сумме «weight», если на узле есть поды, соответствующие соответствующему podAffinityTerm. Узел или узлы с наибольшей суммой являются наиболее предпочтительными. |
requiredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm array |
Если требования affinity, указанные в этом поле, не выполняются во время планирования, под не будет размещён на узле. Если требования affinity, указанные в этом поле, перестанут выполняться в какой-либо момент во время выполнения пода (например, из-за обновления метки пода), система может попытаться выселить под с узла, а может и не делать этого. Если указано несколько элементов, списки узлов, соответствующие каждому podAffinityTerm, пересекаются, то есть должны выполняться все условия. |
PodAffinityTerm
Определяет набор подов (а именно подов, соответствующих labelSelector в указанных пространствах имён), с которыми этот под должен размещаться совместно (affinity) или раздельно (anti-affinity). Совместное размещение означает, что под выполняется на узле, значение метки которого с ключом <topologyKey> совпадает со значением этой метки у любого узла, на котором выполняется под из указанного набора.
| Поле | Описание |
|---|---|
labelSelectorLabelSelector |
Запрос меток для набора ресурсов, в данном случае — подов. Если значение равно null, этот PodAffinityTerm не соответствует ни одному поду. |
matchLabelKeysstring array |
MatchLabelKeys — это набор ключей меток пода, используемых для выбора подов, которые следует учитывать. По этим ключам выполняется поиск значений во входящих метках пода; найденные пары «ключ-значение» объединяются с `labelSelector` в виде `key in (value)`, чтобы выбрать группу существующих подов, учитываемых при вычислении pod (anti) affinity входящего пода. Ключи, отсутствующие во входящих метках пода, игнорируются. По умолчанию — пустое значение. Один и тот же ключ не может одновременно присутствовать в matchLabelKeys и labelSelector. Кроме того, matchLabelKeys нельзя задавать, если labelSelector не задан. |
mismatchLabelKeysstring array |
MismatchLabelKeys — это набор ключей меток пода, используемых для выбора подов, которые следует учитывать. По этим ключам выполняется поиск значений во входящих метках пода; найденные пары «ключ-значение» объединяются с `labelSelector` в виде `key notin (value)`, чтобы выбрать группу существующих подов, учитываемых при вычислении pod (anti) affinity входящего пода. Ключи, отсутствующие во входящих метках пода, игнорируются. По умолчанию — пустое значение. Один и тот же ключ не может одновременно присутствовать в mismatchLabelKeys и labelSelector. Кроме того, mismatchLabelKeys нельзя задавать, если labelSelector не задан. |
namespaceSelectorLabelSelector |
Запрос меток для набора пространств имён, к которым применяется условие. Условие применяется к объединению пространств имён, выбранных этим полем, и пространств имён, перечисленных в поле namespaces. Селектор со значением null и список namespaces со значением null или без элементов означают «пространство имён этого пода». Пустой селектор ({}) соответствует всем пространствам имён. |
namespacesstring array |
namespaces задаёт статический список имён пространств имён, к которым применяется условие. Условие применяется к объединению пространств имён, перечисленных в этом поле, и пространств имён, выбранных с помощью namespaceSelector. Список namespaces со значением null или без элементов и namespaceSelector со значением null означают «пространство имён этого пода». |
topologyKey *string |
Этот под должен размещаться совместно (affinity) или раздельно (anti-affinity) с подами, соответствующими labelSelector в указанных пространствах имён. Совместное размещение означает, что под выполняется на узле, значение метки которого с ключом topologyKey совпадает со значением этой метки у любого узла, на котором выполняется любой из выбранных подов. Пустое значение topologyKey не допускается. |
PodAntiAffinity
Pod anti-affinity — это набор правил планирования, определяющих раздельное размещение подов.
| Поле | Описание |
|---|---|
preferredDuringSchedulingIgnoredDuringExecutionWeightedPodAffinityTerm array |
Планировщик будет отдавать предпочтение размещению подов на узлах, удовлетворяющих выражениям anti-affinity, указанным в этом поле, но может выбрать узел, нарушающий одно или несколько выражений. Наиболее предпочтительным является узел с наибольшей суммой весов. Иными словами, для каждого узла, удовлетворяющего всем требованиям планирования (запрос ресурсов, выражения anti-affinity requiredDuringScheduling и т. д.), вычисляется сумма: планировщик перебирает элементы этого поля и вычитает из суммы «weight», если на узле есть поды, соответствующие соответствующему podAffinityTerm. Узел или узлы с наибольшей суммой являются наиболее предпочтительными. |
requiredDuringSchedulingIgnoredDuringExecutionPodAffinityTerm array |
Если требования anti-affinity, указанные в этом поле, не выполняются во время планирования, под не будет размещён на узле. Если требования anti-affinity, указанные в этом поле, перестанут выполняться в какой-либо момент во время выполнения пода (например, из-за обновления метки пода), система может попытаться выселить под с узла, а может и не делать этого. Если указано несколько элементов, списки узлов, соответствующие каждому podAffinityTerm, пересекаются, то есть должны выполняться все условия. |
PodCertificateProjection
PodCertificateProjection предоставляет закрытый ключ и сертификат X.509 в файловой системе пода.
| Поле | Описание |
|---|---|
certificateChainPathstring |
Записать цепочку сертификатов по этому пути в проецируемом томе. Большинству приложений следует использовать credentialBundlePath. При использовании keyPath и certificateChainPath приложение должно проверять соответствие ключа и конечного сертификата, поскольку файлы могут быть прочитаны во время ротации. |
credentialBundlePathstring |
Записать пакет учётных данных по этому пути в проецируемом томе. Пакет учётных данных — это один файл, содержащий несколько блоков PEM. Первый блок PEM — это блок PRIVATE KEY, содержащий закрытый ключ PKCS#8. Остальные блоки — это блоки CERTIFICATE, содержащие цепочку выданных подписывающей стороной сертификатов (конечный сертификат и все промежуточные). Использование credentialBundlePath позволяет коду приложения пода выполнить одно атомарное чтение и получить согласованные ключ и цепочку сертификатов. Если они проецируются в отдельные файлы, код приложения должен дополнительно проверять, что конечный сертификат выдан для данного ключа. |
keyPathstring |
Записать ключ по этому пути в проецируемом томе. Большинству приложений следует использовать credentialBundlePath. При использовании keyPath и certificateChainPath приложение должно проверять соответствие ключа и конечного сертификата, поскольку файлы могут быть прочитаны во время ротации. |
keyType *string |
Тип пары ключей, которую Kubelet сгенерирует для пода. Допустимые значения: "RSA3072", "RSA4096", "ECDSAP256", "ECDSAP384", "ECDSAP521" и "ED25519". |
maxExpirationSecondsinteger |
maxExpirationSeconds — максимальный допустимый срок действия сертификата. Kubelet без изменений копирует это значение в создаваемые им PodCertificateRequests для данной проекции. Если значение не указано, kube-apiserver установит его равным 86400 (24 часа). kube-apiserver отклонит значения меньше 3600 (1 часа). Максимально допустимое значение — 7862400 (91 день). После этого реализация подписывающей стороны может выдать сертификат с любым сроком действия, меньшим MaxExpirationSeconds, но не меньше 3600 секунд (1 часа). Это ограничение обеспечивается kube-apiserver. Подписывающие стороны `kubernetes.io` никогда не выдают сертификаты со сроком действия более 24 часов. |
signerName *string |
Создаваемые Kubelet CSR будут адресованы этой подписывающей стороне. |
userAnnotationsobject |
userAnnotations позволяют авторам подов передавать дополнительную информацию реализации подписывающей стороны. Kubernetes никак не ограничивает и не проверяет эти метаданные. Эти значения без изменений копируются в поле `spec.unverifiedUserAnnotations` объектов PodCertificateRequest, создаваемых Kubelet. Записи проходят ту же проверку, что и аннотации метаданных объектов, а также должны иметь ключи с префиксом домена. На значения не накладываются ограничения, кроме общего ограничения на размер всего поля. Подписывающим сторонам следует документировать поддерживаемые ими ключи и значения. Подписывающим сторонам следует отклонять запросы с неизвестными им ключами. |
PodCondition
PodCondition содержит сведения о текущем состоянии этого пода.
| Поле | Описание |
|---|---|
lastProbeTimeTime |
Время последней проверки состояния. |
lastTransitionTimeTime |
Время последнего перехода состояния из одного значения в другое. |
messagestring |
Понятное человеку сообщение с подробностями последнего перехода. |
observedGenerationinteger |
Если задано, это значение .metadata.generation, на основании которого было установлено состояние пода. |
reasonstring |
Уникальная причина последнего перехода состояния, состоящая из одного слова в стиле CamelCase. |
status *string |
Status — состояние условия. Возможные значения: True, False, Unknown. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
type *string |
Type — тип условия. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions |
PodDNSConfig
PodDNSConfig задаёт параметры DNS пода в дополнение к параметрам, сформированным на основе DNSPolicy.
| Поле | Описание |
|---|---|
nameserversstring array |
Список IP-адресов DNS-серверов имён. Он будет добавлен к базовому списку серверов имён, сформированному на основе DNSPolicy. Повторяющиеся серверы имён будут удалены. |
optionsPodDNSConfigOption array |
Список параметров DNS-резолвера. Он будет объединён с базовыми параметрами, сформированными на основе DNSPolicy. Повторяющиеся записи будут удалены. Параметры разрешения имён, указанные в Options, переопределяют параметры из базовой DNSPolicy. |
searchesstring array |
Список поисковых доменов DNS для поиска имён узлов. Он будет добавлен к базовым путям поиска, сформированным на основе DNSPolicy. Повторяющиеся пути поиска будут удалены. |
PodDNSConfigOption
PodDNSConfigOption задаёт параметры DNS-резолвера пода.
| Поле | Описание |
|---|---|
namestring |
Name — имя этого параметра DNS-резолвера. Обязательное поле. |
valuestring |
Value — значение этого параметра DNS-резолвера. |
PodExtendedResourceClaimStatus
PodExtendedResourceClaimStatus хранится в PodStatus для запросов расширенных ресурсов, обеспечиваемых DRA. В нём хранится сгенерированное имя соответствующего специального ResourceClaim, созданного планировщиком.
| Поле | Описание |
|---|---|
requestMappings *ContainerExtendedResourceRequest array |
RequestMappings определяет сопоставление \ |
resourceClaimName *string |
ResourceClaimName — имя ResourceClaim, созданного для пода в пространстве имён этого пода. |
PodIP
PodIP представляет один IP-адрес, выделенный поду.
| Поле | Описание |
|---|---|
ip *string |
IP — IP-адрес, назначенный поду. |
PodOS
PodOS задаёт параметры ОС пода.
| Поле | Описание |
|---|---|
name *string |
Name — название операционной системы. В настоящее время поддерживаются значения linux и windows. В будущем могут быть определены дополнительные значения, в том числе из списка: https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration Клиентам следует предусмотреть обработку дополнительных значений и трактовать нераспознанные значения этого поля как os: null |
PodReadinessGate
PodReadinessGate содержит ссылку на состояние пода.
| Поле | Описание |
|---|---|
conditionType *string |
ConditionType указывает на условие в списке условий пода с соответствующим типом. |
PodResourceClaim
PodResourceClaim ссылается ровно на один ResourceClaim — напрямую или указывая имя ResourceClaimTemplate, на основе которого затем создаётся ResourceClaim для пода.
Он присваивает ему имя, уникально идентифицирующее ResourceClaim внутри пода. Контейнеры, которым нужен доступ к ResourceClaim, ссылаются на него по этому имени.
Если включён функциональный переключатель DRAWorkloadResourceClaims и этот под принадлежит PodGroup, PodResourceClaim сопоставляется с PodGroupResourceClaim, если все их поля равны (Name, ResourceClaimName и ResourceClaimTemplateName). Сопоставленный запрос ссылается на один ResourceClaim, общий для всех подов в PodGroup и зарезервированный для PodGroup в ResourceClaimStatus.ReservedFor, а не для отдельных подов.
| Поле | Описание |
|---|---|
name *string |
Name уникально идентифицирует этот запрос ресурса внутри пода. Значение должно соответствовать DNS_LABEL. |
resourceClaimNamestring |
ResourceClaimName — имя объекта ResourceClaim в том же пространстве имён, что и этот под. Должно быть задано ровно одно из полей ResourceClaimName и ResourceClaimTemplateName. |
resourceClaimTemplateNamestring |
ResourceClaimTemplateName — имя объекта ResourceClaimTemplate в том же пространстве имён, что и этот под. Шаблон будет использован для создания нового ResourceClaim, который будет связан с этим подом. При удалении этого пода ResourceClaim также будет удалён. Для формирования уникального имени ResourceClaim будут использованы имя пода, имя ресурса и сгенерированный компонент; это имя будет записано в pod.status.resourceClaimStatuses. Если включён функциональный переключатель DRAWorkloadResourceClaims и под принадлежит PodGroup, определяющей PodGroupResourceClaim с такими же Name и ResourceClaimTemplateName, этот PodResourceClaim разрешается в ResourceClaim, созданный для PodGroup. Все поды группы, определяющие эквивалентный PodResourceClaim с Name и ResourceClaimTemplateName, соответствующими PodGroupResourceClaim, используют один и тот же сгенерированный ResourceClaim. ResourceClaim, созданные для PodGroup, принадлежат PodGroup, а их жизненный цикл связан с PodGroup, а не с отдельными подами. Это поле неизменяемо; после создания ResourceClaim плоскость управления не будет вносить изменения в соответствующий ResourceClaim. Должно быть задано ровно одно из полей ResourceClaimName и ResourceClaimTemplateName. |
PodSchedulingGate
PodSchedulingGate связывается с подом, чтобы ограничить его планирование.
| Поле | Описание |
|---|---|
name *string |
Имя барьера планирования. Значение поля name должно быть уникальным для каждого барьера планирования. |
PodSchedulingGroup
PodSchedulingGroup определяет экземпляр группы планирования во время выполнения, к которому принадлежит под. Планировщик использует эту информацию для применения семантики планирования с учётом рабочей нагрузки. Должно быть указано ровно одно поле.
| Поле | Описание |
|---|---|
podGroupNamestring |
PodGroupName задаёт имя автономного объекта PodGroup, представляющего экземпляр этой группы во время выполнения. Имя должно быть DNS-поддоменом. |
PodSecurityContext
PodSecurityContext содержит атрибуты безопасности на уровне пода и общие настройки контейнеров. Некоторые поля также присутствуют в container.securityContext. Значения полей container.securityContext имеют приоритет над значениями полей PodSecurityContext.
| Поле | Описание |
|---|---|
appArmorProfileAppArmorProfile |
appArmorProfile — параметры AppArmor, используемые контейнерами в этом поде. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
fsGroupinteger |
Специальная дополнительная группа, применяемая ко всем контейнерам в поде. Некоторые типы томов позволяют Kubelet изменить владельца тома, сделав владельцем под: 1. В качестве GID владельца будет указан FSGroup 2. Устанавливается бит setgid (новые файлы, созданные в томе, будут принадлежать FSGroup) 3. Биты разрешений объединяются с rw-rw---- Если значение не задано, Kubelet не будет изменять владельца и разрешения для каких-либо томов. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
fsGroupChangePolicystring |
fsGroupChangePolicy определяет порядок изменения владельца и разрешений тома перед его подключением к поду. Это поле применяется только к типам томов, поддерживающим управление владельцем (и разрешениями) на основе fsGroup. Оно не влияет на эфемерные типы томов, такие как secret, configmaps и emptydir. Допустимые значения: "OnRootMismatch" и "Always". Если значение не указано, используется "Always". Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. Возможные значения перечисления: - `"Always"` означает, что владелец и разрешения тома всегда изменяются при каждом подключении тома к поду. Это поведение используется по умолчанию. - `"OnRootMismatch"` означает, что владелец и разрешения тома изменяются только в том случае, если разрешения и владелец корневого каталога не соответствуют ожидаемым значениям для тома. Это может сократить время, необходимое для изменения владельца и разрешений тома. |
runAsGroupinteger |
GID, от имени которого запускается точка входа процесса контейнера. Если значение не задано, используется значение по умолчанию среды выполнения. Также может быть задано в SecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, для этого контейнера приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
runAsNonRootboolean |
Указывает, что контейнер должен запускаться от имени пользователя, отличного от root. Если значение равно true, Kubelet проверит образ во время выполнения, чтобы убедиться, что он не запускается с UID 0 (root), и не запустит контейнер, если это условие не выполнено. Если значение не задано или равно false, такая проверка не выполняется. Также может быть задано в SecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. |
runAsUserinteger |
UID, от имени которого запускается точка входа процесса контейнера. Если значение не задано, используется пользователь, указанный в метаданных образа. Также может быть задано в SecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, для этого контейнера приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
seLinuxChangePolicystring |
seLinuxChangePolicy определяет способ применения метки SELinux контейнера ко всем томам, используемым подом. Это поле не влияет на узлы, не поддерживающие SELinux, и тома, не поддерживающие SELinux. Допустимые значения: "MountOption" и "Recursive". "Recursive" означает рекурсивную перемаркировку всех файлов на всех томах пода средой выполнения контейнеров. Для больших томов это может выполняться медленно, но позволяет совместно использовать один том привилегированным и непривилегированным подам на одном узле. "MountOption" подключает все подходящие тома пода с параметром монтирования `-o context`. Для этого все поды, совместно использующие один том, должны использовать одну и ту же метку SELinux. Совместное использование одного тома привилегированными и непривилегированными подами невозможно. К подходящим томам относятся встроенные тома FibreChannel и iSCSI, а также все тома CSI, драйвер CSI которых объявляет поддержку SELinux, задавая spec.seLinuxMount: true в своем экземпляре CSIDriver. Для остальных томов всегда выполняется рекурсивная перемаркировка. Значение "MountOption" допускается только при включенном шлюзе функций SELinuxMount. Если значение не задано и шлюз функций SELinuxMount включен, используется "MountOption". Если значение не задано и шлюз функций SELinuxMount выключен, для томов ReadWriteOncePod используется "MountOption", а для всех остальных томов — "Recursive". Это поле влияет только на поды, для которых задана метка SELinux — в PodSecurityContext или в SecurityContext каждого контейнера. Для всех подов, использующих один и тот же том, следует задать одинаковое значение seLinuxChangePolicy, иначе некоторые поды могут зависнуть в состоянии ContainerCreating. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
seLinuxOptionsSELinuxOptions |
Контекст SELinux, применяемый ко всем контейнерам. Если значение не указано, среда выполнения контейнеров назначит каждому контейнеру случайный контекст SELinux. Также может быть задано в SecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, для этого контейнера приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
seccompProfileSeccompProfile |
Параметры seccomp, используемые контейнерами в этом поде. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
supplementalGroupsinteger array |
Список групп, применяемых к первому процессу, запускаемому в каждом контейнере, в дополнение к основному GID контейнера и fsGroup (если задано). Если включен шлюз функций SupplementalGroupsPolicy, поле supplementalGroupsPolicy определяет, добавляются ли эти группы к членству в группах, заданному в образе контейнера, или используются вместо него. Если значение не указано, дополнительные группы не добавляются, однако членство в группах, заданное в образе контейнера, может по-прежнему использоваться в зависимости от значения supplementalGroupsPolicy. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
supplementalGroupsPolicystring |
Определяет, как рассчитываются дополнительные группы первых процессов контейнеров. Допустимые значения: "Merge" и "Strict". Если значение не указано, используется "Merge". (Alpha) Для использования этого поля необходимо включить шлюз функций SupplementalGroupsPolicy, а среда выполнения контейнеров должна поддерживать эту функцию. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. Возможные значения перечисления: - `"Merge"` означает, что заданные для контейнера SupplementalGroups и FsGroup (в SecurityContext) объединяются с группами основного пользователя, определенными в образе контейнера (в /etc/group). - `"Strict"` означает, что заданные для контейнера SupplementalGroups и FsGroup (в SecurityContext) используются вместо любых групп, определенных в образе контейнера. |
sysctlsSysctl array |
Sysctls содержит список пространств имен sysctl, используемых для пода. Поды с неподдерживаемыми (средой выполнения контейнеров) параметрами sysctl могут не запуститься. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение windows. |
windowsOptionsWindowsSecurityContextOptions |
Параметры Windows, применяемые ко всем контейнерам. Если значение не указано, используются параметры из SecurityContext контейнера. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name имеет значение linux. |
PreferredSchedulingTerm
Пустой предпочтительный термин планирования соответствует всем объектам с неявным весом 0 (то есть ничего не меняет). Значение null для предпочтительного термина планирования не соответствует ни одному объекту (то есть также ничего не меняет).
| Поле | Описание |
|---|---|
preference *NodeSelectorTerm |
Термин выбора узла, связанный с соответствующим весом. |
weight *integer |
Вес, связанный с соответствием соответствующему nodeSelectorTerm; допустимый диапазон — 1–100. |
Probe
Probe описывает проверку работоспособности, выполняемую для контейнера, чтобы определить, активен ли он или готов принимать трафик.
| Поле | Описание |
|---|---|
execExecAction |
Exec задает команду, выполняемую в контейнере. |
failureThresholdinteger |
Минимальное число последовательных сбоев проверки, после которого она считается неудачной, если до этого завершалась успешно. По умолчанию — 3. Минимальное значение — 1. |
grpcGRPCAction |
GRPC задает запрос GRPC HealthCheckRequest. |
httpGetHTTPGetAction |
HTTPGet задает HTTP GET-запрос для выполнения. |
initialDelaySecondsinteger |
Количество секунд после запуска контейнера, по истечении которых начинаются проверки liveness. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
periodSecondsinteger |
Частота выполнения проверки (в секундах). По умолчанию — 10 секунд. Минимальное значение — 1. |
successThresholdinteger |
Минимальное число последовательных успешных проверок, после которого проверка считается успешной, если до этого завершалась неудачно. По умолчанию — 1. Для проверок liveness и startup значение должно быть равно 1. Минимальное значение — 1. |
tcpSocketTCPSocketAction |
TCPSocket задает подключение к порту TCP. |
terminationGracePeriodSecondsinteger |
Необязательное время в секундах, необходимое поду для корректного завершения после сбоя проверки. Период ожидания завершения — это время между отправкой процессам, работающим в поде, сигнала завершения и принудительной остановкой процессов сигналом kill. Задайте значение, превышающее ожидаемое время очистки для вашего процесса. Если значение равно nil, будет использоваться terminationGracePeriodSeconds пода. В противном случае это значение переопределяет значение, заданное в спецификации пода. Значение должно быть неотрицательным целым числом. Нулевое значение означает немедленную остановку сигналом kill (без возможности завершить работу). Это поле бета-версии; для его использования необходимо включить шлюз функций ProbeTerminationGracePeriod. Минимальное значение — 1. Если значение не задано, используется spec.terminationGracePeriodSeconds. |
timeoutSecondsinteger |
Количество секунд до истечения времени ожидания проверки. По умолчанию — 1 секунда. Минимальное значение — 1. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
ProjectedVolumeSource
Представляет источник проецируемого тома
| Поле | Описание |
|---|---|
defaultModeinteger |
defaultMode — биты режима, используемые по умолчанию для задания разрешений создаваемых файлов. Должно быть восьмеричное значение от 0000 до 0777 или десятичное значение от 0 до 511. YAML допускает как восьмеричные, так и десятичные значения, а JSON требует десятичные значения для битов режима. Эта настройка не влияет на каталоги внутри пути. Она может конфликтовать с другими параметрами, влияющими на режим файла, например fsGroup, и в результате могут быть заданы другие биты режима. |
sourcesVolumeProjection array |
sources — список проекций тома. Каждый элемент этого списка обрабатывает один источник. |
RBDVolumeSource
Представляет подключение Rados Block Device, существующее на протяжении всего срока жизни пода. Томы RBD поддерживают управление владельцем и перемаркировку SELinux.
| Поле | Описание |
|---|---|
fsTypestring |
fsType — тип файловой системы тома, который требуется подключить. Совет: убедитесь, что операционная система узла поддерживает этот тип файловой системы. Примеры: "ext4", "xfs", "ntfs". Если значение не указано, предполагается "ext4". Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
image *string |
image — имя образа rados. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
keyringstring |
keyring — путь к связке ключей для RBDUser. По умолчанию — /etc/ceph/keyring. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
monitors *string array |
monitors — набор мониторов Ceph. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
poolstring |
pool — имя пула rados. По умолчанию — rbd. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
readOnlyboolean |
readOnly принудительно устанавливает параметр ReadOnly в VolumeMounts. По умолчанию — false. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
secretRefLocalObjectReference |
secretRef — имя секрета аутентификации для RBDUser. Если указано, переопределяет keyring. По умолчанию — nil. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
userstring |
user — имя пользователя rados. По умолчанию — admin. Дополнительная информация: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
ResourceClaim
ResourceClaim ссылается на одну запись в PodSpec.ResourceClaims.
| Поле | Описание |
|---|---|
name *string |
Имя должно совпадать с именем одной из записей в pod.spec.resourceClaims пода, в котором используется это поле. Это делает ресурс доступным внутри контейнера. |
requeststring |
Request — имя, выбранное для запроса в указанном требовании. Если значение пустое, становятся доступны все данные из требования; в противном случае — только результат этого запроса. |
ResourceFieldSelector
ResourceFieldSelector представляет ресурсы контейнера (cpu, memory) и формат их вывода
| Поле | Описание |
|---|---|
containerNamestring |
Имя контейнера: обязательно для томов, необязательно для переменных среды |
divisorQuantity |
Задает формат вывода предоставляемых ресурсов; по умолчанию — "1" |
resource *string |
Обязательное поле: ресурс для выбора |
ResourceHealth
ResourceHealth описывает состояние ресурса. Здесь содержится последняя информация о состоянии устройства. Это часть KEP https://kep.k8s.io/4680.
| Поле | Описание |
|---|---|
healthstring |
Состояние ресурса. Может принимать одно из значений: - Healthy: работает нормально - Unhealthy: сообщено о неисправности. Мы считаем это временной проблемой, поскольку на данный момент у нас нет механизма для различения временных и постоянных проблем. - Unknown: состояние невозможно определить. Например, Device Plugin был отменен, и с тех пор его регистрация не была восстановлена. В будущем мы можем добавить состояние PermanentlyUnhealthy. |
messagestring |
Message содержит понятное человеку описание состояния Health (например, "превышен порог количества ошибок ECC"). Это поле заполняется kubelet, если включен ResourceHealthStatusMessage и плагин DRA возвращает сообщение; в противном случае оно равно null. |
resourceID *string |
ResourceID — уникальный идентификатор ресурса. Дополнительные сведения см. в описании типа ResourceID. |
ResourceRequirements
ResourceRequirements описывает требования к вычислительным ресурсам.
| Поле | Описание |
|---|---|
claimsResourceClaim array |
Claims содержит имена ресурсов, определенных в spec.resourceClaims и используемых этим контейнером. Это поле зависит от шлюза функций DynamicResourceAllocation. Это поле неизменяемо. Его можно задавать только для контейнеров. |
limitsobject |
Limits описывает максимально допустимый объем вычислительных ресурсов. Дополнительная информация: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
requestsobject |
Requests описывает минимальный объем необходимых вычислительных ресурсов. Если Requests не задано для контейнера, по умолчанию используется Limits, если оно явно указано, иначе — значение, определяемое реализацией. Requests не может превышать Limits. Дополнительная информация: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ |
ResourceStatus
ResourceStatus описывает состояние отдельного ресурса, выделенного поду.
| Поле | Описание |
|---|---|
name *string |
Имя ресурса. Должно быть уникальным в пределах пода; если ресурс не относится к DRA, оно должно совпадать с одним из ресурсов в спецификации пода. Для ресурсов DRA значение должно иметь вид "claim:\ |
resourcesResourceHealth array |
Список сведений о состоянии уникальных ресурсов. Каждый элемент списка содержит уникальный идентификатор ресурса и его состояние. Как минимум, на протяжении всего срока жизни пода идентификатор ресурса должен однозначно определять ресурс, выделенный поду на узле. Если другой под на том же узле сообщает состояние с тем же идентификатором ресурса, это должен быть тот же ресурс, который они используют совместно. Информацию о формате идентификатора в различных случаях использования см. в определении типа ResourceID. |
SELinuxOptions
SELinuxOptions — метки, применяемые к контейнеру
| Поле | Описание |
|---|---|
levelstring |
Level — метка уровня SELinux, применяемая к контейнеру. |
rolestring |
Role — метка роли SELinux, применяемая к контейнеру. |
typestring |
Type — метка типа SELinux, применяемая к контейнеру. |
userstring |
User — метка пользователя SELinux, применяемая к контейнеру. |
ScaleIOVolumeSource
ScaleIOVolumeSource представляет постоянный том ScaleIO
| Поле | Описание |
|---|---|
fsTypestring |
fsType — тип файловой системы для подключения. Должен поддерживаться операционной системой узла. Например: "ext4", "xfs", "ntfs". По умолчанию — "xfs". |
gateway *string |
gateway — адрес узла шлюза API ScaleIO. |
protectionDomainstring |
protectionDomain — имя домена защиты ScaleIO для настроенного хранилища. |
readOnlyboolean |
readOnly По умолчанию — false (чтение/запись). Здесь ReadOnly принудительно устанавливает параметр ReadOnly в VolumeMounts. |
secretRef *LocalObjectReference |
secretRef ссылается на секрет с учетными данными пользователя ScaleIO и другими конфиденциальными данными. Если значение не указано, операция входа завершится ошибкой. |
sslEnabledboolean |
sslEnabled Включает или отключает SSL-соединение со шлюзом; по умолчанию — false |
storageModestring |
storageMode указывает, должно ли хранилище тома быть ThickProvisioned или ThinProvisioned. По умолчанию — ThinProvisioned. |
storagePoolstring |
storagePool — пул хранения ScaleIO, связанный с доменом защиты. |
system *string |
system — имя системы хранения, настроенной в ScaleIO. |
volumeNamestring |
volumeName — имя тома, уже созданного в системе ScaleIO и связанного с этим источником тома. |
SeccompProfile
SeccompProfile определяет параметры профиля seccomp для пода/контейнера. Можно задать только один источник профиля.
| Поле | Описание |
|---|---|
localhostProfilestring |
localhostProfile указывает, что следует использовать профиль, определенный в файле на узле. Для работы профиль должен быть предварительно настроен на узле. Должен быть задан относительный путь без перехода к родительским каталогам относительно настроенного расположения профилей seccomp в kubelet. Должно быть задано, если type имеет значение "Localhost". Не должно задаваться для любого другого типа. |
type *string |
type указывает тип применяемого профиля seccomp. Допустимые варианты: Localhost — использовать профиль, определенный в файле на узле. RuntimeDefault — использовать профиль seccomp по умолчанию среды выполнения контейнеров. Unconfined — не применять профиль. Возможные значения перечисления: - `"Localhost"` указывает, что следует использовать профиль, определенный в файле на узле. Расположение файла относительно \ - `"RuntimeDefault"` обозначает профиль seccomp среды выполнения контейнеров по умолчанию. - `"Unconfined"` указывает, что профиль seccomp не применяется (то есть режим без ограничений). |
SecretEnvSource
SecretEnvSource выбирает Secret для заполнения переменных среды.
Содержимое поля Data целевого Secret будет представлено в виде пар «ключ-значение» переменных среды.
| Поле | Описание |
|---|---|
namestring |
Имя целевого объекта. Это поле фактически является обязательным, но для обратной совместимости может быть пустым. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
Указывает, должен ли Secret быть определен |
SecretKeySelector
SecretKeySelector выбирает ключ Secret.
| Поле | Описание |
|---|---|
key *string |
Ключ секрета для выбора. Должен быть допустимым ключом секрета. |
namestring |
Имя целевого объекта. Это поле фактически является обязательным, но для обратной совместимости может быть пустым. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
Указывает, должны ли быть определены Secret или его ключ |
SecretProjection
Представляет секрет в виде проецируемого тома.
Содержимое поля Data целевого Secret будет представлено в проецируемом томе в виде файлов, имена которых соответствуют ключам поля Data. Обратите внимание, что это идентично источнику тома secret без режима по умолчанию.
| Поле | Описание |
|---|---|
itemsKeyToPath array |
Если items не указано, каждая пара «ключ-значение» из поля Data указанного Secret будет спроецирована в том как файл, имя которого совпадает с ключом, а содержимое — со значением. Если поле указано, перечисленные ключи будут спроецированы в заданные пути, а остальные ключи присутствовать не будут. Если указанного ключа нет в Secret, настройка тома завершится ошибкой, если только ключ не помечен как необязательный. Пути должны быть относительными и не должны содержать путь '..' или начинаться с '..'. |
namestring |
Имя целевого объекта. Это поле фактически является обязательным, но для обратной совместимости может быть пустым. Экземпляры этого типа с пустым значением в данном поле почти наверняка ошибочны. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
optionalboolean |
Поле optional указывает, должен ли быть определен Secret или его ключ |
SecretVolumeSource
Представляет Secret в виде тома.
Содержимое поля Data целевого Secret будет представлено в томе в виде файлов, имена которых соответствуют ключам поля Data. Тома Secret поддерживают управление владельцем и перемаркировку SELinux.
| Поле | Описание |
|---|---|
defaultModeinteger |
defaultMode — необязательное поле: биты режима, используемые по умолчанию для задания разрешений создаваемых файлов. Должно быть восьмеричное значение от 0000 до 0777 или десятичное значение от 0 до 511. YAML допускает как восьмеричные, так и десятичные значения, а JSON требует десятичные значения для битов режима. По умолчанию — 0644. Эта настройка не влияет на каталоги внутри пути. Она может конфликтовать с другими параметрами, влияющими на режим файла, например fsGroup, и в результате могут быть заданы другие биты режима. |
itemsKeyToPath array |
items Если значение не указано, каждая пара «ключ-значение» из поля Data указанного Secret будет спроецирована в том как файл, имя которого совпадает с ключом, а содержимое — со значением. Если поле указано, перечисленные ключи будут спроецированы в заданные пути, а остальные ключи присутствовать не будут. Если указанного ключа нет в Secret, настройка тома завершится ошибкой, если только ключ не помечен как необязательный. Пути должны быть относительными и не должны содержать путь '..' или начинаться с '..'. |
optionalboolean |
Поле optional указывает, должны ли быть определены Secret или его ключи |
secretNamestring |
secretName — имя секрета в пространстве имен пода, который следует использовать. Дополнительная информация: https://kubernetes.io/docs/concepts/storage/volumes#secret |
SecurityContext
SecurityContext содержит параметры безопасности, применяемые к контейнеру. Некоторые поля присутствуют как в SecurityContext, так и в PodSecurityContext. Если заданы оба объекта, значения из SecurityContext имеют приоритет.
| Поле | Описание |
|---|---|
allowPrivilegeEscalationboolean |
AllowPrivilegeEscalation определяет, может ли процесс получить больше привилегий, чем его родительский процесс. Это значение bool напрямую управляет установкой флага no_new_privs для процесса контейнера. AllowPrivilegeEscalation всегда имеет значение true, если контейнер: 1) запущен в привилегированном режиме; 2) имеет CAP_SYS_ADMIN. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
appArmorProfileAppArmorProfile |
appArmorProfile — параметры AppArmor, используемые этим контейнером. Если задан, этот профиль заменяет appArmorProfile пода. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
capabilitiesCapabilities |
Возможности, которые нужно добавить или удалить при запуске контейнеров. По умолчанию используется набор возможностей, предоставляемых средой выполнения контейнеров. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
privilegedboolean |
Запускать контейнер в привилегированном режиме. Процессы в привилегированных контейнерах по существу эквивалентны процессам root на хосте. По умолчанию — false. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
procMountstring |
procMount указывает тип монтирования proc, используемый для контейнеров. Значение по умолчанию — Default, при котором используются настройки среды выполнения контейнеров для путей только для чтения и маскируемых путей. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. Возможные значения перечисления: - `"Default"` использует настройки среды выполнения контейнеров для путей только для чтения и маскируемых путей в /proc. Большинство сред выполнения контейнеров маскируют определённые пути в /proc, чтобы предотвратить случайное раскрытие специальных устройств или информации. - `"Unmasked"` отключает поведение маскирования по умолчанию в среде выполнения контейнеров и гарантирует, что вновь созданный /proc контейнера останется неизменным. |
readOnlyRootFilesystemboolean |
Указывает, имеет ли контейнер корневую файловую систему только для чтения. Значение по умолчанию — false. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
runAsGroupinteger |
GID, от имени которого запускается точка входа процесса контейнера. Если значение не задано, используется значение по умолчанию среды выполнения. Его также можно задать в PodSecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
runAsNonRootboolean |
Указывает, должен ли этот контейнер запускаться от имени пользователя, не являющегося root. Если значение равно true, Kubelet проверит образ во время выполнения, чтобы убедиться, что он не запускается с UID 0 (root), и не запустит контейнер, если это условие не выполнено. Если значение не задано или равно false, такая проверка выполняться не будет. Значение также можно задать в PodSecurityContext. Если оно задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. |
runAsUserinteger |
UID, от имени которого запускается точка входа процесса контейнера. Если значение не задано, используется пользователь, указанный в метаданных образа. Его также можно задать в PodSecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
seLinuxOptionsSELinuxOptions |
Контекст SELinux, применяемый к контейнеру. Если значение не задано, среда выполнения контейнеров назначит каждому контейнеру случайный контекст SELinux. Значение также можно задать в PodSecurityContext. Если оно задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
seccompProfileSeccompProfile |
Параметры seccomp, используемые этим контейнером. Если параметры seccomp заданы и на уровне пода, и на уровне контейнера, параметры контейнера переопределяют параметры пода. Обратите внимание, что это поле нельзя задать, если spec.os.name равен windows. |
windowsOptionsWindowsSecurityContextOptions |
Параметры, относящиеся к Windows и применяемые ко всем контейнерам. Если значение не задано, используются параметры из PodSecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. Обратите внимание, что это поле нельзя задать, если spec.os.name равен linux. |
Проекция токена ServiceAccount
ServiceAccountTokenProjection представляет том с проецируемым токеном учётной записи службы. Эта проекция позволяет поместить токен учётной записи службы в файловую систему среды выполнения пода для использования при обращении к API (серверу API Kubernetes или другим).
| Поле | Описание |
|---|---|
audiencestring |
audience — предполагаемая аудитория токена. Получатель токена должен идентифицировать себя с помощью идентификатора, указанного в audience токена, и в противном случае должен отклонить токен. По умолчанию audience равен идентификатору apiserver. |
expirationSecondsinteger |
expirationSeconds — запрашиваемая продолжительность действия токена учётной записи службы. По мере приближения срока действия токена плагин тома kubelet будет заблаговременно выполнять его ротацию. kubelet начнёт попытки ротации токена, если его возраст превысит 80 процентов срока действия или если токену больше 24 часов. По умолчанию — 1 час; значение должно быть не менее 10 минут. |
path *string |
path — путь относительно точки монтирования, по которому будет размещён файл с токеном. |
Действие Sleep
SleepAction описывает действие «sleep».
| Поле | Описание |
|---|---|
seconds *integer |
Seconds — количество секунд ожидания. |
Источник тома StorageOS
Представляет ресурс постоянного тома StorageOS.
| Поле | Описание |
|---|---|
fsTypestring |
fsType — тип файловой системы для монтирования. Должен быть типом файловой системы, поддерживаемым операционной системой хоста. Например: "ext4", "xfs", "ntfs". Если значение не задано, неявно используется "ext4". |
readOnlyboolean |
readOnly по умолчанию равно false (чтение и запись). Значение ReadOnly здесь принудительно задаёт параметр ReadOnly в VolumeMounts. |
secretRefLocalObjectReference |
secretRef указывает секрет, используемый для получения учётных данных API StorageOS. Если значение не задано, будет предпринята попытка использовать значения по умолчанию. |
volumeNamestring |
volumeName — понятное человеку имя тома StorageOS. Имена томов уникальны только в пределах пространства имён. |
volumeNamespacestring |
volumeNamespace задаёт область действия тома в StorageOS. Если пространство имён не указано, будет использоваться пространство имён пода. Это позволяет отразить область имён Kubernetes в StorageOS для более тесной интеграции. Чтобы переопределить поведение по умолчанию, задайте любое значение для VolumeName. Укажите "default", если пространства имён в StorageOS не используются. Пространства имён, которых ещё нет в StorageOS, будут созданы. |
Sysctl
Sysctl задаёт параметр ядра, которому необходимо присвоить значение
| Поле | Описание |
|---|---|
name *string |
Имя свойства, которому нужно присвоить значение |
value *string |
Значение свойства |
Действие TCPSocket
TCPSocketAction описывает действие, основанное на открытии сокета
| Поле | Описание |
|---|---|
hoststring |
Необязательно: имя хоста для подключения; по умолчанию используется IP-адрес пода. |
port * |
Номер или имя порта контейнера, к которому нужно обратиться. Номер должен находиться в диапазоне от 1 до 65535. Имя должно соответствовать IANA_SVC_NAME. |
Ограничение распределения по топологии
TopologySpreadConstraint задаёт правила распределения подходящих подов по указанной топологии.
| Поле | Описание |
|---|---|
labelSelectorLabelSelector |
LabelSelector используется для поиска подходящих подов. Поды, соответствующие этому селектору меток, учитываются при определении количества подов в соответствующей области топологии. |
matchLabelKeysstring array |
MatchLabelKeys — набор ключей меток пода, по которым выбираются поды для вычисления распределения. Эти ключи используются для поиска значений во входящих метках пода; найденные пары «ключ-значение» объединяются с labelSelector оператором AND, чтобы выбрать группу существующих подов, по которой будет вычислено распределение для входящего пода. Один и тот же ключ не может одновременно присутствовать в MatchLabelKeys и LabelSelector. MatchLabelKeys нельзя задать, если LabelSelector не задан. Ключи, отсутствующие во входящих метках пода, игнорируются. Значение null или пустой список означает, что проверяется только соответствие labelSelector. Это поле бета-версии; для его использования необходимо включить функциональный переключатель MatchLabelKeysInPodTopologySpread (по умолчанию включён). |
maxSkew *integer |
MaxSkew описывает степень допустимой неравномерности распределения подов. Если `whenUnsatisfiable=DoNotSchedule`, это максимальная допустимая разница между количеством подходящих подов в целевой топологии и глобальным минимумом. Глобальный минимум — это минимальное количество подходящих подов в допустимой области либо ноль, если количество допустимых областей меньше MinDomains. Например, в кластере из 3 зон MaxSkew равен 1, а поды с одинаковым labelSelector распределены как 2/2/1: В этом случае глобальный минимум равен 1. | зона1 | зона2 | зона3 | | P P | P P | P | - если MaxSkew равен 1, входящий под можно запланировать только в зону3, чтобы получить распределение 2/2/2; планирование в зону1 (зону2) привело бы к тому, что ActualSkew (3-1) в зоне1 (зоне2) превысил бы MaxSkew (1). - если MaxSkew равен 2, входящий под можно запланировать в любую зону. Если `whenUnsatisfiable=ScheduleAnyway`, это значение используется для повышения приоритета топологий, которые ему соответствуют. Обязательное поле. Значение по умолчанию — 1; значение 0 не допускается. |
minDomainsinteger |
MinDomains указывает минимальное количество допустимых областей. Если количество допустимых областей с соответствующими ключами топологии меньше minDomains, механизм распределения подов по топологии рассматривает «глобальный минимум» как 0, после чего вычисляется Skew. Если количество допустимых областей с соответствующими ключами топологии равно minDomains или превышает его, это значение не влияет на планирование. В результате, если количество допустимых областей меньше minDomains, планировщик не будет размещать в этих областях больше подов, чем допускает maxSkew. Если значение равно nil, ограничение ведёт себя так, как если бы MinDomains было равно 1. Допустимы целые значения больше 0. Если значение не равно nil, WhenUnsatisfiable должно быть равно DoNotSchedule. Например, в кластере из 3 зон MaxSkew равен 2, MinDomains равен 5, а поды с одинаковым labelSelector распределены как 2/2/2: | зона1 | зона2 | зона3 | | P P | P P | P P | Число областей меньше 5 (MinDomains), поэтому «глобальный минимум» считается равным 0. В этой ситуации новый под с таким же labelSelector нельзя запланировать: если запланировать его в любую из трёх зон, вычисленное значение skew будет равно 3 (3 - 0), что нарушит MaxSkew. |
nodeAffinityPolicystring |
NodeAffinityPolicy указывает, как учитывать nodeAffinity/nodeSelector пода при вычислении неравномерности распределения подов по топологии. Возможные варианты: - Honor: при вычислениях учитываются только узлы, соответствующие nodeAffinity/nodeSelector. - Ignore: nodeAffinity/nodeSelector игнорируются. При вычислениях учитываются все узлы. Если значение равно nil, поведение соответствует политике Honor. Возможные значения перечисления: - `"Honor"` означает, что эта директива планирования используется при вычислении неравномерности распределения подов по топологии. - `"Ignore"` означает, что эта директива планирования игнорируется при вычислении неравномерности распределения подов по топологии. |
nodeTaintsPolicystring |
NodeTaintsPolicy указывает, как учитывать taints узлов при вычислении неравномерности распределения подов по топологии. Возможные варианты: - Honor: учитываются узлы без taints, а также узлы с taints, для которых у входящего пода есть toleration. - Ignore: taints узлов игнорируются. Учитываются все узлы. Если значение равно nil, поведение соответствует политике Ignore. Возможные значения перечисления: - `"Honor"` означает, что эта директива планирования используется при вычислении неравномерности распределения подов по топологии. - `"Ignore"` означает, что эта директива планирования игнорируется при вычислении неравномерности распределения подов по топологии. |
topologyKey *string |
TopologyKey — ключ меток узлов. Узлы с меткой по этому ключу и одинаковыми значениями считаются принадлежащими к одной топологии. Каждое \ |
whenUnsatisfiable *string |
WhenUnsatisfiable указывает, что делать с подом, если он не удовлетворяет ограничению распределения. - DoNotSchedule (по умолчанию) указывает планировщику не планировать под. - ScheduleAnyway указывает планировщику запланировать под в любом месте, но повысить приоритет топологий, которые помогут уменьшить неравномерность. Ограничение считается «невыполнимым» для входящего пода тогда и только тогда, когда любое возможное назначение узла этому поду нарушит «MaxSkew» в некоторой топологии. Например, в кластере из 3 зон MaxSkew равен 1, а поды с одинаковым labelSelector распределены как 3/1/1: | зона1 | зона2 | зона3 | | P P P | P | P | Если WhenUnsatisfiable задано как DoNotSchedule, входящий под можно запланировать только в зону2 (зону3), чтобы получить распределение 3/2/1 (3/1/2), поскольку ActualSkew (2-1) в зоне2 (зоне3) соответствует MaxSkew (1). Иными словами, кластер может оставаться несбалансированным, но планировщик не будет усиливать дисбаланс. Обязательное поле. Возможные значения перечисления: - `"DoNotSchedule"` указывает планировщику не планировать под, если ограничения не соблюдены. - `"ScheduleAnyway"` указывает планировщику планировать под, даже если ограничения не соблюдены. |
Том
Volume представляет именованный том в поде, доступный любому контейнеру этого пода.
| Поле | Описание |
|---|---|
awsElasticBlockStoreAWSElasticBlockStoreVolumeSource |
awsElasticBlockStore представляет ресурс диска AWS, подключённый к хост-машине kubelet и предоставленный поду. Устарело: AWSElasticBlockStore объявлен устаревшим. Все операции для встроенного типа awsElasticBlockStore перенаправляются драйверу CSI ebs.csi.aws.com. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
azureDiskAzureDiskVolumeSource |
azureDisk представляет подключение диска Azure Data Disk на хосте и его bind-монтирование в под. Устарело: AzureDisk объявлен устаревшим. Все операции для встроенного типа azureDisk перенаправляются драйверу CSI disk.csi.azure.com. |
azureFileAzureFileVolumeSource |
azureFile представляет подключение Azure File Service на хосте и его bind-монтирование в под. Устарело: AzureFile объявлен устаревшим. Все операции для встроенного типа azureFile перенаправляются драйверу CSI file.csi.azure.com. |
cephfsCephFSVolumeSource |
cephFS представляет подключение Ceph FS на хосте, срок службы которого совпадает со сроком жизни пода. Устарело: CephFS объявлен устаревшим, встроенный тип cephfs больше не поддерживается. |
cinderCinderVolumeSource |
cinder представляет том Cinder, подключённый и смонтированный на хост-машине kubelet. Устарело: Cinder объявлен устаревшим. Все операции для встроенного типа cinder перенаправляются драйверу CSI cinder.csi.openstack.org. Подробнее: https://examples.k8s.io/mysql-cinder-pd/README.md |
configMapConfigMapVolumeSource |
configMap представляет ConfigMap, содержимое которого должно заполнить этот том |
csiCSIVolumeSource |
csi (Container Storage Interface) представляет эфемерное хранилище, обслуживаемое определёнными внешними драйверами CSI. |
downwardAPIDownwardAPIVolumeSource |
downwardAPI представляет данные API Downward о поде, которые должны заполнить этот том |
emptyDirEmptyDirVolumeSource |
emptyDir представляет временный каталог, срок службы которого совпадает со сроком жизни пода. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#emptydir |
ephemeralEphemeralVolumeSource |
ephemeral представляет том, обслуживаемый драйвером хранилища кластера. Жизненный цикл тома связан с подом, в котором он определён: том создаётся до запуска пода и удаляется при удалении пода. Используйте этот тип, если: a) том нужен только во время работы пода; b) требуются возможности обычных томов, например восстановление из снимка или отслеживание ёмкости; c) драйвер хранилища задаётся через класс хранилища; d) драйвер хранилища поддерживает динамическое выделение томов через PersistentVolumeClaim (подробнее о связи этого типа тома с PersistentVolumeClaim см. в EphemeralVolumeSource). Для томов, срок службы которых превышает жизненный цикл отдельного пода, используйте PersistentVolumeClaim или один из API конкретного поставщика. Используйте CSI для облегчённых локальных эфемерных томов, если драйвер CSI предназначен для такого применения; дополнительные сведения см. в документации драйвера. Под может одновременно использовать оба типа эфемерных томов и постоянные тома. |
fcFCVolumeSource |
fc представляет ресурс Fibre Channel, подключённый к хост-машине kubelet и предоставленный поду. |
flexVolumeFlexVolumeSource |
flexVolume представляет универсальный ресурс тома, который выделяется или подключается с помощью плагина на основе exec. Устарело: FlexVolume объявлен устаревшим. Рекомендуется использовать CSIDriver. |
flockerFlockerVolumeSource |
flocker представляет том Flocker, подключённый к хост-машине kubelet. Для этого требуется запущенная управляющая служба Flocker. Устарело: Flocker объявлен устаревшим, встроенный тип flocker больше не поддерживается. |
gcePersistentDiskGCEPersistentDiskVolumeSource |
gcePersistentDisk представляет ресурс диска GCE, подключённый к хост-машине kubelet и предоставленный поду. Устарело: GCEPersistentDisk объявлен устаревшим. Все операции для встроенного типа gcePersistentDisk перенаправляются драйверу CSI pd.csi.storage.gke.io. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
gitRepoGitRepoVolumeSource |
gitRepo представляет репозиторий Git на определённой ревизии. Устарело: GitRepo объявлен устаревшим. Чтобы предоставить контейнеру репозиторий Git, смонтируйте EmptyDir в InitContainer, клонируйте в него репозиторий с помощью git, а затем смонтируйте EmptyDir в контейнер пода. |
glusterfsGlusterfsVolumeSource |
glusterfs представляет подключение Glusterfs на хосте, срок службы которого совпадает со сроком жизни пода. Устарело: Glusterfs объявлен устаревшим, встроенный тип glusterfs больше не поддерживается. |
hostPathHostPathVolumeSource |
hostPath представляет уже существующий файл или каталог на хост-машине, непосредственно предоставляемый контейнеру. Обычно этот тип используется системными агентами или другими привилегированными компонентами, которым разрешён доступ к хост-машине. Большинству контейнеров он НЕ нужен. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
imageImageVolumeSource |
image представляет объект OCI (образ контейнера или артефакт), загружаемый и монтируемый на хост-машине kubelet. Том разрешается при запуске пода в зависимости от указанного значения PullPolicy: - Always: kubelet всегда пытается загрузить указанный объект. Если загрузка завершается ошибкой, создание контейнера не удаётся. - Never: kubelet не загружает указанный объект и использует только локальный образ или артефакт. Если объект отсутствует, создание контейнера не удаётся. - IfNotPresent: kubelet загружает объект, только если его ещё нет на диске. Если объект отсутствует и загрузка завершается ошибкой, создание контейнера не удаётся. Том разрешается заново, если под удалён и создан повторно, поэтому при повторном создании пода становится доступно новое удалённое содержимое. Ошибка разрешения или загрузки образа при запуске пода заблокирует запуск контейнеров и может значительно увеличить задержку. Повторные попытки выполняются с обычной задержкой повторного подключения тома, а сведения об ошибках указываются в причине и сообщении пода. Типы объектов, которые можно смонтировать с помощью этого тома, определяются реализацией среды выполнения контейнеров на хост-машине и как минимум должны включать все допустимые типы, поддерживаемые полем образа контейнера. Объект OCI монтируется в один каталог (spec.containers[*].volumeMounts.mountPath) путём объединения слоёв манифеста так же, как для образов контейнеров. Том монтируется только для чтения (ro). До версии 1.33 не поддерживаются монтирования подкаталогов контейнеров (spec.containers[*].volumeMounts.subpath). Поле spec.securityContext.fsGroupChangePolicy не влияет на этот тип тома. |
iscsiISCSIVolumeSource |
iscsi представляет ресурс диска ISCSI, подключённый к хост-машине kubelet и предоставленный поду. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes/#iscsi |
name *string |
Имя тома. Должно соответствовать DNS_LABEL и быть уникальным в пределах пода. Подробнее: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
nfsNFSVolumeSource |
nfs представляет подключение NFS на хосте, срок службы которого совпадает со сроком жизни пода. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
persistentVolumeClaimPersistentVolumeClaimVolumeSource |
persistentVolumeClaimVolumeSource представляет ссылку на PersistentVolumeClaim в том же пространстве имён. Подробнее: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
photonPersistentDiskPhotonPersistentDiskVolumeSource |
photonPersistentDisk представляет постоянный диск PhotonController, подключённый и смонтированный на хост-машине kubelet. Устарело: PhotonPersistentDisk объявлен устаревшим, встроенный тип photonPersistentDisk больше не поддерживается. |
portworxVolumePortworxVolumeSource |
portworxVolume представляет том Portworx, подключённый и смонтированный на хост-машине kubelet. Устарело: PortworxVolume объявлен устаревшим. Все операции для встроенного типа portworxVolume перенаправляются драйверу CSI pxd.portworx.com. |
projectedProjectedVolumeSource |
проецируемые элементы всех ресурсов в одном томе: секретов, configmaps и API Downward |
quobyteQuobyteVolumeSource |
quobyte представляет подключение Quobyte на хосте, срок службы которого совпадает со сроком жизни пода. Устарело: Quobyte объявлен устаревшим, встроенный тип quobyte больше не поддерживается. |
rbdRBDVolumeSource |
rbd представляет подключение устройства Rados Block Device на хосте, срок службы которого совпадает со сроком жизни пода. Устарело: RBD объявлен устаревшим, встроенный тип rbd больше не поддерживается. |
scaleIOScaleIOVolumeSource |
scaleIO представляет постоянный том ScaleIO, подключённый и смонтированный на узлах Kubernetes. Устарело: ScaleIO объявлен устаревшим, встроенный тип scaleIO больше не поддерживается. |
secretSecretVolumeSource |
secret представляет секрет, содержимое которого должно заполнить этот том. Подробнее: https://kubernetes.io/docs/concepts/storage/volumes#secret |
storageosStorageOSVolumeSource |
storageOS представляет том StorageOS, подключённый и смонтированный на узлах Kubernetes. Устарело: StorageOS объявлен устаревшим, встроенный тип storageos больше не поддерживается. |
vsphereVolumeVsphereVirtualDiskVolumeSource |
vsphereVolume представляет том vSphere, подключённый и смонтированный на хост-машине kubelet. Устарело: VsphereVolume объявлен устаревшим. Все операции для встроенного типа vsphereVolume перенаправляются драйверу CSI csi.vsphere.vmware.com. |
Устройство тома
volumeDevice описывает сопоставление устройства с необработанным блочным доступом внутри контейнера.
| Поле | Описание |
|---|---|
devicePath *string |
devicePath — путь внутри контейнера, по которому будет сопоставлено устройство. |
name *string |
name должно совпадать с именем PersistentVolumeClaim в поде |
Монтирование тома
VolumeMount описывает монтирование тома внутри контейнера.
| Поле | Описание |
|---|---|
mountPath *string |
Путь внутри контейнера, по которому следует смонтировать том. Не должен содержать «:». |
mountPropagationstring |
mountPropagation определяет, как монтирования распространяются с хоста в контейнер и обратно. Если значение не задано, используется MountPropagationNone. В версии 1.10 это поле имеет статус бета. Если для RecursiveReadOnly задано значение IfPossible или Enabled, для MountPropagation должно быть задано значение None или значение не должно быть указано (по умолчанию используется None). Возможные значения перечисления: - `"Bidirectional"` означает, что том в контейнере будет получать новые монтирования с хоста или из других контейнеров, а собственные монтирования тома будут распространяться из контейнера на хост или в другие контейнеры. Обратите внимание, что этот режим рекурсивно применяется ко всем монтированиям в томе (в терминологии Linux — «rshared»). - `"HostToContainer"` означает, что том в контейнере будет получать новые монтирования с хоста или из других контейнеров, но файловые системы, смонтированные внутри контейнера, не будут распространяться на хост или в другие контейнеры. Обратите внимание, что этот режим рекурсивно применяется ко всем монтированиям в томе (в терминологии Linux — «rslave»). - `"None"` означает, что том в контейнере не будет получать новые монтирования с хоста или из других контейнеров, а файловые системы, смонтированные внутри контейнера, не будут распространяться на хост или в другие контейнеры. Обратите внимание, что этот режим соответствует значению «private» в терминологии Linux. |
name *string |
Должно совпадать с именем тома. |
readOnlyboolean |
Том монтируется только для чтения, если значение равно true, в противном случае — для чтения и записи (false или значение не указано). По умолчанию — false. |
recursiveReadOnlystring |
RecursiveReadOnly указывает, следует ли рекурсивно обрабатывать монтирования только для чтения. Если ReadOnly имеет значение false, это поле не имеет значения и не должно быть указано. Если ReadOnly имеет значение true, а для этого поля задано значение Disabled, монтирование не становится рекурсивно доступным только для чтения. Если для этого поля задано значение IfPossible, монтирование становится рекурсивно доступным только для чтения, если это поддерживается средой выполнения контейнеров. Если для этого поля задано значение Enabled, монтирование становится рекурсивно доступным только для чтения, если это поддерживается средой выполнения контейнеров; в противном случае pod не будет запущен и будет сгенерирована ошибка с указанием причины. Если для этого поля задано значение IfPossible или Enabled, для MountPropagation должно быть задано значение None (или значение не должно быть указано — по умолчанию используется None). Если это поле не указано, оно считается эквивалентным Disabled. |
subPathstring |
Путь внутри тома, из которого следует смонтировать том контейнера. По умолчанию — "" (корень тома). |
subPathExprstring |
Развернутый путь внутри тома, из которого следует смонтировать том контейнера. Работает аналогично SubPath, но ссылки на переменные среды $(VAR_NAME) раскрываются с использованием среды контейнера. По умолчанию — "" (корень тома). SubPathExpr и SubPath являются взаимоисключающими. |
VolumeProjection
Проекция, которую можно использовать вместе с другими поддерживаемыми типами томов. Должно быть задано ровно одно из этих полей.
| Поле | Описание |
|---|---|
clusterTrustBundleClusterTrustBundleProjection |
ClusterTrustBundle позволяет pod получить доступ к полю `.spec.trustBundle` объектов ClusterTrustBundle в автоматически обновляемом файле. Альфа-версия; доступ определяется функциональным переключателем ClusterTrustBundleProjection. Объекты ClusterTrustBundle можно выбирать по имени или по сочетанию имени подписанта и селектора меток. Kubelet выполняет интенсивную нормализацию содержимого PEM, записываемого в файловую систему pod. Специфические возможности PEM, такие как комментарии между блоками и заголовки блоков, удаляются. Сертификаты дедуплицируются. Порядок сертификатов в файле произвольный, и со временем Kubelet может изменить его. |
configMapConfigMapProjection |
Информация configMap о данных configMap, которые нужно проецировать |
downwardAPIDownwardAPIProjection |
Информация downwardAPI о данных downwardAPI, которые нужно проецировать |
podCertificatePodCertificateProjection |
Проецирует автоматически обновляемый набор учетных данных (закрытый ключ и цепочку сертификатов), который pod может использовать в качестве клиента или сервера TLS. Kubelet создает закрытый ключ и использует его для отправки PodCertificateRequest указанному подписанту. После того как подписант одобрит запрос и выдаст цепочку сертификатов, Kubelet записывает ключ и цепочку сертификатов в файловую систему pod. Pod не запускается, пока не будут выданы сертификаты для каждого источника тома podCertificate в его спецификации. Kubelet начнет попытки обновить сертификат в указанное подписантом время, используя метку времени PodCertificateRequest.Status.BeginRefreshAt. Kubelet может записать один файл, указанный в поле credentialBundlePath, или отдельные файлы, указанные в полях keyPath и certificateChainPath. Набор учетных данных представляет собой один файл в формате PEM. Первая запись PEM — это закрытый ключ (в формате PKCS#8), а остальные записи PEM — цепочка сертификатов, выданная подписантом (обычно подписанты возвращают цепочку сертификатов в порядке от конечного сертификата к корневому). Рекомендуется использовать формат набора учетных данных, так как код приложения может считывать его атомарно. Если используются keyPath и certificateChainPath, приложению потребуется выполнить два отдельных чтения файлов. Если в этот момент произойдет обновление сертификата, прочитанные закрытый ключ и конечный сертификат могут не соответствовать друг другу. Приложению необходимо проверять это условие и повторять чтение, пока данные не будут согласованы. Указанный подписант определяет формат выдаваемого сертификата; сведения об использовании выданных им сертификатов см. в документации по реализации подписанта. |
secretSecretProjection |
Информация secret о данных secret, которые нужно проецировать |
serviceAccountTokenServiceAccountTokenProjection |
serviceAccountToken — это информация о данных serviceAccountToken, которые нужно проецировать |
WeightedPodAffinityTerm
Для каждого узла складываются веса всех совпавших полей WeightedPodAffinityTerm, чтобы определить наиболее предпочтительный узел или узлы.
| Поле | Описание |
|---|---|
podAffinityTerm *PodAffinityTerm |
Обязательное поле. Условие сродства pod, связанное с соответствующим весом. |
weight *integer |
Вес, связанный с соответствием указанному podAffinityTerm; допустимый диапазон — 1–100. |
WindowsSecurityContextOptions
WindowsSecurityContextOptions содержит параметры и учетные данные, специфичные для Windows.
| Поле | Описание |
|---|---|
gmsaCredentialSpecstring |
GMSACredentialSpec — это поле, в которое веб-перехватчик допуска GMSA (https://github.com/kubernetes-sigs/windows-gmsa) встраивает содержимое спецификации учетных данных GMSA, указанной в поле GMSACredentialSpecName. |
gmsaCredentialSpecNamestring |
GMSACredentialSpecName — это имя используемой спецификации учетных данных GMSA. |
hostProcessboolean |
HostProcess определяет, должен ли контейнер запускаться как контейнер «Host Process». Все контейнеры pod должны иметь одинаковое эффективное значение HostProcess (нельзя сочетать контейнеры HostProcess с контейнерами, не относящимися к HostProcess). Кроме того, если HostProcess имеет значение true, HostNetwork также должен иметь значение true. |
runAsUserNamestring |
Имя пользователя Windows, от имени которого запускается точка входа процесса контейнера. Если значение не указано, по умолчанию используется пользователь, указанный в метаданных образа. Также может быть задано в PodSecurityContext. Если значение задано и в SecurityContext, и в PodSecurityContext, приоритет имеет значение, указанное в SecurityContext. |
© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/core/pod-v1/