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)
Желаемое поведение этого демона. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
-
status (DaemonSetStatus)
Текущее состояние этого демона. Данные могут быть устаревшими. Заполняется системой. Только для чтения. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
DaemonSetSpec
DaemonSetSpec - это спецификация демона.
-
selector (LabelSelector), обязательно
Запрос метки для под, которые управляются демоном. Должно совпадать, чтобы быть подконтрольным. Оно должно соответствовать меткам шаблона под. Дополнительная информация: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
-
template (PodTemplateSpec), обязательно
Объект, описывающий под, который будет создан. DaemonSet создаст ровно одну копию этого под на каждом узле, который соответствует селектору узла шаблона (или на каждом узле, если селектор узла не указан). Единственное допустимое значение template.spec.restartPolicy - "Always". Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
-
minReadySeconds (int32)
Минимальное количество секунд, в течение которого только что созданный DaemonSet pod должен быть готов без сбоев контейнера, чтобы считаться доступным. По умолчанию 0 (под будет считаться доступным, как только он будет готов).
-
updateStrategy (DaemonSetUpdateStrategy)
Стратегия обновления для замены существующих DaemonSet под новыми.
DaemonSetUpdateStrategy - структура для управления стратегией обновления DaemonSet.
updateStrategy.type (строка)
Тип обновления демона. Может быть "RollingUpdate" или "OnDelete". По умолчанию RollingUpdate.
updateStrategy.rollingUpdate (RollingUpdateDaemonSet)
Параметры обновления Rolling Update. Присутствуют только если type = "RollingUpdate".
Спецификация для управления желаемым поведением обновления DaemonSet.
updateStrategy.rollingUpdate.maxSurge (IntOrString)
Максимальное количество узлов с существующим доступным DaemonSet под, у которого может быть обновленный DaemonSet под во время обновления. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества под (например, 10%). Это не может быть 0, если MaxUnavailable равно 0. Абсолютное число рассчитывается из процента, округляя до ближайшего целого, но не меньше 1. Значение по умолчанию - 0. Пример: когда это установлено на 30%, не более 30% от общего количества узлов, на которых должен выполняться DaemonSet под (т.е. status.desiredNumberScheduled) могут иметь созданный новый pod до того, как старый pod будет помечен как удалённый. Обновление начинается с запуска новых под на 30% узлов. Как только обновлённый pod становится доступным (готов в течение как минимум minReadySeconds), старый DaemonSet pod на этом узле помечается для удаления. Если старый pod становится недоступным по какой-либо причине (Ready переходит в false, удаляется или выключается), обновлённый pod немедленно создаётся на этом узле без учёта ограничений surge. Разрешение surge подразумевает возможность удвоения ресурсов, потребляемых daemonset на любом узле в случае сбоя проверки готовности, поэтому ресурсоёмкие daemonset должны учитывать, что они могут вызвать удаление во время нарушения.
IntOrString - тип, который может содержать int32 или строку. При использовании в JSON или YAML маршалинге и унмаршалинге он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
updateStrategy.rollingUpdate.maxUnavailable (IntOrString)
Максимальное количество DaemonSet pod, которые могут быть недоступны во время обновления. Значение может быть абсолютным числом (например, 5) или процентом от общего количества DaemonSet pod в начале обновления (например, 10%). Абсолютное число рассчитывается из процента, округляя вверх. Это не может быть 0, если MaxSurge равно 0. Значение по умолчанию - 1. Пример: если это установлено на 30%, не более 30% от общего количества узлов, на которых должен выполняться DaemonSet под (т.е. status.desiredNumberScheduled) могут иметь свои под остановлены для обновления в любой момент времени. Обновление начинается с остановки не более 30% этих DaemonSet под, а затем запускает новые DaemonSet под на их месте. После того, как новые под будут доступны, он перейдёт к другим DaemonSet под, обеспечивая, что как минимум 70% исходного количества DaemonSet под доступны во время обновления.
IntOrString - тип, который может содержать int32 или строку. При использовании в JSON или YAML маршалинге и унмаршалинге он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
-
revisionHistoryLimit (int32)
Количество старых версий истории для сохранения, чтобы разрешить откат. Это указатель, чтобы отличать явное значение нуля от отсутствия указания. По умолчанию 10.
DaemonSetStatus
DaemonSetStatus представляет текущее состояние демона.
-
numberReady (int32), обязательно
numberReady - количество узлов, на которых должен выполняться DaemonSet pod и на которых один или несколько DaemonSet pod выполняются с состоянием Ready.
-
numberAvailable (int32)
Количество узлов, на которых должен выполняться DaemonSet pod и на которых один или несколько DaemonSet pod выполняются и доступны (готовы как минимум spec.minReadySeconds).
-
numberUnavailable (int32)
Количество узлов, на которых должен выполняться DaemonSet pod и на которых ни один DaemonSet pod не выполняется и не доступен (не готов в течение как минимум spec.minReadySeconds).
-
numberMisscheduled (int32), обязательно
Количество узлов, на которых выполняется DaemonSet pod, но на которых он не должен выполняться. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
-
desiredNumberScheduled (int32), обязательно
Общее количество узлов, на которых должен выполняться DaemonSet pod (включая узлы, на которых правильно выполняется DaemonSet pod). Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
-
currentNumberScheduled (int32), обязательно
Количество узлов, на которых выполняется как минимум 1 DaemonSet pod и которые должны выполнять DaemonSet pod. Дополнительная информация: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
-
updatedNumberScheduled (int32)
Общее количество узлов, на которых выполняется обновлённый DaemonSet pod
-
collisionCount (int32)
Счётчик коллизий хешей для DaemonSet. Контроллер DaemonSet использует это поле в качестве механизма предотвращения коллизий, когда ему нужно создать имя для новейшей ControllerRevision.
-
conditions ([]DaemonSetCondition)
Стратегия патча: слияние по ключу
typeПредставляет последние доступные наблюдения текущего состояния DaemonSet.
DaemonSetCondition описывает состояние DaemonSet в определённый момент.
-
conditions.status (строка), обязательно
Статус условия, одно из True, False, Unknown.
-
conditions.type (строка), обязательно
Тип условия DaemonSet.
-
conditions.lastTransitionTime (Time)
Последнее время перехода условия из одного состояния в другое.
Time - оболочка вокруг time.Time, которая поддерживает правильную маршализацию в YAML и JSON. Оболочки предоставляются для многих фабричных методов, которые предоставляет пакет time.
-
conditions.message (строка)
Читаемое человеком сообщение, указывающее детали перехода.
-
conditions.reason (строка)
Причина последнего перехода условия.
-
-
observedGeneration (int64)
Последняя обработанная генерация, наблюдаемая контроллером демона.
DaemonSetList
DaemonSetList - это коллекция демонов.
-
apiVersion: apps/v1
-
kind: DaemonSetList
-
metadata (ListMeta)
Стандартные метаданные списка. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
items ([]DaemonSet), обязательно
Список демонов.
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-28.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/