Стадия жизненного цикла модуля: Предварительная версия (preview)

У модуля есть требования для установки

Deckhouse Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.

OpensearchClass

Область: Cluster
Версия: v1alpha1

OpensearchClass — кластерный ресурс администратора, определяющий политику размеров и параметры размещения подов для всех экземпляров OpenSearch, ссылающихся на этот класс.
  • apiVersion
    строка

    APIVersion определяет версионную схему этого представления объекта.

    Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

  • kind
    строка

    Kind — это строковое значение, представляющее REST-ресурс, который представляет этот объект.

    Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • metadata
    объект
  • spec
    объект

    OpensearchClassSpec определяет политику класса OpenSearch на уровне администратора: допустимые диапазоны cores/memory, переопределяемые пользователем параметры и настройки размещения подов.

    Неизменяем после создания.

    • spec.nodeAffinity
      объект
      Ограничивает узлы, на которых может быть размещён под, на основе меток узлов. Концептуально аналогично nodeSelector, но с более гибкими правилами.
      • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
        массив объектов

        Планировщик предпочтет разворачивать поды на узлы, которые удовлетворяют выражениям affinity, указанным этим полем, но он может выбрать узел, который нарушает одно или несколько выражений.

        Наиболее предпочтительный узел — это тот, у которого наибольшая сумма весов, т.е. для каждого узла, который соответствует всем требованиям планирования (запрос ресурсов, выражения affinity requiredDuringScheduling и т.д.), вычислить сумму, перебирая элементы этого поля и добавляя “weight” к сумме, если узел соответствует соответствующим matchExpressions; узел(ы) с наибольшей суммой являются наиболее предпочтительными.

        • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
          объект
          Условие селектора узла, связанное с соответствующим весом (weight).
          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
            массив объектов
            Список требований селектора узла по лейблам узла.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
              строка
              Ключ лейбла, к которому применяется селектор.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
              строка

              Представляет отношение ключа к набору значений.

              Поддерживаемые операторы:

              • In;
              • NotIn;
              • Exists;
              • DoesNotExist;
              • Gt;
              • Lt.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
              массив строк

              Массив строковых значений, который заполняется в зависимости от оператора:

              • при операторе In или NotIn массив значений НЕ должен быть пустым;
              • при операторе Exists или DoesNotExist, массив значений должен быть пустым;
              • при операторе Gt или Lt массив значений должен иметь один элемент, который будет интерпретирован как целое число.

              Этот массив заменяется при применении strategic merge patch.

          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
            массив объектов
            Список требований селектора узла по полям узла.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
              строка
              Ключ лейбла, к которому применяется селектор.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
              строка

              Представляет отношение ключа к набору значений.

              Поддерживаемые операторы:

              • In;
              • NotIn;
              • Exists;
              • DoesNotExist;
              • Gt;
              • Lt.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
              массив строк

              Массив строковых значений, который заполняется в зависимости от оператора:

              • при операторе In или NotIn массив значений НЕ должен быть пустым;
              • при операторе Exists или DoesNotExist, массив значений должен быть пустым;
              • при операторе Gt или Lt массив значений должен иметь один элемент, который будет интерпретирован как целое число.

              Этот массив заменяется при применении strategic merge patch.

        • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
          целое число
          Вес, определяющий приоритет сопоставления соответствующему nodeSelectorTerm, в диапазоне 1-100.
      • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
        объект

        Если требования affinity, указанные этим полем, не выполняются во время планирования, под не будет запланирован на узел.

        Если требования affinity, указанные этим полем, перестают выполняться в какой-то момент во время выполнения пода (например, из-за обновления), система может или не может попытаться в конечном итоге выселить под с его узла.

        • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
          массив объектов

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

          Список условий селектора узла. Термины объединяются по логике ИЛИ.
          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
            массив объектов
            Список требований селектора узла по лейблам узла.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
              строка
              Ключ лейбла, к которому применяется селектор.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
              строка

              Представляет отношение ключа к набору значений.

              Поддерживаемые операторы:

              • In;
              • NotIn;
              • Exists;
              • DoesNotExist;
              • Gt;
              • Lt.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
              массив строк

              Массив строковых значений, который заполняется в зависимости от оператора:

              • при операторе In или NotIn массив значений НЕ должен быть пустым;
              • при операторе Exists или DoesNotExist, массив значений должен быть пустым;
              • при операторе Gt или Lt массив значений должен иметь один элемент, который будет интерпретирован как целое число.

              Этот массив заменяется при применении strategic merge patch.

          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
            массив объектов
            Список требований селектора узла по полям узла.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
              строка
              Ключ лейбла, к которому применяется селектор.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
              строка

              Представляет отношение ключа к набору значений.

              Поддерживаемые операторы:

              • In;
              • NotIn;
              • Exists;
              • DoesNotExist;
              • Gt;
              • Lt.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
              массив строк

              Массив строковых значений, который заполняется в зависимости от оператора:

              • при операторе In или NotIn массив значений НЕ должен быть пустым;
              • при операторе Exists или DoesNotExist, массив значений должен быть пустым;
              • при операторе Gt или Lt массив значений должен иметь один элемент, который будет интерпретирован как целое число.

              Этот массив заменяется при применении strategic merge patch.

    • spec.nodeSelector
      объект
      Позволяет назначать поды сервиса на указанные узлы. Аналогично параметру spec.nodeSelector для Kubernetes Pods.
    • spec.overridableConfiguration
      массив строк
      Список параметров конфигурации, которые пользователь может переопределить в своём ресурсе Opensearch.
      • spec.overridableConfiguration.Элемент массива
        строка
        ConfigurationType — тип параметра конфигурации.
    • spec.sizingPolicies
      массив объектов

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

      Допустимые диапазоны cores/memory и шаги для spec.instance Opensearch.
      • spec.sizingPolicies.coreFractions
        массив строк
        Доля гарантированных CPU (requests) относительно limits ядер, допустимая для данной политики.

        Пример:

        coreFractions:
        - 10%
        - 30%
        - 50%
        - 100%
        
      • spec.sizingPolicies.cores
        объект
        Допустимый диапазон количества ядер CPU.
        • spec.sizingPolicies.cores.max
          целое число

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

          Верхний предел допустимого количества ядер CPU.

          Пример:

          max: 6
          
        • spec.sizingPolicies.cores.min
          целое число

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

          Нижний предел допустимого количества ядер CPU.

          Пример:

          min: 1
          
      • spec.sizingPolicies.memory
        объект
        Определяет допустимый диапазон памяти и шаг.
        • spec.sizingPolicies.memory.max
          строка или число

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

          Верхний предел объёма памяти.

          Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Пример:

          max: 5Gi
          
        • spec.sizingPolicies.memory.min
          строка или число

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

          Нижний предел объёма памяти.

          Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Пример:

          min: 128Mi
          
        • spec.sizingPolicies.memory.step
          строка или число

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

          Шаг изменения объёма памяти. Указанный объём памяти должен быть кратен этому значению.

          Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Пример:

          step: 100Mi
          
    • spec.tolerations
      массив объектов
      Tolerations сервисных подов.
      • spec.tolerations.effect
        строка
        Эффект taint для сопоставления. Пустое значение означает сопоставление со всеми эффектами taint. При указании допустимые значения: NoSchedule, PreferNoSchedule и NoExecute.
      • spec.tolerations.key
        строка

        Key — ключ taint, к которому применяется толерантность. Пустое значение означает сопоставление со всеми ключами taint.

        Если ключ пустой, оператор должен быть Exists; эта комбинация означает сопоставление со всеми значениями и всеми ключами.

      • spec.tolerations.operator
        строка

        Operator представляет отношение ключа к значению.

        Допустимые операторы: Exists, Equal, Lt и Gt. По умолчанию Equal.

      • spec.tolerations.tolerationSeconds
        целое число

        TolerationSeconds представляет период времени, в течение которого толерантность (которая должна быть с эффектом NoExecute, иначе это поле игнорируется) толерирует taint.

        По умолчанию не установлено, что означает толерировать taint вечно (не вытеснять).

      • spec.tolerations.value
        строка

        Value — значение taint, с которым сопоставляется толерантность.

        Если оператор Exists, значение должно быть пустым, иначе просто обычная строка.

    • spec.validations
      массив объектов
      CEL-правила валидации, применяемые к пользовательской конфигурации Opensearch.
      • spec.validations.message
        строка
        Сообщение, отображаемое при нарушении правила rule.

        Пример:

        message: '''maxConnections should be greater than 100''\'
        
      • spec.validations.rule
        строка

        CEL-правило для валидации конфигурации Opensearch.

        Доступные предопределённые переменные:

        • instance.memory.size
        • instance.cpu.cores

        Пример:

        rule: configuration.maxConnections > 100
        
  • status
    объект
    status отражает текущее наблюдаемое состояние OpensearchClass.

Opensearch

Область: Namespaced
Версия: v1alpha1

Opensearch — ресурс, описывающий управляемый инстанс Opensearch.
  • apiVersion
    строка

    APIVersion определяет версионную схему этого представления объекта.

    Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

  • kind
    строка

    Kind — это строковое значение, представляющее REST-ресурс, который представляет этот объект.

    Серверы могут определить это из конечной точки, на которую клиент отправляет запросы. Не может быть обновлено. В CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • metadata
    объект
  • spec
    объект
    OpensearchSpec определяет желаемое состояние OpenSearch
    • spec.instance
      объект

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

      Требования к ресурсам каждого сгенерированного Pod.

      Подробнее в документации Kubernetes.

      • spec.instance.cpu
        объект

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

        • spec.instance.cpu.coreFraction
          строка

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

          Гарантированная доля CPU (requests) относительно лимита (limits) ядер. Например, 50% означает, что requests равны половине от limits.

          Пример:

          coreFraction: 50%
          
        • spec.instance.cpu.cores
          целое число

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

          Количество ядер CPU.
      • spec.instance.memory
        объект

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

        • spec.instance.memory.size
          строка или число

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

          Объём памяти пода.

          Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Пример:

          size: 1Gi
          
      • spec.instance.persistentVolumeClaim
        объект
        • spec.instance.persistentVolumeClaim.size
          строка или число

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

          Размер persistent volume для данных Opensearch.

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

          Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

          Пример:

          size: 1Gi
          
        • spec.instance.persistentVolumeClaim.storageClassName
          строка

          Имя StorageClass для данных Opensearch.

          Если не задано, используется StorageClass по умолчанию в кластере. Параметр применяется только при создании и не может быть изменён позже.

          Пример:

          storageClassName: local-path
          
    • spec.mTLS
      объект

      Настройки mutual TLS (проверка клиентских сертификатов) на HTTP-уровне.

      Работает независимо от серверного TLS (spec.tls).

      • spec.mTLS.ca
        объект

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

        Источник CA-сертификата, которым подписаны клиентские сертификаты.
        • spec.mTLS.ca.certManager
          объект

          Ссылка на cert-manager Issuer или ClusterIssuer, чей CA используется для проверки клиентских сертификатов.

          Используется только при mode: CertManager.

          Должно быть указано ровно одно из полей:

          • clusterIssuerName;
          • issuerName.
          • spec.mTLS.ca.certManager.clusterIssuerName
            строка

            Имя cert-manager ClusterIssuer.

            Не может быть задано одновременно с issuerName.

          • spec.mTLS.ca.certManager.issuerName
            строка

            Имя cert-manager Issuer в namespace сервиса.

            Не может быть задано одновременно с clusterIssuerName.

        • spec.mTLS.ca.customCA
          объект

          Ссылка на пользовательский Secret с CA-сертификатом для проверки клиентских сертификатов.

          Используется только при mode: CustomCA.

          • spec.mTLS.ca.customCA.clientCASecret
            строка

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

            Имя Secret в том же namespace, содержащего ключ ca.crt.

            Минимальная длина: 1

        • spec.mTLS.ca.mode
          строка

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

          Источник клиентского CA-сертификата.

          Возможные значения:

          • CustomCA — пользовательский Secret с ca.crt;
          • CertManager — CA из cert-manager Issuer/ClusterIssuer;
          • Istio — CA из Istio service mesh (namespace d8-istio).

          Допустимые значения: CustomCA, CertManager, Istio

      • spec.mTLS.mode
        строка

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

        Режим проверки клиентских сертификатов.

        Возможные значения:

        • ConnectionOnly — сервер запрашивает клиентский сертификат для TLS-канала, но не использует его для аутентификации (clientauth_mode=OPTIONAL);
        • ConnectionAndAuth — сервер требует клиентский сертификат и использует его как удостоверение для аутентификации (clientauth_mode=REQUIRE).

        Допустимые значения: ConnectionOnly, ConnectionAndAuth

    • spec.observability
      строка

      Режим мониторинга инстанса:

      • Enabled — полный мониторинг с алертами;
      • Disabled — мониторинг отключён;
      • EnabledWithoutAlerts — мониторинг без алертов.

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

      Допустимые значения: Enabled, Disabled, EnabledWithoutAlerts

    • spec.opensearchClassName
      строка

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

      Имя ресурса OpensearchClass, используемого для валидации конфигурации инстанса.

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

      Пример:

      opensearchClassName: default
      
    • spec.tls
      объект
      Настройки TLS сервера Opensearch (cert-manager или пользовательский сертификат).
      • spec.tls.certManager
        объект

        Настройки cert-manager для управления серверным TLS-сертификатом Opensearch.

        Используется только при mode: CertManager.

        Должно быть указано ровно одно из полей:

        • clusterIssuerName;
        • issuerName.
        • spec.tls.certManager.clusterIssuerName
          строка

          Имя cert-manager ClusterIssuer.

          Используется для выпуска сертификата через ClusterIssuer. Не может быть задано одновременно с issuerName.

        • spec.tls.certManager.issuerName
          строка

          Имя cert-manager Issuer в namespace сервиса.

          Используется для выпуска сертификата через namespaced Issuer. Не может быть задано одновременно с clusterIssuerName.

      • spec.tls.customCertificate
        объект

        Настройки пользовательского серверного TLS-сертификата.

        Используется только при mode: CustomCertificate.

        • spec.tls.customCertificate.serverCASecret
          строка

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

          Имя Secret с ключом ca.crt.

          Содержит CA-сертификат, которым подписан serverTLSSecret. Оператор проверяет наличие Secret и ключа ca.crt, но не монтирует его в pod сервиса.

        • spec.tls.customCertificate.serverTLSSecret
          строка

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

          Имя Secret типа kubernetes.io/tls с ключами tls.crt и tls.key.

          Сертификат должен содержать SAN с DNS-именами сервиса Opensearch, иначе клиенты с полной TLS-проверкой будут отклонять соединение.

      • spec.tls.mode
        строка

        Режим управления серверными TLS-сертификатами Opensearch.

        Возможные значения:

        • CertManager — сертификат выпускается и управляется cert-manager;
        • CustomCertificate — используется пользовательский TLS-сертификат из Secret.

        По умолчанию: CertManager.

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

        Допустимые значения: CertManager, CustomCertificate

  • status
    объект
    status отражает текущее наблюдаемое состояние Opensearch.
    • status.conditions
      массив объектов
      • status.conditions.lastTransitionTime
        строка
      • status.conditions.message
        строка
        Сообщение с подробностями о переходе.
      • status.conditions.observedGeneration
        целое число
        Поколение объекта, при котором было установлено данное условие.
      • status.conditions.reason
        строка
        Причина последнего изменения условия.
      • status.conditions.status
        строка
        Статус условия — одно из значений True, False, Unknown.
      • status.conditions.type
        строка
        Тип условия.
    • status.instancesReportedState
      объект
      • status.instancesReportedState.<KEY_NAME>
        объект
        <KEY_NAME> — имя параметра (ключ объекта).
        • status.instancesReportedState.<KEY_NAME>.configHash
          строка
    • status.lastValidConfiguration
      объект
      Последняя конфигурация, успешно прошедшая валидацию.
      • status.lastValidConfiguration.configuration
        объект
      • status.lastValidConfiguration.instance
        объект
        • status.lastValidConfiguration.instance.cpu
          объект

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

          • status.lastValidConfiguration.instance.cpu.coreFraction
            строка

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

            Множитель для расчёта requests CPU относительно limits.

            Пример:

            coreFraction: 50%
            
          • status.lastValidConfiguration.instance.cpu.cores
            целое число

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

            Количество ядер CPU.
        • status.lastValidConfiguration.instance.memory
          объект

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

          • status.lastValidConfiguration.instance.memory.size
            строка или число

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

            Объём памяти.

            Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

            Пример:

            size: 1Gi
            
        • status.lastValidConfiguration.instance.persistentVolumeClaim
          объект
          • status.lastValidConfiguration.instance.persistentVolumeClaim.size
            строка или число

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

            Размер хранилища.

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

            Шаблон: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$

            Пример:

            size: 1Gi
            
          • status.lastValidConfiguration.instance.persistentVolumeClaim.storageClassName
            строка

            Имя StorageClass, используемого для хранения данных Opensearch.

            Если значение не задано, используется StorageClass по умолчанию в кластере. Параметр применяется только при создании и не может быть изменён позже.

            Пример:

            storageClassName: local-path
            
      • status.lastValidConfiguration.scheduling
        объект
        Параметры планирования подов из последней валидной конфигурации.
        • status.lastValidConfiguration.scheduling.affinity
          объект
          Группа правил affinity для планирования подов.
          • status.lastValidConfiguration.scheduling.affinity.nodeAffinity
            объект
            Правила node affinity для пода.
            • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              Планировщик предпочитает размещать поды на узлах, удовлетворяющих условиям affinity, но может выбрать узел, нарушающий одно или несколько из них.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
                объект
                Условие выбора узла, связанное с соответствующим весом.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
                  массив объектов
                  Список требований к узлам по меткам.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
                    строка
                    Ключ метки, к которому применяется селектор.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
                    строка
                    Описывает связь ключа с набором значений. Допустимые операторы: In, NotIn, Exists, DoesNotExist, Gt, Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
                    массив строк
                    Массив строковых значений для оператора.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
                  массив объектов
                  Список требований к узлам по полям.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
                    строка
                    Ключ поля, к которому применяется селектор.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
                    строка
                    Описывает связь ключа с набором значений. Допустимые операторы: In, NotIn, Exists, DoesNotExist, Gt, Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
                    массив строк
                    Массив строковых значений для оператора.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целое число
                Вес совпадения с nodeSelectorTerm, в диапазоне 1–100.
            • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
              объект
              Если требования не выполнены при планировании, под не будет размещён на узле.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
                массив объектов

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

                Обязательное поле. Список условий выбора узлов (объединяются по ИЛИ).
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
                  массив объектов
                  Список требований к узлам по меткам.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
                    строка
                    Ключ метки.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
                    массив строк
                    Массив значений.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
                  массив объектов
                  Список требований к узлам по полям.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
                    строка
                    Ключ поля.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
                    массив строк
                    Массив значений.
          • status.lastValidConfiguration.scheduling.affinity.podAffinity
            объект
            Правила pod affinity (например, размещение пода на том же узле, зоне и т.д., что и другой под или группа подов).
            • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              Планировщик предпочитает узлы, удовлетворяющие условиям affinity, но может выбрать и другие.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
                объект
                Обязательное поле. Условие pod affinity, связанное с весом.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
                  объект

                  Запрос по меткам к набору ресурсов (подов).

                  Null означает отсутствие совпадений.

                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
                    массив объектов
                    Список требований к меткам (объединяются по И).
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
                      строка
                      Ключ метки.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
                      строка
                      Оператор связи ключа с набором значений. Допустимые операторы: In, NotIn, Exists, DoesNotExist.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
                      массив строк
                      Массив значений для оператора.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
                    объект
                    Словарь пар {ключ, значение}. Эквивалентен набору matchExpressions с оператором In и массивом из одного значения. Требования объединяются по И.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeys
                  массив строк

                  Ключи меток пода, сужающие набор подов, учитываемых при affinity.

                  Для каждого ключа берётся значение из меток текущего пода и добавляется к labelSelector как условие key in (value).

                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeys
                  массив строк

                  Ключи меток пода, исключающие поды из affinity.

                  Для каждого ключа берётся значение из меток текущего пода и добавляется к labelSelector как условие key notin (value).

                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
                  объект

                  Запрос по меткам к набору namespace’ов, к которым применяется условие.

                  Пустой селектор соответствует всем namespace’ам.

                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
                    массив объектов
                    Список требований к меткам (объединяются по И).
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
                      строка
                      Ключ метки.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
                      строка
                      Оператор связи ключа с набором значений.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
                      массив строк
                      Массив значений для оператора.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
                    объект
                    Словарь пар {ключ, значение}. Требования объединяются по И.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
                  массив строк

                  Статический список имён namespace’ов, к которым применяется условие.

                  Итоговый набор — объединение значений этого поля и namespaceSelector. Null или пустой список означает namespace текущего пода.

                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
                  строка

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

                  Ключ метки узла, определяющий топологию размещения подов.

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

              • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целое число
                Вес совпадения с podAffinityTerm, в диапазоне 1–100.
            • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
              массив объектов

              Если требования не выполнены при планировании, под не будет размещён на узле.

              При наличии нескольких элементов списки узлов для каждого podAffinityTerm пересекаются.

              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
                объект
                Запрос по меткам к набору подов. Null означает отсутствие совпадений.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
                  массив объектов
                  Список требований к меткам (объединяются по И).
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                    строка
                    Ключ метки.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                    массив строк
                    Массив значений.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
                  объект
                  Словарь пар {ключ, значение}. Требования объединяются по И.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
                массив строк
                Набор ключей меток подов для учёта при вычислении affinity.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
                массив строк
                Набор ключей меток подов для исключения при вычислении affinity.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
                объект
                Запрос по меткам к набору namespace’ов.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
                  массив объектов
                  Список требований к меткам.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                    строка
                    Ключ метки.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                    массив строк
                    Массив значений.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
                  объект
                  Словарь пар {ключ, значение}.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
                массив строк

                Статический список имён namespace’ов, к которым применяется условие.

                Итоговый набор — объединение значений этого поля и namespaceSelector. Null или пустой список означает namespace текущего пода.

              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
                строка
                Ключ топологии для определения совместного размещения подов.
          • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity
            объект
            Правила pod anti-affinity (например, запрет размещения пода на том же узле, зоне и т.д., что и другой под или группа подов).
            • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              Планировщик предпочтёт узлы, удовлетворяющие правилам anti-affinity, но может выбрать другие.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
                объект
                Обязательное поле. Условие pod anti-affinity, связанное с весом.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
                  объект
                  Запрос по меткам к набору подов. Null означает отсутствие совпадений.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
                    массив объектов
                    Список требований к меткам.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
                      строка
                      Ключ метки.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
                      строка
                      Оператор сравнения.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
                      массив строк
                      Массив значений.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
                    объект
                    Словарь пар {ключ, значение}. Эквивалентен набору matchExpressions с оператором In и массивом из одного значения. Требования объединяются по И.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeys
                  массив строк
                  Набор ключей меток подов для учёта при вычислении anti-affinity.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeys
                  массив строк
                  Набор ключей меток подов для исключения при вычислении anti-affinity.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
                  объект
                  Запрос по меткам к набору namespace’ов.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
                    массив объектов
                    Список требований к меткам.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
                      строка
                      Ключ метки.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
                      строка
                      Оператор сравнения.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
                      массив строк
                      Массив значений.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
                    объект
                    Словарь пар {ключ, значение}. Требования объединяются по И.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
                  массив строк

                  Статический список имён namespace’ов, к которым применяется условие.

                  Итоговый набор — объединение значений этого поля и namespaceSelector. Null или пустой список означает namespace текущего пода.

                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
                  строка

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

                  Ключ топологии. Пустое значение не допускается.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целое число
                Вес совпадения с podAffinityTerm, в диапазоне 1–100.
            • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
              массив объектов

              Если требования anti-affinity не выполнены при планировании, под не будет размещён на узле.

              При наличии нескольких элементов списки узлов пересекаются.

              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
                объект
                Запрос по меткам к набору подов.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
                  массив объектов
                  Список требований к меткам.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                    строка
                    Ключ метки.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                    массив строк
                    Массив значений.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
                  объект
                  Словарь пар {ключ, значение}. Эквивалентен набору matchExpressions с оператором In и массивом из одного значения. Требования объединяются по И.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
                массив строк
                Набор ключей меток для учёта при anti-affinity.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
                массив строк
                Набор ключей меток для исключения при anti-affinity.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
                объект
                Запрос по меткам к набору namespace’ов.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
                  массив объектов
                  Список требований к меткам.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                    строка
                    Ключ метки.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                    строка
                    Оператор сравнения.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                    массив строк
                    Массив значений.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
                  объект
                  Словарь пар {ключ, значение}. Требования объединяются по И.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
                массив строк

                Статический список имён namespace’ов, к которым применяется условие.

                Итоговый набор — объединение значений этого поля и namespaceSelector. Null или пустой список означает namespace текущего пода.

              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
                строка

                Ключ метки узла, определяющий топологию размещения подов.

                Под не должен быть размещён на узле с тем же значением topologyKey, что и поды, соответствующие labelSelector. Пустое значение не допускается.

        • status.lastValidConfiguration.scheduling.nodeSelector
          объект
        • status.lastValidConfiguration.scheduling.tolerations
          массив объектов
          • status.lastValidConfiguration.scheduling.tolerations.effect
            строка

            Эффект taint для сопоставления. Пустое значение соответствует всем эффектам.

            Допустимые значения: NoSchedule, PreferNoSchedule, NoExecute.

          • status.lastValidConfiguration.scheduling.tolerations.key
            строка

            Ключ taint. Пустое значение соответствует всем ключам.

            Если ключ пустой, оператор должен быть Exists.

          • status.lastValidConfiguration.scheduling.tolerations.operator
            строка

            Оператор связи ключа со значением.

            Допустимые операторы: Exists, Equal, Lt, Gt. По умолчанию: Equal.

          • status.lastValidConfiguration.scheduling.tolerations.tolerationSeconds
            целое число

            Период (в секундах), в течение которого toleration с эффектом NoExecute допускает taint.

            По умолчанию не задан — toleration действует бессрочно.

          • status.lastValidConfiguration.scheduling.tolerations.value
            строка
            Значение taint. При операторе Exists должно быть пустым.
        • status.lastValidConfiguration.scheduling.warnings
          массив строк
    • status.lastValidatedConfigurationHash
      строка