DaemonSet
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
DaemonSet
DaemonSet представляє налаштування набору фонових служб (демонів).
apiVersion: apps/v1
kind: DaemonSet
metadata (ObjectMeta)
Стандартні метадані обʼєкта. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (DaemonSetSpec)
Бажана поведінка цього DaemonSet. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status (DaemonSetStatus)
Поточний стан цього DaemonSet. Ці дані можуть бути неактуальними протягом певного часу. Заповнюється системою. Тільки для читання. Більше інформації: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
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-templateminReadySeconds (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
Map: унікальні значення ключа 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.
apiVersion: apps/v1
kind: DaemonSetList
metadata (ListMeta)
Стандартні метадані списку. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]DaemonSet), обовʼязково
Список DaemonSet.
Операції
get
отримати вказаний DaemonSet
HTTP запит
GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}
Параметри
name (в шляху): string, обовʼязково
Назва DaemonSet.
namespace (в шляху): string, обовʼязково
pretty (в запиті): string
Відповідь
200 (DaemonSet): OK
401: Unauthorized
get
отримати статус вказаного DaemonSet
HTTP запит
GET /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}/status
Параметри
name (в шляху): string, обовʼязково
імʼя DaemonSet
namespace (в шляху): string, обовʼязково
pretty (в запиті): string
Відповідь
200 (DaemonSet): OK
401: Unauthorized
list
перелік або перегляд обʼєктів типу DaemonSet
HTTP запит
GET /apis/apps/v1/namespaces/{namespace}/daemonsets
Параметри
namespace (в шляху): string, обовʼязково
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (DaemonSetList): OK
401: Unauthorized
list
перелік або перегляд обʼєктів типу DaemonSet
HTTP запит
GET /apis/apps/v1/daemonsets
Параметри
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (DaemonSetList): OK
401: Unauthorized
create
створення DaemonSet
HTTP запит
POST /apis/apps/v1/namespaces/{namespace}/daemonsets
Параметри
namespace (в шляху): string, обовʼязково
body: DaemonSet, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
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, обовʼязково
body: DaemonSet, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
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, обовʼязково
body: DaemonSet, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (DaemonSet): OK
201 (DaemonSet): Created
401: Unauthorized
patch
часткове оновлення вказаного DaemonSet
HTTP запит
PATCH /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}
Параметри
name (в шляху): string, обовʼязково
назва DaemonSet
namespace (в шляху): string, обовʼязково
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
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, обовʼязково
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (DaemonSet): OK
201 (DaemonSet): Created
401: Unauthorized
delete
видалення DaemonSet
HTTP запит
DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets/{name}
Параметри
name (в шляху): string, обовʼязково
назва DaemonSet
namespace (в шляху): string, обовʼязково
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
Відповідь
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
видалення колекції DaemonSet
HTTP запит
DELETE /apis/apps/v1/namespaces/{namespace}/daemonsets
Параметри
namespace (в шляху): string, обовʼязково
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
Відповідь
200 (Status): OK
401: Unauthorized