RuntimeClass

RuntimeClass визначає клас середовища виконання контейнерів, підтримуваних у кластері.

apiVersion: node.k8s.io/v1

import "k8s.io/api/node/v1"

RuntimeClass

RuntimeClass визначає клас середовища виконання контейнерів, підтримуваних у кластері. RuntimeClass використовується для визначення, яке середовище виконання контейнерів використовується для запуску всіх контейнерів у Podʼі. RuntimeClass визначаються вручну користувачем або провайдером кластера і посилаються в PodSpec. Kubelet відповідає за розвʼязання посилання RuntimeClassName перед запуском Podʼа. Для отримання додаткової інформації дивіться: https://kubernetes.io/docs/concepts/containers/runtime-class/


  • apiVersion: node.k8s.io/v1

  • kind: RuntimeClass

  • metadata (ObjectMeta)

    Докладніше: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

  • handler (string), обовʼязково

    handler визначає базове середовище виконання та конфігурацію, яку реалізація CRI буде використовувати для обробки Podʼів цього класу. Можливі значення специфічні для конфігурації вузла та CRI. Припускається, що всі обробники доступні на кожному вузлі, і обробники з однаковими назвами еквівалентні на кожному вузлі. Наприклад, обробник з назвою "runc" може вказувати, що для запуску контейнерів у Podʼі буде використовуватися середовище виконання runc OCI (з використанням нативних Linux контейнерів). Handler повинен бути у нижньому регістрі, відповідати вимогам мітки DNS (RFC 1123) і бути незмінним.

  • overhead (Overhead)

    overhead представляє накладні витрати ресурсів, повʼязані з запуском Podʼа для даного RuntimeClass. Для отримання додаткової інформації дивіться https://kubernetes.io/docs/concepts/scheduling-eviction/pod-overhead/

    Структура Overhead представляє накладні витрати ресурсів, повʼязані з запуском Podʼа.

    • overhead.podFixed (map[string]Quantity)

      podFixed представляє фіксовані накладні витрати ресурсів, повʼязані з запуском Podʼа.

  • scheduling (Scheduling)

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

    Scheduling визначає обмеження планування для вузлів, які підтримують RuntimeClass.

    • scheduling.nodeSelector (map[string]string)

      nodeSelector перераховує мітки, які повинні бути присутніми на вузлах, що підтримують цей RuntimeClass. Podʼи, що використовують цей RuntimeClass, можуть бути розміщені тільки на вузлах, що відповідають цьому селектору. Селектор вузла RuntimeClass обʼєднується з наявним селектором вузла Podʼа. Будь-які конфлікти призведуть до відхилення Podʼа на етапі допуску.

    • scheduling.tolerations ([]Toleration)

      Atomic: буде замінено під час злиття

      tolerations додаються (за винятком дублікатів) до Podʼів, що працюють з цим RuntimeClass під час допуску, ефективно обʼєднуючи набір вузлів, які Pod та RuntimeClass можуть толерувати.

      Pod, до якого привʼязаний цей Toleration, толерує будь-який taint, що відповідає трійці <key,value,effect> за допомогою оператора порівняння .

      • scheduling.tolerations.key (string)

        Key — це ключ taint, до якого застосовується toleration. Порожній ключ означає відповідність всім ключам taint. Якщо ключ порожній, оператор повинен бути Exists; ця комбінація означає відповідність усім значенням та всім ключам.

      • scheduling.tolerations.operator (string)

        Operator представляє відношення ключа до значення. Допустимі оператори: Exists і Equal. Стандартне значення — Equal. Exists еквівалентно шаблону для значення, так що Pod може толерувати всі taints певної категорії.

      • scheduling.tolerations.value (string)

        Value — це значення taint, з яким збігається toleration. Якщо оператор Exists, значення повинно бути порожнім, інакше — це просто звичайний рядок.

      • scheduling.tolerations.effect (string)

        Effect вказує ефект taint для порівняння. Порожній означає відповідність всім ефектам taint. Якщо вказано, допустимі значення — NoSchedule, PreferNoSchedule та NoExecute.

      • scheduling.tolerations.tolerationSeconds (int64)

        TolerationSeconds представляє період часу, протягом якого toleration (який повинен мати ефект NoExecute, інакше це поле ігнорується) толерує taint. Стандартне значення — не встановлено, що означає толерування taint назавжди (не виселяти). Нульові та відʼємні значення будуть розглядатися системою як 0 (негайне виселення).

RuntimeClassList

RuntimeClassList — це список обʼєктів RuntimeClass.


Операції


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

HTTP запит

GET /apis/node.k8s.io/v1/runtimeclasses/{name}

Параметри

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

    імʼя RuntimeClass

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

    pretty

Відповідь

200 (RuntimeClass): OK

401: Unauthorized

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

HTTP запит

GET /apis/node.k8s.io/v1/runtimeclasses

Параметри

Відповідь

200 (RuntimeClassList): OK

401: Unauthorized

create створення RuntimeClass

HTTP запит

POST /apis/node.k8s.io/v1/runtimeclasses

Параметри

Відповідь

200 (RuntimeClass): OK

201 (RuntimeClass): Created

202 (RuntimeClass): Accepted

401: Unauthorized

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

HTTP запит

PUT /apis/node.k8s.io/v1/runtimeclasses/{name}

Параметри

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

    імʼя RuntimeClass

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    pretty

Відповідь

200 (RuntimeClass): OK

201 (RuntimeClass): Created

401: Unauthorized

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

HTTP запит

PATCH /apis/node.k8s.io/v1/runtimeclasses/{name}

Параметри

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

    імʼя RuntimeClass

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    force

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

    pretty

Відповідь

200 (RuntimeClass): OK

201 (RuntimeClass): Created

401: Unauthorized

delete видалення RuntimeClass

HTTP запит

DELETE /apis/node.k8s.io/v1/runtimeclasses/{name}

Параметри

Відповідь

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

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

HTTP запит

DELETE /apis/node.k8s.io/v1/runtimeclasses

Параметри

Відповідь

200 (Status): OK

401: Unauthorized

Змінено September 06, 2024 at 4:29 PM PST: upstream sync (b8cab2cff8)