apiVersion: resource.k8s.io/v1beta1
import "k8s.io/api/resource/v1beta1"
BasicDevice визначає один екземпляр пристрою.
| Поле | Опис |
|---|---|
allNodesboolean | AllNodes вказує, що всі вузли мають доступ до пристрою. Має бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Можна встановити не більше одного з NodeName, NodeSelector та AllNodes. |
allowMultipleAllocationsboolean | AllowMultipleAllocations вказує, чи дозволено виділяти пристрій для кількох DeviceRequests. Якщо AllowMultipleAllocations встановлено в true, пристрій може бути виділений більше одного разу, і вся його ємність є споживаною, незалежно від того, чи визначено requestPolicy. |
attributesobject | Attributes визначає набір атрибутів для цього пристрою. Імʼя кожного атрибуту має бути унікальним у цьому наборі. Максимальна кількість атрибутів і ємностей разом становить 32. |
bindingConditionsstring array | BindingConditions визначає умови для продовження привʼязки. Всі ці умови повинні бути встановлені в умовах стану кожного пристрою зі значенням True, щоб продовжити привʼязку пода до вузла під час планування пода. Максимальна кількість умов привʼязки — 4. Умови повинні бути дійсним рядком типу умови. Це бета-поле і вимагає увімкнення функціональних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus. |
bindingFailureConditionsstring array | BindingFailureConditions визначає умови невдалої привʼязки. Вони можуть бути встановлені в умовах стану кожного пристрою. Якщо будь-яка з них істинна, сталася невдала привʼязка. Максимальна кількість умов невдалої привʼязки — 4. Умови повинні бути дійсним рядком типу умови. Це бета-поле і вимагає увімкнення функціональних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus. |
bindsToNodeboolean | BindsToNode вказує, чи використання виділення, що включає цей пристрій, має бути обмежене саме тим вузлом, який був обраний під час обробки заявки. Якщо встановлено в true, планувальник встановить ResourceClaim.Status.Allocation.NodeSelector, щоб відповідати вузлу, де було зроблено виділення. Це бета-поле і вимагає увімкнення функціональних можливостей DRADeviceBindingConditions та DRAResourceClaimDeviceStatus. |
capacityobject | Capacity визначає набір ємностей для цього пристрою. Імʼя кожної ємності має бути унікальним у цьому наборі. Максимальна кількість атрибутів і ємностей разом становить 32. |
consumesCountersDeviceCounterConsumption array | ConsumesCounters визначає список посилань на sharedCounters та набір лічильників, які пристрій буде споживати з цих наборів лічильників. Може бути лише один запис на counterSet. Максимальна кількість споживань лічильників пристрою на пристрій становить 2. |
nodeAllocatableResourceMappingsobject | NodeAllocatableResourceMappings визначає відповідність ресурсів вузла, які керуються драйвером DRA, що надає цей пристрій. Це включає ресурси, які наразі повідомляються в v1.Node `status.allocatable`, але не є розширеними ресурсами (див. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#extended-resources). Приклади включають "cpu", "memory", "ephemeral-storage" та hugepages. Крім стандартних запитів, зроблених через Pod `spec`, ці ресурси також можуть бути запитані через заявки та виділені драйвером DRA. Наприклад, драйвер CPU DRA може виділяти ексклюзивні CPU або допоміжні залежності памʼяті вузла для прискорювача. Ключі цієї мапи є іменами ресурсів, доступних для вузла (наприклад, "cpu", "memory"). Розширені імена ресурсів не дозволяються як ключі. |
nodeNamestring | NodeName визначає вузол, де доступний пристрій. Має бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Можна встановити не більше одного з NodeName, NodeSelector та AllNodes. |
nodeSelectorNodeSelector | NodeSelector визначає вузли, де доступний пристрій. Має використовуватися точно один термін. Має бути встановлено лише якщо Spec.PerDeviceNodeSelection встановлено в true. Можна встановити не більше одного з NodeName, NodeSelector та AllNodes. |
taintsDeviceTaint array | Якщо вказано, це позначки taints драйверів. Максимальна кількість taints — 16. Якщо taints встановлено для будь-якого пристрою в ResourceSlice, то максимальна кількість дозволених пристроїв на ResourceSlice становить 64 замість 128. Це бета-поле і вимагає увімкнення функціональної можливості DRADeviceTaints. |