DaemonSet

DaemonSet представляє налаштування набору фонових служб (демонів).

apiVersion: apps/v1

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

DaemonSet

DaemonSet представляє налаштування набору фонових служб (демонів).


DaemonSetSpec

DaemonSetSpec є специфікацією DaemonSet.


  • selector (LabelSelector), обовʼязково

    Запит міток для Podʼів, якими керує набір демонів. Має мати збіг з міткам шаблону Pod. Докладніше: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

  • template (PodTemplateSpec), обовʼязково

    Обʼєкт, який описує Pod, який буде створено. DaemonSet створює рівно одну копію цього Pod на кожному вузлі, який відповідає селектору вузлів шаблону (або на кожному вузлі, якщо селектор вузлів не вказано). Єдине допустиме значення параметра restartPolicy шаблону — "Always". Докладніше: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template

  • minReadySeconds (int32)

    Мінімальна кількість секунд, протягом яких новий Pod DaemonSet має бути готовим без збоїв будь-якого з його контейнерів, щоб вважатися доступним. Стандартне значення — 0 (Pod вважається доступним, як тільки він буде готовим).

  • updateStrategy (DaemonSetUpdateStrategy)

    Стратегія оновлення для заміни поточних Podʼів DaemonSet новими Podʼами.

    DaemonSetUpdateStrategy є структурою, що використовується для управління стратегією оновлення для DaemonSet.

    • updateStrategy.type (string)

      Тип оновлення набору демонів. Може бути "RollingUpdate" або "OnDelete". Стандартне значення — RollingUpdate.

    • updateStrategy.rollingUpdate (RollingUpdateDaemonSet)

      Налаштування параметрів постійного оновлення. Присутній тільки якщо type = "RollingUpdate".

      Spec для контролю небхідної поведінки постійного оновлення набору демонів.

      • updateStrategy.rollingUpdate.maxSurge (IntOrString)

        Максимальна кількість вузлів з навним доступним Pod DaemonSet, яка може мати оновлений Pod DaemonSet під час оновлення. Значення може бути абсолютним числом (наприклад, 5) або відсотком від бажаних Podʼів (наприклад, 10%). Це не може бути 0, якщо MaxUnavailable дорівнює 0. Абсолютне число обчислюється з відсотка, округленого в більшу сторону до мінімуму 1. Стандартне значення — 0. Наприклад: коли це встановлено на 30%, як максимум 30% від загальної кількості вузлів, повинні мати Pod демона (тобто status.desiredNumberScheduled), можуть мати свій новий Pod створений до того, як старий Pod буде видалений. Оновлення починається з запуску нових Podʼів на 30% вузлів. Як тільки оновлений Pod доступний (готовий протягом принаймні minReadySeconds), старий Pod DaemonSet на цьому вузлі позначається як видалений. Якщо старий Pod стає недоступним з будь-якої причини (готовність переходить у false, його виселяють або переносять з вузла), на цьому вузлі негайно створюється оновлений Pod без урахування обмежень по сплеску навантаження. Дозвіл на сплеск означає можливість подвоєння ресурсів, які використовуються DaemonSet на будь-якому вузлі, якщо перевірка готовності не вдається, тому ресурсомісткі DaemonSet повинні враховувати, що вони можуть спричинити виселення під час розладу.

        IntOrString — це тип, який може містити int32 або рядок. При використанні перетворення з/в JSON або YAML він виробляє або споживає внутрішній тип. Це дозволяє вам мати, наприклад, поле JSON, яке може приймати імʼя або число.

      • updateStrategy.rollingUpdate.maxUnavailable (IntOrString)

        Максимальна кількість Podʼів DaemonSet, які можуть бути недоступні під час оновлення. Значення може бути абсолютним числом (наприклад, 5) або відсотком від загальної кількості Podʼів DaemonSet на початок оновлення (наприклад, 10%). Абсолютне число обчислюється з відсотка, округленого в більшу сторону. Це не може бути 0, якщо MaxSurge дорівнює 0. Стандартне значення — 1. Наприклад: коли це встановлено на 30%, максимум 30% від загальної кількості вузлів, які повинні виконувати Pod демона (тобто status.desiredNumberScheduled), можуть мати свої Pod зупинені для оновлення в будь-який час. Оновлення починається з зупинки не більше 30% цих Podʼів DaemonSet і потім запускає нові Pod DaemonSet на їх місця. Після того, як нові Pod стануть доступними, вони продовжують роботу з іншими Podʼами DaemonSet, забезпечуючи тим самим, що принаймні 70% від початкової кількості Podʼів DaemonSet доступні.

        IntOrString — це тип, який може містити int32 або рядок. При використанні перетворення з/в JSON або YAML він виробляє або споживає внутрішній тип. Це дозволяє вам мати, наприклад, поле JSON, яке може приймати імʼя або число.

  • revisionHistoryLimit (int32)

    Кількість версій історії, яку потрібно зберегти, щоб дозволити відкат. Це вказівник для розрізнення між явним нулем та не вказаним значенням. Стандартне значення — 10.

DaemonSetStatus

DaemonSetStatus представляє поточний стан DaemonSet.


  • numberReady (int32), обовʼязково

    Кількість вузлів, на яких має бути запущений Pod демона й один або кілька з них у стані Ready.

  • numberAvailable (int32)

    Кількість вузлів, на яких має бути запущений Pod демона й один або кілька з них запущені та доступні (готові щонайменше протягом spec.minReadySeconds).

  • numberUnavailable (int32)

    Кількість вузлів, на яких має бути запущений Pod демона, але жоден з них не запущений і доступний (готовий щонайменше протягом spec.minReadySeconds).

  • numberMisscheduled (int32), обовʼязково

    Кількість вузлів, на яких запущений Pod демона, але вони не повинні його виконувати. Додаткова інформація: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

  • desiredNumberScheduled (int32), обовʼязково

    Загальна кількість вузлів, на яких має бути запущений Pod демона (включаючи вузли, на яких Pod демона вже правильно запущений). Додаткова інформація: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

  • currentNumberScheduled (int32), обовʼязково

    Кількість вузлів, на яких запущено принаймні один Pod демона і які повинні виконувати Pod демона. Додаткова інформація: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

  • updatedNumberScheduled (int32)

    Загальна кількість вузлів, на яких запущено оновлений Pod демона.

  • collisionCount (int32)

    Кількість колізій хешів для DaemonSet. Контролер DaemonSet використовує це поле як механізм уникнення колізій при створенні імені для найновішого ControllerRevision.

  • conditions ([]DaemonSetCondition)

    Patch strategy: злиття за ключем type

    Представляє останні доступні спостереження поточного стану DaemonSet.

    DaemonSetCondition описує стан DaemonSet у певний момент часу.

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

      Статус стану, один із True, False, Unknown.

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

      Тип стану DaemonSet.

    • conditions.lastTransitionTime (Time)

      Час останнього зміни стану з одного статусу до іншого.

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

    • conditions.message (string)

      Повідомлення, зрозуміле людині, із зазначенням деталей про перехід.

    • conditions.reason (string)

      Причина останньої зміни стану.

  • observedGeneration (int64)

    Останнє покоління, яке спостерігається контролером набору демонів.

DaemonSetList

DaemonSetList є колекцією DaemonSet.


Операції


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

HTTP запит

GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

Параметри

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

    Назва DaemonSet.

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

    namespace

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

    pretty

Відповідь

200 (DaemonSet): OK

401: Unauthorized

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

HTTP запит

GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

Параметри

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

    імʼя DaemonSet

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

    namespace

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

    pretty

Відповідь

200 (DaemonSet): OK

401: Unauthorized

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

HTTP запит

GET /apis/apps/v1/namespaces/{namespace}/daemonsets

Параметри

Відповідь

200 (DaemonSetList): OK

401: Unauthorized

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

HTTP запит

GET /apis/apps/v1/daemonsets

Параметри

Відповідь

200 (DaemonSetList): OK

401: Unauthorized

create створення DaemonSet

HTTP запит

POST /apis/apps/v1/namespaces/{namespace}/daemonsets

Параметри

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

    namespace

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    pretty

Відповідь

200 (DaemonSet): OK

201 (DaemonSet): Created

202 (DaemonSet): Accepted

401: Unauthorized

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

HTTP запит

PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

Параметри

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

    назва DaemonSet

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

    namespace

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    pretty

Відповідь

200 (DaemonSet): OK

201 (DaemonSet): Created

401: Unauthorized

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

HTTP запит

PUT /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

Параметри

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

    назва DaemonSet

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

    namespace

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    pretty

Відповідь

200 (DaemonSet): OK

201 (DaemonSet): Created

401: Unauthorized

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

HTTP запит

PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

Параметри

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

    назва DaemonSet

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

    namespace

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    force

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

    pretty

Відповідь

200 (DaemonSet): OK

201 (DaemonSet): Created

401: Unauthorized

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

HTTP запит

PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status

Параметри

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

    назва DaemonSet

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

    namespace

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

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

    dryRun

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

    fieldManager

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

    fieldValidation

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

    force

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

    pretty

Відповідь

200 (DaemonSet): OK

201 (DaemonSet): Created

401: Unauthorized

delete видалення DaemonSet

HTTP запит

DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}

Параметри

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

    назва DaemonSet

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

    namespace

  • body: DeleteOptions

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

    dryRun

  • gracePeriodSeconds (в запиті): integer

    gracePeriodSeconds

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

    pretty

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

    propagationPolicy

Відповідь

200 (Status): OK

202 (Status): Accepted

401: Unauthorized

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

HTTP запит

DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets

Параметри

Відповідь

200 (Status): OK

401: Unauthorized

Змінено June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)