NodeGroup
Scope: Cluster
Описывает runtime-параметры группы узлов.
- specобъект
Обязательный параметр
- chaosобъект
Настройки chaos monkey.
Пример:
mode: DrainAndReboot period: 24h
- modeстрока
Режим работы chaos monkey:
DrainAndDelete
— при срабатывании делает узлу drain, затем удаляет его;Disabled
— не трогает данную NodeGroup.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,DrainAndDelete
- periodстрока
Интервал времени срабатывания chaos monkey (указывать можно в Go-формате).
По умолчанию:
"6h"
Шаблон:
^[0-9]+[mh]{1}$
- modeстрока
- cloudInstancesобъект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- classReferenceобъект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- kindстрока
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля cloud provider.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
- nameстрока
Имя нужного
InstanceClass
-объекта (например,finland-medium
).
- kindстрока
- maxPerZoneцелочисленный
Обязательный параметр
Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.
Допустимые значения:
0 <= X
- maxSurgePerZoneцелочисленный
Количество одновременно создаваемых инстансов при scale-up.
По умолчанию:
1
Допустимые значения:
0 <= X
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- minPerZoneцелочисленный
Обязательный параметр
Минимальное количество инстансов в зоне. Проставляется в объект
MachineDeployment
и в качестве нижней границы в cluster autoscaler.Допустимые значения:
0 <= X
- standbyстрока или число
Суммарное количество подогретых инстансов для этой
NodeGroup
во всех зонах.Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Абсолютное значение рассчитывается из процента от максимального количества узлов путем округления в меньшую сторону, но минимум —1
.Шаблон:
^[0-9]+%?$
- standbyHolderобъект
Параметры занимателя ресурсов для подогретых инстансов.
- notHeldResourcesобъект
Ресурсы, которые не будут заняты.
- cpuстрока или число
Количество CPU.
Значение может быть абсолютным (например,
1
) или в millicore-формате (например,1500m
).Шаблон:
^[0-9]+m?$
- memoryстрока или число
Количество памяти.
Значение может быть абсолютным в байтах (например,
128974848
) или в Kubernetes-формате с суффиксами:G
,Gi
,M
,Mi
(например,750Mi
).Шаблон:
^[0-9]+(E|P|T|G|M|K|Ei|Pi|Ti|Gi|Mi|Ki)?$
- cpuстрока или число
- notHeldResourcesобъект
- zonesмассив строк
Переопределение перечня зон, в которых создаются инстансы.
Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.
Пример:
zones: - Helsinki - Espoo - Tampere
- classReferenceобъект
- criобъект
Параметры container runtime.
- containerdобъект
Параметры работы Containerd.
При настройке этих параметров
cri.type
должен быть —Containerd
.- maxConcurrentDownloadsцелочисленный
Максимальное количество параллельных потоков загрузки для каждой операции pull.
По умолчанию:
3
- maxConcurrentDownloadsцелочисленный
- dockerобъект
Параметры настройки Docker.
- manageбулевый
Автоматическое управление версией и параметрами Docker.
По умолчанию:
true
- maxConcurrentDownloadsцелочисленный
Максимальное количество потоков одновременного скачивания Docker-образов.
По умолчанию:
3
- manageбулевый
- notManagedобъект
Настройки для CRI, установленных на узлах вручную.
- criSocketPathстрока
Путь к сокету CRI.
- criSocketPathстрока
- typeстрока
Тип container runtime.
Если не указан, используется значение
defaultCRI
из первичной конфигурации кластера (параметрcluster-configuration.yaml
Secret’аd8-cluster-configuration
в пространстве именkube-system
), которая создается при установке.Допустимые значения:
Docker
,Containerd
,NotManaged
- containerdобъект
- disruptionsобъект
Параметры обновлений, приводящих к возможному простою.
- approvalModeстрока
Обязательный параметр
Режим выдачи разрешения на disruptive-обновление:
Manual
— отключить автоматическую выдачу разрешений на disruption. Когда disruption потребуется — загорится специальный алерт;Automatic
— автоматически выдавать разрешения на disruption при обновлении (значение по умолчанию).
Допустимые значения:
Manual
,Automatic
- automaticобъект
Дополнительные параметры для режима
Automatic
.- drainBeforeApprovalбулевый
Выгон (draining) Pod’ов с узла перед выдачей разрешения на disruption.
По умолчанию:
true
- windowsмассив объектов
Список окон disruption-обновлений узлов.
- daysмассив строк
Дни недели, в которые применяется окно обновлений.
Допустимые значения элемента массива:
Mon
,Tue
,Wed
,Thu
,Fri
,Sat
,Sun
- fromстрока
Обязательный параметр
Время начала окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
from: '13:00'
- toстрока
Обязательный параметр
Время окончания окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
to: '18:30'
- daysмассив строк
- drainBeforeApprovalбулевый
- approvalModeстрока
- kubeletобъект
Параметры настройки kubelet.
- containerLogMaxFilesцелочисленный
Максимальное количество файлов журналов с учетом ротации.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
4
Допустимые значения:
1 <= X <= 20
- containerLogMaxSizeстрока
Максимальный размер файла журнала до того, как он будет ротирован.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
"50Mi"
Шаблон:
\d+[Ei|Pi|Ti|Gi|Mi|Ki|E|P|T|G|M|k|m]
- maxPodsцелочисленный
Максимальное количество Pod’ов на узлах данной
NodeGroup
.По умолчанию:
110
- rootDirстрока
Путь к каталогу для файлов kubelet (volume mounts, и т.д.).
По умолчанию:
"/var/lib/kubelet"
- containerLogMaxFilesцелочисленный
- nodeTemplateобъект
Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узла.
Пример:
labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: "true" taints: - effect: NoExecute key: ship-class value: frigate
- annotationsобъект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: "true"
- labelsобъект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- taintsмассив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- effectстрока
Допустимые значения:
NoSchedule
,PreferNoSchedule
,NoExecute
- keyстрока
- valueстрока
- effectстрока
- annotationsобъект
- nodeTypeстрока
Обязательный параметр
Тип узлов, которые представляет эта группа:
CloudEphemeral
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;CloudPermanent
— узлы этой группы берутся изProviderClusterConfiguration
и создаются/удаляются через dhctl;CloudStatic
— статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака, соответствующий ему Node-объект будет удален в Kubernetes;Static
— статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом, даже если включен один из облачных провайдеров.
Допустимые значения:
CloudEphemeral
,CloudPermanent
,CloudStatic
,Static
- operatingSystemобъект
Параметры операционной системы.
- manageKernelбулевый
Автоматическое управление ядром операционной системы.
По умолчанию:
true
- manageKernelбулевый
- updateобъект
- maxConcurrentстрока или число
Максимальное количество одновременно обновляемых узлов. Можно указать число узлов или процент от общего количества узлов в данной группе.
По умолчанию:
1
Шаблон:
^[1-9][0-9]*%?$
- maxConcurrentстрока или число
- chaosобъект
Описывает runtime-параметры группы узлов.
- specобъект
Обязательный параметр
- chaosобъект
Настройки chaos monkey.
Пример:
mode: DrainAndReboot period: 24h
- modeстрока
Режим работы chaos monkey:
DrainAndDelete
— при срабатывании делает узлу drain, затем удаляет его;Disabled
— не трогает данную NodeGroup.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,DrainAndDelete
- periodстрока
Интервал времени срабатывания chaos monkey (указывать можно в Go-формате).
По умолчанию:
"6h"
Шаблон:
^[0-9]+[mh]{1}$
- modeстрока
- cloudInstancesобъект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- classReferenceобъект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- kindстрока
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля cloud provider.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
- nameстрока
Имя нужного
InstanceClass
-объекта (например,finland-medium
).
- kindстрока
- maxPerZoneцелочисленный
Обязательный параметр
Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.
Допустимые значения:
0 <= X
- maxSurgePerZoneцелочисленный
Количество одновременно создаваемых инстансов при scale-up.
По умолчанию:
1
Допустимые значения:
0 <= X
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- minPerZoneцелочисленный
Обязательный параметр
Минимальное количество инстансов в зоне. Проставляется в объект
MachineDeployment
и в качестве нижней границы в cluster autoscaler.Допустимые значения:
0 <= X
- standbyстрока или число
Суммарное количество подогретых инстансов для этой
NodeGroup
во всех зонах.Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Абсолютное значение рассчитывается из процента от максимального количества узлов путем округления в меньшую сторону, но минимум —1
.Шаблон:
^[0-9]+%?$
- standbyHolderобъект
Параметры занимателя ресурсов для подогретых инстансов.
- notHeldResourcesобъект
Ресурсы, которые не будут заняты.
- cpuстрока или число
Количество CPU.
Значение может быть абсолютным (например,
1
) или в millicore-формате (например,1500m
).Шаблон:
^[0-9]+m?$
- memoryстрока или число
Количество памяти.
Значение может быть абсолютным в байтах (например,
128974848
) или в Kubernetes-формате с суффиксами:G
,Gi
,M
,Mi
(например,750Mi
).Шаблон:
^[0-9]+(E|P|T|G|M|K|Ei|Pi|Ti|Gi|Mi|Ki)?$
- cpuстрока или число
- notHeldResourcesобъект
- zonesмассив строк
Переопределение перечня зон, в которых создаются инстансы.
Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.
Пример:
zones: - Helsinki - Espoo - Tampere
- classReferenceобъект
- criобъект
Параметры container runtime.
- containerdобъект
Параметры работы Containerd.
При настройке этих параметров
cri.type
должен быть —Containerd
.- maxConcurrentDownloadsцелочисленный
Максимальное количество параллельных потоков загрузки для каждой операции pull.
По умолчанию:
3
- maxConcurrentDownloadsцелочисленный
- dockerобъект
Параметры настройки Docker.
- manageбулевый
Автоматическое управление версией и параметрами Docker.
По умолчанию:
true
- maxConcurrentDownloadsцелочисленный
Максимальное количество потоков одновременного скачивания Docker-образов.
По умолчанию:
3
- manageбулевый
- notManagedобъект
Настройки для CRI, установленных на узлах вручную.
- criSocketPathстрока
Путь к сокету CRI.
- criSocketPathстрока
- typeстрока
Тип container runtime.
Если не указан, используется значение
defaultCRI
из первичной конфигурации кластера (параметрcluster-configuration.yaml
Secret’аd8-cluster-configuration
в пространстве именkube-system
), которая создается при установке.Допустимые значения:
Docker
,Containerd
,NotManaged
- containerdобъект
- disruptionsобъект
Параметры обновлений, приводящих к возможному простою.
- approvalModeстрока
Обязательный параметр
Режим выдачи разрешения на disruptive-обновление:
Manual
— отключить автоматическую выдачу разрешений на disruption. Когда disruption потребуется — загорится специальный алерт;Automatic
— автоматически выдавать разрешения на disruption при обновлении (значение по умолчанию).
Допустимые значения:
Manual
,Automatic
- automaticобъект
Дополнительные параметры для режима
Automatic
.- drainBeforeApprovalбулевый
Выгон (draining) Pod’ов с узла перед выдачей разрешения на disruption.
По умолчанию:
true
- windowsмассив объектов
Список окон disruption-обновлений узлов.
- daysмассив строк
Дни недели, в которые применяется окно обновлений.
Допустимые значения элемента массива:
Mon
,Tue
,Wed
,Thu
,Fri
,Sat
,Sun
- fromстрока
Обязательный параметр
Время начала окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
from: '13:00'
- toстрока
Обязательный параметр
Время окончания окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
to: '18:30'
- daysмассив строк
- drainBeforeApprovalбулевый
- approvalModeстрока
- kubeletобъект
Параметры настройки kubelet.
- containerLogMaxFilesцелочисленный
Максимальное количество файлов журналов с учетом ротации.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
4
Допустимые значения:
1 <= X <= 20
- containerLogMaxSizeстрока
Максимальный размер файла журнала до того, как он будет ротирован.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
"50Mi"
Шаблон:
\d+[Ei|Pi|Ti|Gi|Mi|Ki|E|P|T|G|M|k|m]
- maxPodsцелочисленный
Максимальное количество Pod’ов на узлах данной
NodeGroup
.По умолчанию:
110
- rootDirстрока
Путь к каталогу для файлов kubelet (volume mounts, и т.д.).
По умолчанию:
"/var/lib/kubelet"
- containerLogMaxFilesцелочисленный
- nodeTemplateобъект
Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узла.
Пример:
labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: "true" taints: - effect: NoExecute key: ship-class value: frigate
- annotationsобъект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: "true"
- labelsобъект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- taintsмассив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- effectстрока
Допустимые значения:
NoSchedule
,PreferNoSchedule
,NoExecute
- keyстрока
- valueстрока
- effectстрока
- annotationsобъект
- nodeTypeстрока
Обязательный параметр
Тип узлов, которые представляет эта группа:
Cloud
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;Static
— статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом даже если включен один из облачных провайдеров;Hybrid
— статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему Node-объект будет удален в Kubernetes.
Допустимые значения:
Cloud
,Static
,Hybrid
- operatingSystemобъект
Параметры операционной системы.
- manageKernelбулевый
Автоматическое управление ядром операционной системы.
По умолчанию:
true
- manageKernelбулевый
- chaosобъект
Описывает runtime-параметры группы узлов.
- specобъект
Обязательный параметр
- chaosобъект
Настройки chaos monkey.
Пример:
mode: DrainAndReboot period: 24h
- modeстрока
Режим работы chaos monkey:
DrainAndDelete
— при срабатывании делает узлу drain, затем удаляет его;Disabled
— не трогает данную NodeGroup.
По умолчанию:
"Disabled"
Допустимые значения:
Disabled
,DrainAndDelete
- periodстрока
Интервал времени срабатывания chaos monkey (указывать можно в Go-формате).
По умолчанию:
"6h"
Шаблон:
^[0-9]+[mh]{1}$
- modeстрока
- cloudInstancesобъект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- classReferenceобъект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- kindстрока
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля cloud provider.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
- nameстрока
Имя нужного
InstanceClass
-объекта (например,finland-medium
).
- kindстрока
- maxPerZoneцелочисленный
Обязательный параметр
Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.
Допустимые значения:
0 <= X
- maxSurgePerZoneцелочисленный
Количество одновременно создаваемых инстансов при scale-up.
По умолчанию:
1
Допустимые значения:
0 <= X
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- minPerZoneцелочисленный
Обязательный параметр
Минимальное количество инстансов в зоне. Проставляется в объект
MachineDeployment
и в качестве нижней границы в cluster autoscaler.Допустимые значения:
0 <= X
- standbyстрока или число
Суммарное количество подогретых инстансов для этой
NodeGroup
во всех зонах.Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Абсолютное значение рассчитывается из процента от максимального количества узлов путем округления в меньшую сторону, но минимум —1
.Шаблон:
^[0-9]+%?$
- standbyHolderобъект
Параметры занимателя ресурсов для подогретых инстансов.
- notHeldResourcesобъект
Ресурсы, которые не будут заняты.
- cpuстрока или число
Количество CPU.
Значение может быть абсолютным (например,
1
) или в millicore-формате (например,1500m
).Шаблон:
^[0-9]+m?$
- memoryстрока или число
Количество памяти.
Значение может быть абсолютным в байтах (например,
128974848
) или в Kubernetes-формате с суффиксами:G
,Gi
,M
,Mi
(например,750Mi
).Шаблон:
^[0-9]+(E|P|T|G|M|K|Ei|Pi|Ti|Gi|Mi|Ki)?$
- cpuстрока или число
- notHeldResourcesобъект
- zonesмассив строк
Переопределение перечня зон, в которых создаются инстансы.
Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.
Пример:
zones: - Helsinki - Espoo - Tampere
- classReferenceобъект
- criобъект
Параметры container runtime.
- containerdобъект
Параметры работы Containerd.
При настройке этих параметров
cri.type
должен быть —Containerd
.- maxConcurrentDownloadsцелочисленный
Максимальное количество параллельных потоков загрузки для каждой операции pull.
По умолчанию:
3
- maxConcurrentDownloadsцелочисленный
- typeстрока
Тип container runtime.
Если не указан, используется значение
defaultCRI
из первичной конфигурации кластера (параметрcluster-configuration.yaml
Secret’аd8-cluster-configuration
в пространстве именkube-system
), которая создается при установке.Допустимые значения:
Docker
,Containerd
,NotManaged
- containerdобъект
- disruptionsобъект
Параметры обновлений, приводящих к возможному простою.
- approvalModeстрока
Обязательный параметр
Режим выдачи разрешения на disruptive-обновление:
Manual
— отключить автоматическую выдачу разрешений на disruption. Когда disruption потребуется — загорится специальный алерт;Automatic
— автоматически выдавать разрешения на disruption при обновлении (значение по умолчанию).
Допустимые значения:
Manual
,Automatic
- automaticобъект
Дополнительные параметры для режима
Automatic
.- drainBeforeApprovalбулевый
Выгон (draining) Pod’ов с узла перед выдачей разрешения на disruption.
По умолчанию:
true
- windowsмассив объектов
Список окон disruption-обновлений узлов.
- daysмассив строк
Дни недели, в которые применяется окно обновлений.
Допустимые значения элемента массива:
Mon
,Tue
,Wed
,Thu
,Fri
,Sat
,Sun
- fromстрока
Обязательный параметр
Время начала окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
from: '13:00'
- toстрока
Обязательный параметр
Время окончания окна обновления (в часовом поясе UTC).
Шаблон:
^(?:\d|[01]\d|2[0-3]):[0-5]\d$
Пример:
to: '18:30'
- daysмассив строк
- drainBeforeApprovalбулевый
- approvalModeстрока
- dockerобъект
Параметры настройки Docker.
При настройке этих параметров,
cri.type
должен бытьDocker
.- manageбулевый
Автоматическое управление версией и параметрами Docker.
По умолчанию:
true
- maxConcurrentDownloadsцелочисленный
Максимальное количество потоков одновременного скачивания Docker-образов.
По умолчанию:
3
- manageбулевый
- kubeletобъект
Параметры настройки kubelet.
- containerLogMaxFilesцелочисленный
Максимальное количество файлов журналов с учетом ротации.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
4
Допустимые значения:
1 <= X <= 20
- containerLogMaxSizeстрока
Максимальный размер файла журнала до того, как он будет ротирован.
Внимание! Параметр не влияет на работу, если тип CRI —
Docker
.По умолчанию:
"50Mi"
Шаблон:
\d+[Ei|Pi|Ti|Gi|Mi|Ki|E|P|T|G|M|k|m]
- maxPodsцелочисленный
Максимальное количество Pod’ов на узлах данной
NodeGroup
.По умолчанию:
110
- rootDirстрока
Путь к каталогу для файлов kubelet (volume mounts, и т.д.).
По умолчанию:
"/var/lib/kubelet"
- containerLogMaxFilesцелочисленный
- kubernetesVersionстрока
Желаемая minor-версия Kubernetes.
По умолчанию соответствует глобально выбранной для кластера версии (см. документацию по установке) или, если таковая не определена, текущей версии
control plane
.Допустимые значения:
1.19
,1.20
,1.21
,1.22
Пример:
kubernetesVersion: '1.19'
- nodeTemplateобъект
Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узла.
Пример:
labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: "true" taints: - effect: NoExecute key: ship-class value: frigate
- annotationsобъект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: "true"
- labelsобъект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- taintsмассив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- effectстрока
Допустимые значения:
NoSchedule
,PreferNoSchedule
,NoExecute
- keyстрока
- valueстрока
- effectстрока
- annotationsобъект
- nodeTypeстрока
Обязательный параметр
Тип узлов, которые представляет эта группа:
Cloud
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;Static
— статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом даже если включен один из облачных провайдеров;Hybrid
— статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему Node-объект будет удален в Kubernetes.
Допустимые значения:
Cloud
,Static
,Hybrid
- operatingSystemобъект
Параметры операционной системы.
- manageKernelбулевый
Автоматическое управление ядром операционной системы.
По умолчанию:
true
- manageKernelбулевый
- staticобъект
Параметры статического узла.
- internalNetworkCIDRsмассив строк
CIDR подсети.
- internalNetworkCIDRsмассив строк
- chaosобъект
NodeGroupConfiguration
Scope: Cluster
Version: v1alpha1
- specобъект
Обязательный параметр
- bundlesмассив строк
Обязательный параметр
Список bundles, для которых выполнять скрипт. Для выбора всех bundles нужно указать
'*'
.Примеры:
bundles: - ubuntu-lts - centos-7
bundles: - ubuntu-lts
bundles: - "*"
- contentстрока
Обязательный параметр
Содержимое шага конфигурации. Может быть или шаблоном Go Template или bash-скриптом.
- nodeGroupsмассив строк
Обязательный параметр
Список NodeGroup к которым применять шаг конфигурации. Для выбора всех NodeGroups нужно указать ‘*’.
Примеры:
nodeGroups: - master - worker
nodeGroups: - worker
nodeGroups: - "*"
- weightцелочисленный
Очередность выполнения шага конфигурации.
По умолчанию:
100
- bundlesмассив строк
NodeUser
Scope: Cluster
Описывает linux-пользователей, которые будут созданы на всех узлах.
Домашний каталог пользователя создается в директории /home/deckhouse/
.
- specобъект
Обязательный параметр
- extraGroupsмассив строк
Список дополнительных групп, в которые должен быть включен пользователь.
Примеры:
extraGroups: - docker
extraGroups: - docker - ftp
- isSudoerбулевый
Определяет, будет ли пользователю разрешено sudo.
По умолчанию:
false
Пример:
isSudoer: true
- nodeGroupsмассив строк
Список NodeGroup к которым применять настройку пользователя.
По умолчанию:
["*"]
Примеры:
nodeGroups: - master - worker
nodeGroups: - worker
nodeGroups: - "*"
- passwordHashстрока
Хеш пароля пользователя.
Формат соответствует хешам паролей, содержащихся в
/etc/shadow
. Его можно получить при помощи командыopenssl passwd -6
.Пример:
passwordHash: "$2a$10$F9ey7zW.sVliT224RFxpWeMsgzO.D9YRG54a8T36/K2MCiT41nzmC"
- sshPublicKeyстрока
Публичный SSH-ключ пользователя.
Обязательно должен быть указан либо
sshPublicKey
, либоsshPublicKeys
.Пример:
sshPublicKey: ssh-rsa AAABBB
- sshPublicKeysмассив строк
Массив публичных SSH-ключей пользователя.
Обязательно должен быть указан либо
sshPublicKey
, либоsshPublicKeys
.Пример:
sshPublicKeys: - ssh-rsa AAABBB - ssh-rsa BBBCCC
- uidчисло
Обязательный параметр
User ID пользователя на узлах.
Неизменяемый в течение жизни ресурса параметр.
Допустимые значения:
1001 <= X
Пример:
uid: 1001
- extraGroupsмассив строк
Описывает linux-пользователей, которые будут созданы на всех узлах.
Домашний каталог пользователя создается в директории /home/deckhouse/
.
- specобъект
Обязательный параметр
- extraGroupsмассив строк
Список дополнительных групп, в которые должен быть включен пользователь.
Примеры:
extraGroups: - docker
extraGroups: - docker - ftp
- isSudoerбулевый
Определяет, будет ли пользователю разрешено sudo.
По умолчанию:
false
Пример:
isSudoer: true
- nodeGroupsмассив строк
Список NodeGroup к которым применять настройку пользователя.
По умолчанию:
["*"]
Примеры:
nodeGroups: - master - worker
nodeGroups: - worker
nodeGroups: - "*"
- passwordHashстрока
Хеш пароля пользователя.
Формат соответствует хешам паролей, содержащихся в
/etc/shadow
. Его можно получить при помощи командыopenssl passwd -6
.Пример:
passwordHash: "$2a$10$F9ey7zW.sVliT224RFxpWeMsgzO.D9YRG54a8T36/K2MCiT41nzmC"
- sshPublicKeyстрока
Публичный SSH-ключ пользователя.
Обязательно должен быть указан либо
sshPublicKey
, либоsshPublicKeys
.Пример:
sshPublicKey: ssh-rsa AAABBB
- sshPublicKeysмассив строк
Массив публичных SSH-ключей пользователя.
Обязательно должен быть указан либо
sshPublicKey
, либоsshPublicKeys
.Пример:
sshPublicKeys: - ssh-rsa AAABBB - ssh-rsa BBBCCC
- uidчисло
Обязательный параметр
User ID пользователя на узлах.
Неизменяемый в течение жизни ресурса параметр.
Допустимые значения:
1001 <= X
Пример:
uid: 1001
- extraGroupsмассив строк