apiVersion: resource.k8s.io/v1alpha3
import "k8s.io/api/resource/v1alpha3"
DeviceTaintRule додає одну позначку taint до всіх пристроїв, які відповідають селектору. Це має той самий ефект, як якби позначку taint було вказано безпосередньо в ResourceSlice драйвером DRA.
apiVersion: resource.k8s.io/v1alpha3
kind: DeviceTaintRule
metadata (ObjectMeta)
Стандартні метадані обʼєкта
spec (DeviceTaintRuleSpec), обовʼязково
Spec визначає селектор та одну позначку taint.
Зміна spec автоматично збільшує номер metadata.generation.
status (DeviceTaintRuleStatus)
Status надає інформацію про те, що було запрошено в специфікації.
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ʼам планувати використання tainted device, якщо вони не толерують taint, але дозволяти всім podʼам, надісланим до Kubelet без проходження через планувальник, запускатися, і дозволяти всім вже запущеним podʼам продовжувати працювати."None" Немає ефекту, позначка taint є суто інформаційною.taint.key (string), обовʼязково
Ключ taint може бути застосований до пристрою. Має бути імʼям мітки.
taint.timeAdded (Time)
TimeAdded представляє час коли taint було додано. Додається автоматично під час створення або оновлення, якщо не встановлено..
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 надає інформацію про поточне виселення подів.
conditions ([]Condition)
Patch strategy: обʼєднання за ключем type
Map: унікальні значення ключа type будуть збережені під час злиття
Conditions надають інформацію про стан DeviceTaintRule та кластера в певний момент часу у форматі, придатному для читання машиною та людиною.
Наразі в рамках цього API визначено такий стан, але можуть бути додані й інші:
Для 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 є колекцією DeviceTaintRules.
apiVersion: resource.k8s.io/v1alpha3
kind: DeviceTaintRuleList
metadata (ListMeta)
Стандартні метадані списку
items ([]DeviceTaintRule), обовʼязково
Items є переліком DeviceTaintRules.
get отримати вказаний DeviceTaintRuleGET /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}
name (в шляху): string, обовʼязково
імʼя DeviceTaintRule
pretty (в запиті): string
200 (DeviceTaintRule): OK
401: Unauthorized
get отримати статус вказаного DeviceTaintRuleGET /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}/status
name (в шляху): string, обовʼязково
імʼя DeviceTaintRule
pretty (в запиті): string
200 (DeviceTaintRule): OK
401: Unauthorized
list перелік або перегляд обʼєктів типу DeviceTaintRuleGET /apis/resource.k8s.io/v1alpha3/devicetaintrules
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
200 (DeviceTaintRuleList): OK
401: Unauthorized
create створення DeviceTaintRulePOST /apis/resource.k8s.io/v1alpha3/devicetaintrules
body: DeviceTaintRule, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
200 (DeviceTaintRule): OK
201 (DeviceTaintRule): Created
202 (DeviceTaintRule): Accepted
401: Unauthorized
update заміна вказаного DeviceTaintRulePUT /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}
name (в шляху): string, обовʼязково
імʼя the DeviceTaintRule
body: DeviceTaintRule, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
200 (DeviceTaintRule): OK
201 (DeviceTaintRule): Created
401: Unauthorized
update заміна статусу вказаного DeviceTaintRulePUT /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}/status
name (в шляху): string, обовʼязково
імʼя the DeviceTaintRule
body: DeviceTaintRule, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
200 (DeviceTaintRule): OK
201 (DeviceTaintRule): Created
401: Unauthorized
patch часткове оновлення вказаного DeviceTaintRulePATCH /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}
name (в шляху): string, обовʼязково
імʼя DeviceTaintRule
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
200 (DeviceTaintRule): OK
201 (DeviceTaintRule): Created
401: Unauthorized
patch часткове оновлення статусу вказаного DeviceTaintRule {#patch-partially-update-status-of-the-specified devicetaintrule}PATCH /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}/status
name (в шляху): string, обовʼязково
імʼя DeviceTaintRule
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
200 (DeviceTaintRule): OK
201 (DeviceTaintRule): Created
401: Unauthorized
delete видалення DeviceTaintRuleDELETE /apis/resource.k8s.io/v1alpha3/devicetaintrules/{name}
name (в шляху): string, обовʼязково
імʼя DeviceTaintRule
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
pretty (в запиті): string
propagationPolicy (в запиті): string
200 (DeviceTaintRule): OK
202 (DeviceTaintRule): Accepted
401: Unauthorized
deletecollection видалення колекції DeviceTaintRuleDELETE /apis/resource.k8s.io/v1alpha3/devicetaintrules
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
ignoreStoreReadErrorWithClusterBreakingPotential (в запиті): boolean
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
200 (Status): OK
401: Unauthorized
Цю сторінку було стоврено автоматично.
Якщо у вас є наміри надіслати пропозиції щодо неї, додайте згадку, про те що сторінку створено автоматично в описі вашого повідомлення. Зміни мають відбутись всюди в проєкті Kubernetes.