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}$

    • cloudInstancesобъект

      Параметры заказа облачных виртуальных машин.

      Внимание! Допустимо использовать только совместно с nodeType: CloudEphemeral.

      • classReferenceобъект

        Обязательный параметр

        Ссылка на объект InstanceClass. Уникален для каждого модуля cloud-provider-*.

        • kindстрока

          Тип объекта (например, OpenStackInstanceClass). Тип объекта указан в документации соответствующего модуля cloud provider.

          Допустимые значения: OpenStackInstanceClass, GCPInstanceClass, VsphereInstanceClass, AWSInstanceClass, YandexInstanceClass, AzureInstanceClass

        • nameстрока

          Имя нужного InstanceClass-объекта (например, finland-medium).

      • maxPerZoneцелочисленный

        Обязательный параметр

        Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.

        Допустимые значения: 0 <= X

      • maxSurgePerZoneцелочисленный

        Количество одновременно создаваемых инстансов при scale-up.

        По умолчанию: 1

        Допустимые значения: 0 <= X

      • maxUnavailablePerZoneцелочисленный

        Недоступное количество инстансов при 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)?$

      • zonesмассив строк

        Переопределение перечня зон, в которых создаются инстансы.

        Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.

        Пример:

        zones:
        - Helsinki
        - Espoo
        - Tampere
        
    • criобъект

      Параметры container runtime.

      • containerdобъект

        Параметры работы Containerd.

        При настройке этих параметров cri.type должен быть — Containerd.

        • maxConcurrentDownloadsцелочисленный

          Максимальное количество параллельных потоков загрузки для каждой операции pull.

          По умолчанию: 3

      • dockerобъект

        Параметры настройки Docker.

        • manageбулевый

          Автоматическое управление версией и параметрами Docker.

          По умолчанию: true

        • maxConcurrentDownloadsцелочисленный

          Максимальное количество потоков одновременного скачивания Docker-образов.

          По умолчанию: 3

      • notManagedобъект

        Настройки для CRI, установленных на узлах вручную.

        • criSocketPathстрока

          Путь к сокету CRI.

      • typeстрока

        Тип container runtime.

        Если не указан, используется значение defaultCRI из первичной конфигурации кластера (параметр cluster-configuration.yaml Secret’а d8-cluster-configuration в пространстве имен kube-system), которая создается при установке.

        Допустимые значения: Docker, Containerd, NotManaged

    • 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'
            
    • 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"

    • 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строка
    • nodeTypeстрока

      Обязательный параметр

      Тип узлов, которые представляет эта группа:

      • CloudEphemeral — узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;
      • CloudPermanent — узлы этой группы берутся из ProviderClusterConfiguration и создаются/удаляются через dhctl;
      • CloudStatic — статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объект Node автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака, соответствующий ему Node-объект будет удален в Kubernetes;
      • Static — статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом, даже если включен один из облачных провайдеров.

      Допустимые значения: CloudEphemeral, CloudPermanent, CloudStatic, Static

    • operatingSystemобъект

      Параметры операционной системы.

      • manageKernelбулевый

        Автоматическое управление ядром операционной системы.

        По умолчанию: true

    • updateобъект
      • maxConcurrentстрока или число

        Максимальное количество одновременно обновляемых узлов. Можно указать число узлов или процент от общего количества узлов в данной группе.

        По умолчанию: 1

        Шаблон: ^[1-9][0-9]*%?$

Описывает 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}$

    • cloudInstancesобъект

      Параметры заказа облачных виртуальных машин.

      Внимание! Допустимо использовать только совместно с nodeType: CloudEphemeral.

      • classReferenceобъект

        Обязательный параметр

        Ссылка на объект InstanceClass. Уникален для каждого модуля cloud-provider-*.

        • kindстрока

          Тип объекта (например, OpenStackInstanceClass). Тип объекта указан в документации соответствующего модуля cloud provider.

          Допустимые значения: OpenStackInstanceClass, GCPInstanceClass, VsphereInstanceClass, AWSInstanceClass, YandexInstanceClass, AzureInstanceClass

        • nameстрока

          Имя нужного InstanceClass-объекта (например, finland-medium).

      • maxPerZoneцелочисленный

        Обязательный параметр

        Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.

        Допустимые значения: 0 <= X

      • maxSurgePerZoneцелочисленный

        Количество одновременно создаваемых инстансов при scale-up.

        По умолчанию: 1

        Допустимые значения: 0 <= X

      • maxUnavailablePerZoneцелочисленный

        Недоступное количество инстансов при 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)?$

      • zonesмассив строк

        Переопределение перечня зон, в которых создаются инстансы.

        Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.

        Пример:

        zones:
        - Helsinki
        - Espoo
        - Tampere
        
    • criобъект

      Параметры container runtime.

      • containerdобъект

        Параметры работы Containerd.

        При настройке этих параметров cri.type должен быть — Containerd.

        • maxConcurrentDownloadsцелочисленный

          Максимальное количество параллельных потоков загрузки для каждой операции pull.

          По умолчанию: 3

      • dockerобъект

        Параметры настройки Docker.

        • manageбулевый

          Автоматическое управление версией и параметрами Docker.

          По умолчанию: true

        • maxConcurrentDownloadsцелочисленный

          Максимальное количество потоков одновременного скачивания Docker-образов.

          По умолчанию: 3

      • notManagedобъект

        Настройки для CRI, установленных на узлах вручную.

        • criSocketPathстрока

          Путь к сокету CRI.

      • typeстрока

        Тип container runtime.

        Если не указан, используется значение defaultCRI из первичной конфигурации кластера (параметр cluster-configuration.yaml Secret’а d8-cluster-configuration в пространстве имен kube-system), которая создается при установке.

        Допустимые значения: Docker, Containerd, NotManaged

    • 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'
            
    • 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"

    • 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строка
    • nodeTypeстрока

      Обязательный параметр

      Тип узлов, которые представляет эта группа:

      • Cloud — узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;
      • Static — статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом даже если включен один из облачных провайдеров;
      • Hybrid — статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объект Node автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему Node-объект будет удален в Kubernetes.

      Допустимые значения: Cloud, Static, Hybrid

    • operatingSystemобъект

      Параметры операционной системы.

      • manageKernelбулевый

        Автоматическое управление ядром операционной системы.

        По умолчанию: true

Описывает 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}$

    • cloudInstancesобъект

      Параметры заказа облачных виртуальных машин.

      Внимание! Допустимо использовать только совместно с nodeType: CloudEphemeral.

      • classReferenceобъект

        Обязательный параметр

        Ссылка на объект InstanceClass. Уникален для каждого модуля cloud-provider-*.

        • kindстрока

          Тип объекта (например, OpenStackInstanceClass). Тип объекта указан в документации соответствующего модуля cloud provider.

          Допустимые значения: OpenStackInstanceClass, GCPInstanceClass, VsphereInstanceClass, AWSInstanceClass, YandexInstanceClass, AzureInstanceClass

        • nameстрока

          Имя нужного InstanceClass-объекта (например, finland-medium).

      • maxPerZoneцелочисленный

        Обязательный параметр

        Максимальное количество инстансов в зоне. Проставляется как верхняя граница в cluster-autoscaler.

        Допустимые значения: 0 <= X

      • maxSurgePerZoneцелочисленный

        Количество одновременно создаваемых инстансов при scale-up.

        По умолчанию: 1

        Допустимые значения: 0 <= X

      • maxUnavailablePerZoneцелочисленный

        Недоступное количество инстансов при 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)?$

      • zonesмассив строк

        Переопределение перечня зон, в которых создаются инстансы.

        Значение по умолчанию зависит от выбранного облачного провайдера и обычно соответствует всем зонам используемого региона.

        Пример:

        zones:
        - Helsinki
        - Espoo
        - Tampere
        
    • criобъект

      Параметры container runtime.

      • containerdобъект

        Параметры работы Containerd.

        При настройке этих параметров cri.type должен быть — Containerd.

        • maxConcurrentDownloadsцелочисленный

          Максимальное количество параллельных потоков загрузки для каждой операции pull.

          По умолчанию: 3

      • typeстрока

        Тип container runtime.

        Если не указан, используется значение defaultCRI из первичной конфигурации кластера (параметр cluster-configuration.yaml Secret’а d8-cluster-configuration в пространстве имен kube-system), которая создается при установке.

        Допустимые значения: Docker, Containerd, NotManaged

    • 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'
            
    • dockerобъект

      Параметры настройки Docker.

      При настройке этих параметров, cri.type должен быть Docker.

      • manageбулевый

        Автоматическое управление версией и параметрами Docker.

        По умолчанию: true

      • maxConcurrentDownloadsцелочисленный

        Максимальное количество потоков одновременного скачивания Docker-образов.

        По умолчанию: 3

    • 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"

    • 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строка
    • nodeTypeстрока

      Обязательный параметр

      Тип узлов, которые представляет эта группа:

      • Cloud — узлы для этой группы будут автоматически создаваться (и удаляться) в настроенном облачном провайдере;
      • Static — статический узел, размещенный на железном сервере или виртуальной машине. Узел не управляется cloud-controller-manager’ом даже если включен один из облачных провайдеров;
      • Hybrid — статический узел (созданный вручную или любыми внешними инструментами), размещенный в том же облаке, с которым настроена интеграция у одного из облачных провайдеров. На таком узле работает CSI и такой узел управляется cloud-controller-manager’ом: объект Node автоматически обогащается информацией о зоне и регионе по данным, полученным от облака; при удалении узла из облака соответствующий ему Node-объект будет удален в Kubernetes.

      Допустимые значения: Cloud, Static, Hybrid

    • operatingSystemобъект

      Параметры операционной системы.

      • manageKernelбулевый

        Автоматическое управление ядром операционной системы.

        По умолчанию: true

    • staticобъект

      Параметры статического узла.

      • internalNetworkCIDRsмассив строк

        CIDR подсети.

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

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
      

Описывает 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