DeviceTaintRule v1beta2

DeviceTaintRule додає одну позначку taint до всіх пристроїв, які відповідають селектору.

apiVersion: resource.k8s.io/v1beta2

import "k8s.io/api/resource/v1beta2"

DeviceTaintRule

DeviceTaintRule додає одну позначку taint до всіх пристроїв, які відповідають селектору. Це має той самий ефект, як якби позначку taint було вказано безпосередньо в ResourceSlice драйвером DRA.


  • apiVersion: resource.k8s.io/v1beta2

  • kind: DeviceTaintRule

  • metadata (ObjectMeta)

    Стандартні метадані обʼєкта

  • spec (DeviceTaintRuleSpec), обовʼязково

    Spec визначає селектор та одну позначку taint.

    Зміна spec автоматично збільшує номер metadata.generation.

  • status (DeviceTaintRuleStatus)

    Status надає інформацію про те, що було запрошено в специфікації.

DeviceTaintRuleSpec

DeviceTaintRuleSpec визначає селектор та одну позначку taint.


  • taint (DeviceTaint), обовʼязково

    Позначка taint, яку буде додано до відповідних пристроїв.

    Пристрій, до якого прикріплено цей taint, має «вплив» на будь-яку заявку, яка не толерує taint, і, через заявку, на podʼи, що використовують цю заявку.

    • taint.effect (string), обовʼязково

      Вплив taint на заявки, які не толерують taint, а через такі заявки і на podʼи, які їх використовують.

      Допустимими ефектами є None, NoSchedule та NoExecute. PreferNoSchedule, що використовується для вузлів, тут не діє. У майбутньому можуть бути додані інші ефекти. Споживачі повинні ставитися до невідомих ефектів як до None.

      Можливі значення enum:

      • "NoExecute" Виселяє будь-які вже запущені podʼи, які не толерують taint пристрою.
      • "NoSchedule" Не дозволяє новим podʼам плануватися на пристрою з позначкою taint, якщо вони її не толерують, але дозволяє всім podʼам, поданим до Kubelet без проходження через планувальник, запускатися, і дозволяє всім вже запущеним podʼам продовжувати роботу.
      • "None" Без ефекту, taint є лише інформаційним.
    • taint.key (string), обовʼязково

      Ключ taint може бути застосований до пристрою. Має бути імʼям мітки.

    • taint.timeAdded (Time)

      TimeAdded представляє час, коли taint було додано або (тільки в DeviceTaintRule) коли ефект було змінено. Додається автоматично під час створення або оновлення, якщо не встановлено.

      Крім того, у DeviceTaintRule значення, надане під час оновлення, замінюється на поточний час, якщо надане значення збігається зі старим і новий ефект відрізняється. Зміна ключа та/або значення при збереженні ефекту без змін можлива і не оновлює часову мітку, оскільки виселення, яке її використовує, або вже почалося (NoExecute), або ще не почалося (NoEffect, NoSchedule).

      Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.

    • taint.value (string)

      Значення відповідного ключа taint. Має бути значення мітки.

  • deviceSelector (DeviceTaintSelector)

    DeviceSelector визначає, до якого пристрою (пристроїв) буде застосовано taint. Для того, щоб пристрій було знайдено, мають бути виконані всі критерії селектора. Порожній селектор відповідає всім пристроям. Без селектора не буде знайдено жодного пристрою.

    Селектор DeviceTaintSelector визначає, до якого пристрою (пристроїв) застосовується правило DeviceTaintRule. Порожній селектор відповідає всім пристроям. Без селектора не буде знайдено жодного пристрою.

    • deviceSelector.device (string)

      Якщо задано значення device, буде обрано лише пристрої з такою назвою. Це поле відповідає slice.spec.devices[].name.

      Для уникнення двозначності може знадобитися вказати також драйвер і пул, але це не є обовʼязковим.

    • deviceSelector.driver (string)

      Якщо задано driver, буде вибрано лише пристрої з цим драйвером. Це поле відповідає slice.spec.driver.

    • deviceSelector.pool (string)

      Якщо задано pool, буде вибрано лише пристрої з цього пулу.

      Також слід вказати назву драйвера, щоб уникнути неоднозначності, коли різні драйвери використовують однакову назву пулу, але це не є обовʼязковим, оскільки вибір пулів з різних драйверів також може бути корисним, наприклад, коли драйвери з локальними пристроями вузла використовують назву вузла як назву пулу.

DeviceTaintRuleStatus

DeviceTaintRuleStatus надає інформацію про поточне виселення подів.


  • conditions ([]Condition)

    Patch strategy: обʼєднання за ключем type

    Map: унікальні значення ключа type будуть збережені під час злиття

    Conditions надають інформацію про стан DeviceTaintRule та кластера в певний момент часу у форматі, придатному для читання машиною та людиною.

    Наразі в рамках цього API визначено такий стан, але можуть бути додані й інші:

    • Type: EvictionInProgress
    • Status: True, якщо в даний момент є pod'и, які потрібно виселити, False в іншому випадку (включає ефекти, які не спричиняють виселення).
    • Reason: не вказано, може змінюватися
    • Message: містить інформацію про кількість pod'ів, що очікують на виселення, та pod'ів, які вже виселені, у форматі, зрозумілому для людини, що періодично оновлюється, може змінюватися

    Для effect: None стан вказаний вище встановлюється один раз для кожної зміни специфікації, а повідомлення містить інформацію про те, що відбудеться, якщо ефект буде NoExecute. Цей відгук можна використовувати для прийняття рішення про те, чи зміна ефекту на NoExecute буде працювати як передбачалося. Він встановлюється тільки один раз, щоб уникнути необхідності постійного оновлення стану.

    Повинно бути не більше 8 записів.

    Condition містить детальну інформацію про один аспект поточного стану цього ресурсу API.

    • conditions.lastTransitionTime (Time), обовʼязково

      lastTransitionTime — це останній час, коли стан змінився з одного на інший. Це має бути момент, коли змінився базовий стан. Якщо це невідомо, то можна використовувати час, коли змінилося поле API.

      Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.

    • conditions.message (string), обовʼязково

      message — це повідомлення, яке може прочитати людина, із детальною інформацією про перехід. Це може бути порожній рядок.

    • conditions.reason (string), обовʼязково

      reason містить програмний ідентифікатор, що вказує причину останнього переходу стану. Постачальники конкретних типів станів можуть визначати очікувані значення та значення для цього поля, а також те, чи вважаються ці значення гарантованим API. Значення повинно бути рядком CamelCase. Це поле не може бути порожнім.

    • conditions.status (string), обовʼязково

      status стану, одне з True, False, Unknown.

    • conditions.type (string), обовʼязково

      type стану в форматі CamelCase або в foo.example.com/CamelCase.

    • conditions.observedGeneration (int64)

      observedGeneration представляє .metadata.generation, на основі якого було встановлено стан. Наприклад, якщо .metadata.generation наразі дорівнює 12, але .status.conditions[x].observedGeneration дорівнює 9, стан є застарілим стосовно поточного стану екземпляра.

DeviceTaintRuleList

DeviceTaintRuleList є колекцією DeviceTaintRules.


  • apiVersion: resource.k8s.io/v1beta2

  • kind: DeviceTaintRuleList

  • metadata (ListMeta)

    Стандартні метадані списку

  • items ([]DeviceTaintRule), обовʼязково

    Items є переліком DeviceTaintRules.

Операції


get отримати вказаний DeviceTaintRule

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя DeviceTaintRule

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

401: Unauthorized

get отримати статус вказаного DeviceTaintRule

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя DeviceTaintRule

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

401: Unauthorized

list перелік або перегляд обʼєктів типу DeviceTaintRule

HTTP Запит

GET /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри

Відповідь

200 (DeviceTaintRuleList): OK

401: Unauthorized

create створення DeviceTaintRule

HTTP Запит

POST /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри

Відповідь

200 (DeviceTaintRule): OK

201 (DeviceTaintRule): Created

202 (DeviceTaintRule): Accepted

401: Unauthorized

update заміна вказаного DeviceTaintRule

HTTP Запит

PUT /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя the DeviceTaintRule

  • body: DeviceTaintRule, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

201 (DeviceTaintRule): Created

401: Unauthorized

update заміна статусу вказаного DeviceTaintRule

HTTP Request

PUT /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя the DeviceTaintRule

  • body: DeviceTaintRule, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

201 (DeviceTaintRule): Created

401: Unauthorized

patch часткове оновлення вказаного DeviceTaintRule

HTTP Запит

PATCH /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри

  • name (в шляху): string, обовʼязково

    імʼя DeviceTaintRule

  • body: Patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

201 (DeviceTaintRule): Created

401: Unauthorized

patch часткове оновлення статусу вказаного DeviceTaintRule {#patch-partially-update-status-of-the-specified devicetaintrule}

HTTP Запит

PATCH /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}/status

Параметри

  • name (в шляху): string, обовʼязково

    імʼя DeviceTaintRule

  • body: Patch, обовʼязково

  • dryRun (в запиті): string

    dryRun

  • fieldManager (в запиті): string

    fieldManager

  • fieldValidation (в запиті): string

    fieldValidation

  • force (в запиті): boolean

    force

  • pretty (в запиті): string

    pretty

Відповідь

200 (DeviceTaintRule): OK

201 (DeviceTaintRule): Created

401: Unauthorized

delete видалення DeviceTaintRule

HTTP Запит

DELETE /apis/resource.k8s.io/v1beta2/devicetaintrules/{name}

Параметри

Відповідь

200 (DeviceTaintRule): OK

202 (DeviceTaintRule): Accepted

401: Unauthorized

deletecollection видалення колекції DeviceTaintRule

HTTP Запит

DELETE /apis/resource.k8s.io/v1beta2/devicetaintrules

Параметри

Відповідь

200 (Status): OK

401: Unauthorized

Востаннє змінено May 05, 2026 at 3:37 PM PST: [uk] Ukrainian translation (all-in-one) (f7bdd3ee72)