Instance
Scope: Cluster
Version: v1alpha1
Описывает независимый от реализации объект эфемерной машины.
NodeGroup
Scope: Cluster
Описывает runtime-параметры группы узлов.
Пример:
# NodeGroup for cloud nodes in AWS.
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: test
spec:
nodeType: CloudEphemeral
cloudInstances:
zones:
- eu-west-1a
- eu-west-1b
minPerZone: 1
maxPerZone: 2
classReference:
kind: AWSInstanceClass
name: test
nodeTemplate:
labels:
tier: test
---
# NodeGroup for static nodes on bare metal servers (or VMs).
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
nodeType: Static
- объект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- объект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- строка
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля облачного провайдера.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
,VCDInstanceClass
,ZvirtInstanceClass
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- целочисленный
Приоритет группы узлов.
При масштабировании кластера cluster autoscaler будет выбирать сначала группы узлов с установленным бОльшим приоритетом. Если существует несколько групп узлов с одинаковым приоритетом, группа будет выбрана из них случайным образом.
Использование приоритетов может быть удобно, например, для предпочтения заказа более дешевых узлов (например, spot-инстансов) перед более дорогими.
- строка или число
Количество резервных (подогретых) узлов в этой
NodeGroup
во всех зонах.Резервный узел — это узел кластера, на котором резервируются ресурсы, доступные в любой момент для масштабирования. Наличие такого узла позволяет cluster autoscaler’у не ждать инициализации узла (которая может занимать несколько минут), а сразу размещать на нем нагрузку.
Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Если указан процент, абсолютное значение рассчитывается исходя из процента от максимального количества узлов (параметр maxPerZone), округленного в меньшую сторону, но не менее одного.Шаблон:
^[0-9]+%?$
- объект
Объем резервируемых ресурсов.
Используется для определения необходимости заказа резервных узлов.
- объект
Устарело: параметр больше не используется. Используйте параметр overprovisioningRate.
Резервируемые ресурсы.
- объект
Параметры работы containerd.
При настройке этих параметров
cri.type
должен бытьContainerd
. - строка
Тип container runtime.
Если не указан, используется значение
defaultCRI
из первичной конфигурации кластера (параметрcluster-configuration.yaml
Secret’аd8-cluster-configuration
в пространстве именkube-system
), которая создается при установке.Допустимые значения:
Docker
,Containerd
,NotManaged
- объект
Параметры обновлений, приводящих к возможному простою.
Пример:
disruptions: approvalMode: Automatic automatic: drainBeforeApproval: false windows: - from: '06:00' to: '08:00' days: - Tue - Sun
- строка
Режим выдачи разрешения на disruptive-обновление (обновление, требующее прерывание работы узла):
Manual
— отключить автоматическую выдачу разрешений на disruptive-обновление. Если потребуется disruptive-обновление, загорится специальный алерт. Внимание! Для группы узловmaster
режим выдачи разрешения всегда должен бытьManual
, чтобы избежать проблем при drain’е узла.Automatic
— автоматически выдавать разрешения на disruptive-обновление.RollingUpdate
— в этом режиме будет создан новый узел с обновленными настройками, а старый узел будет удален. Разрешено только для облачных узлов.
Когда не используется режим
RollingUpdate
, при обновлении узел освобождается от нагрузки (drain), после чего обновляется (перезагружается) и вводится в работу. Обратите внимание, что в этом случае в кластере должно быть место для размещения нагрузки на время, пока обновляемый узел недоступен. В режимеRollingUpdate
узел заменяется на обновленный, то есть на время обновления в кластере появляется дополнительный узел. В облачной инфраструктуре режимRollingUpdate
удобен, например, если в кластере нет ресурсов для временного размещения нагрузки с обновляемого узла.По умолчанию:
"Automatic"
Допустимые значения:
Manual
,Automatic
,RollingUpdate
- булевый
Выгон (draining) подов с узла перед выдачей разрешения на disruption.
Внимание! Данная настройка игнорируется (узлам будет выдано разрешение без предварительного выгона подов с узлов):
- для nodeGroup
master
с единственным узлом; - для выделенного под запуск Deckhouse узла, если этот узел в группе узлов единственно рабочий (Ready).
По умолчанию:
true
- для nodeGroup
- массив строк
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mon
days: Wed
- массив строк
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mon
days: Wed
- строка
Обязательный параметр
Поддерживаемые режимы работы fencing:
- Disabled - fencing отключен.
- Watchdog - использовать модуль ядра watchdog (сторожевой таймер).
Реализация Watchdog включает в себя два основных компонента:
-
Fencing-agent - это DaemonSet, который разворачивается на определенной группе узлов (nodegroup). После запуска агент активирует Watchdog и устанавливает специальную метку
node-manager.deckhouse.io/fencing-enabled
на узле, где он функционирует. Агент регулярно проверяет доступность Kubernetes API. Если API доступен, агент отправляет сигнал в Watchdog, что сбрасывает сторожевой таймер. Также агент отслеживает специальные метки обслуживания на узле и, в зависимости от их наличия, включает или отключает Watchdog. В качестве Watchdog используется модуль ядра softdog с определенными параметрами (soft_margin=60
иsoft_panic=1
). Это означает, что время таймаута сторожевого таймера составляет 60 секунд. По истечении этого времени происходит kernel-panic, и узел остается в этом состоянии до тех пор, пока пользователь не выполнит его перезагрузку. -
Fencing-controller - контроллер, который отслеживает все узлы с установленной меткой
node-manager.deckhouse.io/fencing-enabled
. Если какой-либо из узлов становится недоступным на протяжении более 60 секунд, контроллер удаляет все поды с этого узла и затем удаляет сам узел.
Допустимые значения:
Watchdog
- объект
Управление резервированием ресурсов для системных служб на узле.
Больше информации в документации Kubernetes.
- строка
Выбор режима резервирования системных ресурсов:
Off
— отключение резервирования системных ресурсов.Auto
— автоматический подсчет резервирования через алгоритм, основанный на размере узла.Static
— указание статических значений через параметрstatic
.
Обратите внимание, что Deckhouse не использует выделенную
cgroup
для резервирования ресурсов (флаг-system-reserved-cgroup
не используется).По умолчанию:
"Auto"
- объект
Управление менеджером топологии.
Менеджер топологии позволяет планировщику Kubernetes учитывать данные о топологии ресурсов при планировании подов.
В кластере с NUMA-узлами менеджер топологии может повысить производительность приложения, размещая контейнеры пода на том NUMA-узле, который эффективней работает с ресурсами.
Дополнительная информация в документации Kubernetes.
- строка
Определение политики выравнивания ресурсов с учетом топологии узлов при планировании пода.
Поддерживаются четыре политики:
None
— выравнивание ресурсов не выполняется (используется по умолчанию).BestEffort
— для каждого контейнера определяется предпочтительный NUMA-узел. Если предпочтительные узлы для планирования пода отсутствуют, то новый под будет запланирован на узел без учета данных менеджера топологии, а уже запущенный под продолжит работу.Restricted
— для каждого контейнера пода определяется предпочтительный NUMA-узел. Если предпочтительные узлы для планирования пода отсутствуют, то новый под не будет запланирован на узел, а уже запущенный под будет остановлен.SingleNumaNode
— для каждого контейнера пода определяется предпочтительный NUMA-узел. Если нет NUMA-узла, предпочтительного для всех контейнеров пода, то новый под не будет запланирован, а уже запущенный под будет остановлен.
Больше информации читайте в документации Kubernetes.
По умолчанию:
"None"
Допустимые значения:
None
,BestEffort
,Restricted
,SingleNumaNode
- строка
Определение гранулярности выравнивания ресурсов:
Container
. Вычисление предпочтительных ресурсов выполняется для контейнера. При вычислении не учитывается, что несколько контейнеров относятся к одному поду.Pod
. Вычисление предпочтительных ресурсов выполняется для пода. Все контейнеры пода рассматриваются как единое целое при вычислении.
По умолчанию:
"Container"
Допустимые значения:
Container
,Pod
- объект
Настройки
Node
-объектов в Kubernetes, которые будут добавлены после регистрации узла.Пример:
nodeTemplate: labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: 'true' taints: - effect: NoExecute key: ship-class value: frigate
- объект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: 'true'
- объект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- массив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- строка
Обязательный параметр
Тип узлов, которые представляет эта группа:
CloudEphemeral
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;CloudPermanent
— узлы этой группы берутся изProviderClusterConfiguration
и создаются/удаляются через dhctl;CloudStatic
— узел, созданный вручную или любыми внешними инструментами, размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака, соответствующий ему объектNode
будет удален в Kubernetes;Static
— статический узел, размещенный на физическом сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом, даже если включен один из облачных провайдеров.
Допустимые значения:
CloudEphemeral
,CloudPermanent
,CloudStatic
,Static
- объект
Настройка фильтра меток (label) по ресурсам.
Если указаны одновременно
matchExpressions
иmatchLabels
, учитываются оба фильтра (операцияИ
).Пустое значение
labelSelector
соответствует всем объектам. Нулевое — никаким.- массив объектов
Список фильтров на основе выражений.
Итоговый результат — результат пересечения множеств, определяемых всеми фильтрами в списке (операция
И
).A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
Описывает runtime-параметры группы узлов.
- объект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- объект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- строка
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля облачного провайдера.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
,VCDInstanceClass
,ZvirtInstanceClass
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- целочисленный
Обязательный параметр
Минимальное количество инстансов в зоне.
Проставляется в объект
MachineDeployment
и в качестве нижней границы в cluster autoscaler.При значении 0 для некоторых
InstanceClass
нужно задавать capacity. Более подробно можно узнать в описании нужныхInstanceClass
.Допустимые значения:
0 <= X
- строка или число
Количество резервных (подогретых) узлов в этой
NodeGroup
во всех зонах.Резервный узел — это узел кластера, на котором резервируются ресурсы, доступные в любой момент для масштабирования. Наличие такого узла позволяет cluster autoscaler’у не ждать инициализации узла (которая может занимать несколько минут), а сразу размещать на нем нагрузку.
Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Если указан процент, абсолютное значение рассчитывается исходя из процента от максимального количества узлов (параметр maxPerZone), округленного в меньшую сторону, но не менее одного.Шаблон:
^[0-9]+%?$
- объект
Объем резервируемых ресурсов.
Используется для определения необходимости заказа резервных узлов.
- объект
Параметры работы containerd.
При настройке этих параметров
cri.type
должен бытьContainerd
. - объект
Параметры настройки Docker.
Внимание!
Docker
считается устаревшим, не используйте его. - строка
Тип container runtime.
Если не указан, используется значение
defaultCRI
из первичной конфигурации кластера (параметрcluster-configuration.yaml
Secret’аd8-cluster-configuration
в пространстве именkube-system
), которая создается при установке.Допустимые значения:
Docker
,Containerd
,NotManaged
- объект
Параметры обновлений, приводящих к возможному простою.
Пример:
disruptions: approvalMode: Automatic automatic: drainBeforeApproval: false windows: - from: '06:00' to: '08:00' days: - Tue - Sun
- строка
Режим выдачи разрешения на disruptive-обновление (обновление, требующее прерывание работы узла):
Manual
— отключить автоматическую выдачу разрешений на disruptive-обновление. Если потребуется disruptive-обновление, загорится специальный алерт. Внимание! Для группы узловmaster
режим выдачи разрешения всегда должен бытьManual
, чтобы избежать проблем при drain’е узла.Automatic
— автоматически выдавать разрешения на disruptive-обновление.RollingUpdate
— в этом режиме будет создан новый узел с обновленными настройками, а старый узел будет удален. Разрешено только для облачных узлов.
Когда не используется режим
RollingUpdate
, при обновлении узел освобождается от нагрузки (drain), после чего обновляется (перезагружается) и вводится в работу. Обратите внимание, что в этом случае в кластере должно быть место для размещения нагрузки на время, пока обновляемый узел недоступен. В режимеRollingUpdate
узел заменяется на обновленный, то есть на время обновления в кластере появляется дополнительный узел. В облачной инфраструктуре режимRollingUpdate
удобен, например, если в кластере нет ресурсов для временного размещения нагрузки с обновляемого узла.По умолчанию:
"Automatic"
Допустимые значения:
Manual
,Automatic
,RollingUpdate
- булевый
Выгон (draining) подов с узла перед выдачей разрешения на disruption.
Внимание! Данная настройка игнорируется (узлам будет выдано разрешение без предварительного выгона подов с узлов):
- для nodeGroup
master
с единственным узлом; - для выделенного под запуск Deckhouse узла, если этот узел в группе узлов единственно рабочий (Ready).
По умолчанию:
true
- для nodeGroup
- массив строк
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mon
days: Wed
- массив строк
Days of the week when node could be updated.
Примеры:
days: Mon
days: Wed
- объект
Настройки
Node
-объектов в Kubernetes, которые будут добавлены после регистрации узла.Пример:
nodeTemplate: labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: 'true' taints: - effect: NoExecute key: ship-class value: frigate
- объект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: 'true'
- объект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- массив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- строка
Обязательный параметр
Тип узлов, которые представляет эта группа:
Cloud
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;Static
— статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом, даже если включен один из облачных провайдеров;Hybrid
— статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему объектNode
будет удален в Kubernetes.
Допустимые значения:
Cloud
,Static
,Hybrid
Описывает runtime-параметры группы узлов.
- объект
Параметры заказа облачных виртуальных машин.
Внимание! Допустимо использовать только совместно с
nodeType: CloudEphemeral
.- объект
Обязательный параметр
Ссылка на объект
InstanceClass
. Уникален для каждого модуляcloud-provider-*
.- строка
Тип объекта (например,
OpenStackInstanceClass
). Тип объекта указан в документации соответствующего модуля облачного провайдера.Допустимые значения:
OpenStackInstanceClass
,GCPInstanceClass
,VsphereInstanceClass
,AWSInstanceClass
,YandexInstanceClass
,AzureInstanceClass
,VCDInstanceClass
,ZvirtInstanceClass
- целочисленный
Недоступное количество инстансов при RollingUpdate’е.
По умолчанию:
0
Допустимые значения:
0 <= X
- целочисленный
Обязательный параметр
Минимальное количество инстансов в зоне.
Проставляется в объект
MachineDeployment
и в качестве нижней границы в cluster autoscaler.При значении 0 для некоторых
InstanceClass
нужно задавать capacity. Более подробно можно узнать в описании нужныхInstanceClass
.Допустимые значения:
0 <= X
- строка или число
Количество резервных (подогретых) узлов в этой
NodeGroup
во всех зонах.Резервный узел — это узел кластера, на котором резервируются ресурсы, доступные в любой момент для масштабирования. Наличие такого узла позволяет cluster autoscaler’у не ждать инициализации узла (которая может занимать несколько минут), а сразу размещать на нем нагрузку.
Значение может быть абсолютным (например,
2
) или процентом желаемых узлов (например,10%
). Если указан процент, абсолютное значение рассчитывается исходя из процента от максимального количества узлов (параметрmaxPerZone
), округленного в меньшую сторону, но не менее одного.Шаблон:
^[0-9]+%?$
- объект
Объем резервируемых ресурсов.
Используется для определения необходимости заказа резервных узлов.
- объект
Параметры работы containerd.
При настройке этих параметров
cri.type
должен бытьContainerd
. - строка
Container runtime type.
Value
defaultCRI
from the initial cluster configration (cluster-configuration.yaml
parameter from thed8-cluster-configuration
secret in thekube-system
namespace) is used if not specified.Note! the
Docker
is deprecated.Допустимые значения:
Docker
,Containerd
,NotManaged
- объект
Параметры обновлений, приводящих к возможному простою.
Пример:
disruptions: approvalMode: Automatic automatic: drainBeforeApproval: false windows: - from: '06:00' to: '08:00' days: - Tue - Sun
- строка
Режим выдачи разрешения на disruptive-обновление (обновление, требующее прерывания работы узла):
Manual
— отключить автоматическую выдачу разрешений на disruptive-обновление. Если потребуется disruptive-обновление, загорится специальный алерт. Внимание! Для группы узловmaster
режим выдачи разрешения всегда должен бытьManual
, чтобы избежать проблем при drain’е узла.Automatic
— автоматически выдавать разрешения на disruptive-обновление.RollingUpdate
— в этом режиме будет создан новый узел с обновленными настройками, а старый узел будет удален. Разрешено только для облачных узлов.
Когда не используется режим
RollingUpdate
, при обновлении узел освобождается от нагрузки (drain), после чего обновляется (перезагружается) и вводится в работу. Обратите внимание, что в этом случае в кластере должно быть место для размещения нагрузки на время, пока обновляемый узел недоступен. В режимеRollingUpdate
узел заменяется на обновленный, то есть на время обновления в кластере появляется дополнительный узел. В облачной инфраструктуре режимRollingUpdate
удобен, например, если в кластере нет ресурсов для временного размещения нагрузки с обновляемого узла.По умолчанию:
"Automatic"
Допустимые значения:
Manual
,Automatic
,RollingUpdate
- булевый
Выгон (draining) подов с узла перед выдачей разрешения на disruption.
Внимание! Данная настройка игнорируется (узлам будет выдано разрешение без предварительного выгона подов с узлов):
- для nodeGroup
master
с единственным узлом; - для выделенного под запуск Deckhouse узла, если этот узел в группе узлов единственно рабочий (Ready).
По умолчанию:
true
- для nodeGroup
- массив строк
Дни недели, в которые применяется окно обновлений.
Примеры:
days: Mon
days: Wed
- массив строк
Days of the week when node could be updated.
Примеры:
days: Mon
days: Wed
- объект
Параметры настройки Docker.
При настройке этих параметров
cri.type
должен бытьDocker
.Внимание!
Docker
считается устаревшим, не используйте его. - строка
Желаемая минорная версия Kubernetes.
По умолчанию соответствует глобально выбранной для кластера версии (см. документацию по установке) или, если таковая не определена, текущей версии
control plane
.Допустимые значения:
1.26
,1.27
,1.28
,1.29
,1.30
Пример:
kubernetesVersion: '1.27'
- объект
Настройки
Node
-объектов в Kubernetes, которые будут добавлены после регистрации узла.Пример:
nodeTemplate: labels: environment: production app: warp-drive-ai annotations: ai.fleet.com/discombobulate: 'true' taints: - effect: NoExecute key: ship-class value: frigate
- объект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: 'true'
- объект
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- массив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,value
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate
- строка
Обязательный параметр
Тип узлов, которые представляет эта группа:
Cloud
— узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;Static
— статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом, даже если включен один из облачных провайдеров;Hybrid
— статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объектNode
автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему объектNode
будет удален в Kubernetes.
Допустимые значения:
Cloud
,Static
,Hybrid
NodeGroupConfiguration
Scope: Cluster
Version: v1alpha1
Ресурс для выполнения bash-скриптов на узлах.
Подробнее в документации модуля.
- массив строк
Обязательный параметр
Список bundle’ов, для которых будет выполняться скрипт. Для выбора всех bundle’ов нужно указать
'*'
.Список возможных bundle’ов такой же, как у параметра allowedBundles модуля.
Примеры:
bundles: - ubuntu-lts - centos-7
bundles: - ubuntu-lts
bundles: - "*"
- строка
Обязательный параметр
Содержимое шага конфигурации в виде bash-скрипта.
Для генерации скрипта возможно использовать Go Template.
Получить список параметров, доступных для использования в шаблонах, можно из секрета
bashible-apiserver-context
:kubectl -n d8-cloud-instance-manager get secrets bashible-apiserver-context -o jsonpath='{.data.input\.yaml}'| base64 -d
Пример:
{{- range .nodeUsers }} echo 'Tuning environment for user {{ .name }}' # Some code for tuning user environment {{- end }}
Также в скрипте допустимо использовать подготовленные команды bashbooster. Например:
bb-event-on 'bb-package-installed' 'post-install' post-install() { bb-log-info "Setting reboot flag due to kernel was updated" bb-flag-set reboot }
NodeUser
Scope: Cluster
Описывает Linux-пользователей, которые будут созданы на всех узлах.
Домашний каталог пользователя создается в директории /home/deckhouse/
.
Описывает Linux-пользователей, которые будут созданы на всех узлах.
Домашний каталог пользователя создается в директории /home/deckhouse/
.
SSHCredentials
Scope: Cluster
Version: v1alpha1
Содержит данные, необходимые Cluster API Provider Static (CAPS) для подключения по протоколу SSH. CAPS подключается к серверу (виртуальной машине), описанному в ресурсе StaticInstance для управления его состоянием.
Ссылка на этот ресурс указывается в параметре credentialsRef ресурса StaticInstance
.