Стадия жизненного цикла модуля: Preview
У модуля есть требования для установки

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

Postgres

Scope: Namespaced
Version: v1alpha1

Postgres — схема для API ресурса postgres
  • 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
    объект
    PostgresSpec определяет желаемое состояние Postgres
    • spec.cluster
      объект
      Структура, которая определяет настройки кластера, такие как топология и репликация
      • spec.cluster.replication
        строка

        Настройка репликации определяет количество и тип реплик Возможные значения:

        • Availability: кластер с Master + 1 асинхронная реплика
        • Consistency: кластер с Master + 1 синхронная реплика
        • ConsistencyAndAvailability: кластер с Master + 1 синхронная реплика + 1 асинхронная реплика

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

        Допустимые значения: Availability, Consistency, ConsistencyAndAvailability

      • spec.cluster.topology
        строка

        Настройка топологии определяет, как планировщику разворачивать кластер

        • Zonal: кластер будет развернут в одну зону. Если возможно
        • TransZonal: кластер будет развернут в разные зоны. Если возможно
        • Ignored: кластер будет развернут с правилами планирования k8s по умолчанию, будет обеспечено только разделение узлов по нодам

        Пример:

        topology: Ignored
        
    • spec.configuration
      объект
      Параметры конфигурации Postgres
      • spec.configuration.maxConnections
        целочисленный

        Определяет максимальное количество одновременных подключений к серверу базы данных. Этот параметр можно установить только при запуске сервера.

        PostgreSQL размеры определенных ресурсов основываются непосредственно на значении max_connections. Увеличение его значения приводит к более высокому выделению этих ресурсов, включая разделяемую память.

        Пример:

        maxConnections: 100
        
      • spec.configuration.sharedBuffers
        строка или число

        Устанавливает количество памяти, которое сервер базы данных использует для буферов разделяемой памяти. Этот параметр должен быть не менее 128 килобайт. Однако значения значительно выше минимума обычно нужны для хорошей производительности. Этот параметр можно установить только при запуске сервера.

        Если у вас есть выделенный сервер базы данных с 1 ГБ или более ОЗУ, разумное значение для shared_buffers составляет 25% от памяти в вашей системе. Есть некоторые рабочие нагрузки, где даже большие настройки для shared_buffers эффективны, но поскольку PostgreSQL также полагается на кэш операционной системы, маловероятно, что выделение более 25% ОЗУ для shared_buffers будет работать лучше, чем меньшее количество. Большие настройки для shared_buffers обычно требуют соответствующего увеличения max_wal_size, чтобы распределить процесс записи больших объемов новых или измененных данных на более длительный период времени.

        В системах с менее чем 1 ГБ ОЗУ подходящий меньший процент ОЗУ, чтобы оставить достаточно места для операционной системы. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        sharedBuffers: 250Mi
        
      • spec.configuration.walKeepSize
        строка или число

        Указывает минимальный размер прошлых файлов WAL, хранящихся в каталоге pg_wal, на случай, если резервный сервер должен получить их для потоковой репликации. Если резервный сервер, подключенный к отправляющему серверу, отстает более чем на wal_keep_size мегабайт, отправляющий сервер может удалить сегмент WAL, который все еще нужен резервному, в этом случае соединение репликации будет прервано. Нисходящие соединения также в конечном итоге завершатся ошибкой в результате. (Однако резервный сервер может восстановиться, получив сегмент из архива, если используется архивирование WAL.)

        Это устанавливает только минимальный размер сегментов, сохраняемых в pg_wal; системе может потребоваться сохранить больше сегментов для архивирования WAL или для восстановления из контрольной точки. Если wal_keep_size равно нулю (по умолчанию), система не сохраняет никаких дополнительных сегментов для целей резервного копирования, поэтому количество старых сегментов WAL, доступных резервным серверам, является функцией местоположения предыдущей контрольной точки и статуса архивирования WAL. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        walKeepSize: 512Mi
        
      • spec.configuration.workMem
        строка или число

        Устанавливает базовое максимальное количество памяти, которое должно использоваться операцией запроса (например, сортировка или хэш-таблица) перед записью во временные файлы на диске. Если это значение указано без единиц, оно принимается как килобайты. Значение по умолчанию — четыре мегабайта (4 МБ). Обратите внимание, что сложный запрос может выполнять несколько операций сортировки и хеширования одновременно, при этом каждая операция обычно может использовать столько памяти, сколько указывает это значение, прежде чем начнет записывать данные во временные файлы. Кроме того, несколько запущенных сессий могут выполнять такие операции одновременно. Поэтому общая используемая память может быть во много раз больше значения work_mem; необходимо помнить об этом факте при выборе значения. Операции сортировки используются для ORDER BY, DISTINCT и слияний соединений. Хэш-таблицы используются в хэш-соединениях, хэш-агрегации, узлах memoize и хэш-обработке подзапросов IN.

        Хэш-операции обычно более чувствительны к доступности памяти, чем эквивалентные операции на основе сортировки. Лимит памяти для хэш-таблицы вычисляется путем умножения work_mem на hash_mem_multiplier. Это позволяет хэш-операциям использовать количество памяти, превышающее обычное базовое количество work_mem. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        workMem: 4Mi
        
    • spec.dataSource
      объект
      Источник данных, используемый для инициализации Postgres из PostgresSnapshot или других источников данных
      • spec.dataSource.objectRef
        объект

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

        Ссылка на объект, содержащий исходные данные
        • spec.dataSource.objectRef.kind
          строка

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

          Тип ресурса (например, PostgresSnapshot)
        • spec.dataSource.objectRef.name
          строка

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

          Имя ресурса
    • spec.databases
      массив объектов
      Список логических баз данных PostgreSQL.
      • spec.databases.name
        строка
        Имя логической базы данных, которая будет создана.

        Пример:

        name: mydb
        
    • spec.instance
      объект

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

      Требования к ресурсам каждого сгенерированного Pod. Пожалуйста, пройдите по ссылке https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ для получения дополнительной информации.
      • spec.instance.cpu
        объект

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

        • spec.instance.cpu.coreFraction
          целочисленный

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

          CoreFraction — множитель для requests от limits ядер

          Пример:

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

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

          Количество ядер процессора
      • 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
          строка

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

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

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

          Пример:

          size: 1Gi
          
        • spec.instance.persistentVolumeClaim.storageClassName
          строка
          Имя storage class, который будет использоваться как хранилище для postgres. Если пусто, будет использован storageClass, который используется по умолчанию в кластере k8s. Настройка устанавливается один раз и не может быть изменена во время обновления.

          Пример:

          storageClassName: local-path
          
    • spec.postgresClassName
      строка

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

      Имя PostgresClass Kind, которое должно быть указано для валидации настроек

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

      Пример:

      postgresClassName: small
      
    • spec.tls
      объект
      Настройки TLS для сервера Postgres
      • spec.tls.certManager
        объект
        Настройки CertManager для управления TLS сертификатами Доступны только при mode = CertManager
        • spec.tls.certManager.clusterIssuerName
          строка
          Имя ресурса ClusterIssuer для cert-manager Должно быть указано только одно поле: или clusterIssuerName или issuerName
        • spec.tls.certManager.issuerName
          строка
          Имя ресурса Issuer для cert-manager Должно быть указано только одно поле: или clusterIssuerName или issuerName
      • spec.tls.customCertificate
        объект
        Настройки CustomCertificate для управления TLS сертификатами Доступны только при mode = CustomCertificate
        • spec.tls.customCertificate.serverCASecret
          строка

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

          Имя секрета, содержащего CA сертификат для TLS сервера Postgres
        • spec.tls.customCertificate.serverTLSSecret
          строка

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

          Имя секрета, содержащего TLS сертификат для сервера Postgres
      • spec.tls.mode
        строка

        Режим работы с TLS сертификатами

        • CertManager: использовать cert-manager для управления сертификатами (по-умолчанию)
        • CustomCertificate: использовать собственные сертификаты из секретов
        • K8s: использовать Kubernetes CA для выпуска сертификатов

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

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

    • spec.type
      строка
      Type указывает тип кластера

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

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

    • spec.users
      массив объектов
      Список внутренних пользователей PostgreSQL.
      • spec.users.hashedPassword
        строка

        Хешированный пароль для роли PostgreSQL.

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

        • MD5;
        • SCRAM-SHA-256.

        Если вы укажете здесь обычный пароль, он будет автоматически заменен на хеш в формате MD5 или SCRAM-SHA-256.

        Пример:

        hashedPassword: SCRAM-SHA-256$4096:9bdAkxfJ7tMWaVlcOSyKLc8uUbvVi+KBBYXWCE14maM=$g13sNwuKH0VsQnh43WqlQj8KPwS/2smQL1m0JzJkowI=:rImReuq6U7mD4KoJGIDelxsFVlXoB1stP8olJZr5Gl4=
        
      • spec.users.name
        строка
        Имя пользователя, который будет создан в PostgreSQL.

        Пример:

        name: myuser
        
      • spec.users.password
        строка

        Пароль для роли PostgreSQL в открытом виде.

        При указании автоматически преобразуется в hashedPassword, после чего удаляется из .spec.

        Если вы хотите хранить пароль в открытом виде в секрете Kubernetes, используйте параметр storeCredsToSecret.

        Пример:

        password: '123'
        
      • spec.users.role
        строка

        Предопределённая роль, в которую будет добавлен созданный пользователь.

        Поддерживаемые значения:

        • ro (только чтение);
        • rw (чтение и запись);
        • monitoring (для сбора метрик).

        Допустимые значения: ro, rw, monitoring

        Пример:

        role: rw
        
      • spec.users.storeCredsToSecret
        строка

        Имя Kubernetes Secret, в который оператор сохранит пароль в открытом виде.

        Секрет будет создан в том же пространстве имён, где расположен ресурс. Будут сформированы строки подключения ко всем созданным базам данных.

        Пример:

        storeCredsToSecret: myuser-secret
        
  • status
    объект
    PostgresStatus определяет наблюдаемое состояние PostgreSQL.
    • status.conditions
      массив объектов
      Conditions — структура показывающая состояние важных этапов работы сервиса
      • status.conditions.lastTransitionTime
        строка
      • status.conditions.message
        строка
        A human readable message indicating details about the transition.
      • status.conditions.observedGeneration
        целочисленный
        Observed generation
      • status.conditions.reason
        строка
        The reason for the condition’s last transition.
      • status.conditions.status
        строка
        Status of the condition, one of True, False, Unknown.
      • status.conditions.type
        строка
        Type of condition.
    • status.configVersion
      строка
      Версия конфигурации, которая была провалидирована
    • status.lastValidConfiguration
      объект
      Последняя валидная конфигурация
      • status.lastValidConfiguration.cluster
        объект
        • status.lastValidConfiguration.cluster.replication
          строка

          Настройка репликации определяет количество и тип реплик Возможные значения:

          • Availability: кластер с Master + 1 асинхронная реплика
          • Consistency: кластер с Master + 1 синхронная реплика
          • ConsistencyAndAvailability: кластер с Master + 1 синхронная реплика + 1 асинхронная реплика

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

          Допустимые значения: Availability, Consistency, ConsistencyAndAvailability

        • status.lastValidConfiguration.cluster.topology
          строка

          Настройка топологии определяет, как планировать кластер

          • Zonal: кластер будет запланирован в одну зону. Если возможно
          • TransZonal: кластер будет запланирован в разные зоны. Если возможно
          • Ignored: кластер будет запланирован с правилами планирования k8s по умолчанию, будет обеспечено только разделение узлов

          Пример:

          topology: Ignored
          
      • status.lastValidConfiguration.configuration
        объект
        Конфигурация
      • status.lastValidConfiguration.instance
        объект
        • status.lastValidConfiguration.instance.cpu
          объект

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

          • status.lastValidConfiguration.instance.cpu.coreFraction
            целочисленный

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

            CoreFraction — множитель для requests от limits ядер

            Пример:

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

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

            Количество ядер процессора
        • 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

            Пример:

            size: 1Gi
            
          • status.lastValidConfiguration.instance.persistentVolumeClaim.storageClassName
            строка
            Имя класса хранения, который будет использоваться как хранилище для postgres. Если пусто, будет использован storageClass, который используется по умолчанию в кластере k8s. Настройка устанавливается один раз и не может быть изменена во время обновления.

            Пример:

            storageClassName: local-path
            
      • status.lastValidConfiguration.scheduling
        объект
        output type
        • status.lastValidConfiguration.scheduling.affinity
          объект
          Affinity is a group of affinity scheduling rules.
          • status.lastValidConfiguration.scheduling.affinity.nodeAffinity
            объект
            Describes node affinity scheduling rules for the pod.
            • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
                объект
                A node selector term, associated with the corresponding weight.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
                  массив объектов
                  A list of node selector requirements by node’s labels.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
                    строка
                    The label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
                    строка
                    Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
                    массив строк
                    An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
                  массив объектов
                  A list of node selector requirements by node’s fields.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
                    строка
                    The label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
                    строка
                    Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
                    массив строк
                    An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целочисленный
                Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
            • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
              объект
              If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
              • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
                массив объектов

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

                Required. A list of node selector terms. The terms are ORed.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
                  массив объектов
                  A list of node selector requirements by node’s labels.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
                    строка
                    The label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
                    строка
                    Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
                    массив строк
                    An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
                  массив объектов
                  A list of node selector requirements by node’s fields.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
                    строка
                    The label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
                    строка
                    Represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                  • status.lastValidConfiguration.scheduling.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
                    массив строк
                    An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
          • status.lastValidConfiguration.scheduling.affinity.podAffinity
            объект
            Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
            • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding “weight” to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
                объект
                Required. A pod affinity term, associated with the corresponding weight.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
                  объект
                  A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
                    массив объектов
                    matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
                      строка
                      key is the label key that the selector applies to.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
                      строка
                      operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
                      массив строк
                      values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
                    объект
                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeys
                  массив строк
                  MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeys
                  массив строк
                  MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
                  объект
                  A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
                    массив объектов
                    matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
                      строка
                      key is the label key that the selector applies to.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
                      строка
                      operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                    • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
                      массив строк
                      values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
                    объект
                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
                  массив строк
                  namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
                  строка

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

                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целочисленный
                weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
            • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
              массив объектов
              If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
                объект
                A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
                  массив объектов
                  matchExpressions is a list of label selector requirements. The requirements are ANDed.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                    строка
                    key is the label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                    строка
                    operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                    массив строк
                    values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
                  объект
                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
                массив строк
                MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
                массив строк
                MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
                объект
                A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
                  массив объектов
                  matchExpressions is a list of label selector requirements. The requirements are ANDed.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                    строка
                    key is the label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                    строка
                    operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                  • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                    массив строк
                    values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
                  объект
                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
                массив строк
                namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
              • status.lastValidConfiguration.scheduling.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
                строка
                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
          • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity
            объект
            Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
            • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
              массив объектов
              The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and subtracting “weight” from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
                объект
                Required. A pod affinity term, associated with the corresponding weight.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
                  объект
                  A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
                    массив объектов
                    matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
                      строка
                      key is the label key that the selector applies to.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
                      строка
                      operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
                      массив строк
                      values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
                    объект
                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.matchLabelKeys
                  массив строк
                  MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.mismatchLabelKeys
                  массив строк
                  MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
                  объект
                  A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
                    массив объектов
                    matchExpressions is a list of label selector requirements. The requirements are ANDed.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
                      строка
                      key is the label key that the selector applies to.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
                      строка
                      operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                    • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
                      массив строк
                      values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
                    объект
                    matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
                  массив строк
                  namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
                  строка

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

                  This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
                целочисленный
                weight associated with matching the corresponding podAffinityTerm, in the range 1-100.
            • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
              массив объектов
              If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
                объект
                A label query over a set of resources, in this case pods. If it’s null, this PodAffinityTerm matches with no Pods.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
                  массив объектов
                  matchExpressions is a list of label selector requirements. The requirements are ANDed.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
                    строка
                    key is the label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
                    строка
                    operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
                    массив строк
                    values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
                  объект
                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
                массив строк
                MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key in (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn’t set.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
                массив строк
                MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with labelSelector as key notin (value) to select the group of existing pods which pods will be taken into consideration for the incoming pod’s pod (anti) affinity. Keys that don’t exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn’t set.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
                объект
                A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means “this pod’s namespace”. An empty selector ({}) matches all namespaces.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
                  массив объектов
                  matchExpressions is a list of label selector requirements. The requirements are ANDed.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
                    строка
                    key is the label key that the selector applies to.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
                    строка
                    operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
                  • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
                    массив строк
                    values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
                • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
                  объект
                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
                массив строк
                namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means “this pod’s namespace”.
              • status.lastValidConfiguration.scheduling.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
                строка
                This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
        • status.lastValidConfiguration.scheduling.nodeSelector
          объект
        • status.lastValidConfiguration.scheduling.tolerations
          массив объектов
          • status.lastValidConfiguration.scheduling.tolerations.effect
            строка
            Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
          • status.lastValidConfiguration.scheduling.tolerations.key
            строка
            Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
          • status.lastValidConfiguration.scheduling.tolerations.operator
            строка
            Operator represents a key’s relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
          • status.lastValidConfiguration.scheduling.tolerations.tolerationSeconds
            целочисленный
            TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
          • status.lastValidConfiguration.scheduling.tolerations.value
            строка
            Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
        • status.lastValidConfiguration.scheduling.warnings
          массив строк
      • status.lastValidConfiguration.type
        строка
        Тип кластера

PostgresClass

Scope: Cluster
Version: v1alpha1

PostgresClass — схема для API ресурса postgresclasses
  • 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
    объект
    PostgresClassSpec определяет желаемое состояние PostgresClass Ресурс для администратора кластера, который может валидировать ресурсы Postgres параметрами allowedConfiguration, sizingPolicies, validationRules и т.д.
    • spec.configuration
      объект
      Параметры конфигурации PostgreSQL. Любые параметры, которые будут указаны здесь, будут использоваться как значения по умолчанию в связанных Postgres Custom Resources
      • spec.configuration.maxConnections
        целочисленный

        Определяет максимальное количество одновременных подключений к серверу базы данных. Этот параметр будет применен только при перезапуске сервера.

        PostgreSQL размеры определенных ресурсов основываются непосредственно на значении max_connections. Увеличение его значения приводит к более высокому выделению этих ресурсов, включая разделяемую память.

        Пример:

        maxConnections: 100
        
      • spec.configuration.sharedBuffers
        строка или число

        Устанавливает количество памяти, которое сервер базы данных использует для буферов разделяемой памяти. Этот параметр должен быть не менее 128 килобайт. Однако значения значительно выше минимума обычно нужны для хорошей производительности. Этот параметр будет применен только при перезапуске сервера.

        Если у вас есть выделенный сервер базы данных с 1 ГБ или более ОЗУ, разумное значение для shared_buffers составляет 25% от памяти в вашей системе. Есть некоторые рабочие нагрузки, где даже большие настройки для shared_buffers эффективны, но поскольку PostgreSQL также полагается на кэш операционной системы, маловероятно, что выделение более 25% ОЗУ для shared_buffers будет работать лучше, чем меньшее количество. Большие настройки для shared_buffers обычно требуют соответствующего увеличения max_wal_size, чтобы распределить процесс записи больших объемов новых или измененных данных на более длительный период времени.

        В системах с менее чем 1 ГБ ОЗУ подходящий меньший процент ОЗУ, чтобы оставить достаточно места для операционной системы. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        sharedBuffers: 250Mi
        
      • spec.configuration.walKeepSize
        строка или число

        Указывает минимальный размер прошлых файлов WAL, хранящихся в каталоге pg_wal, на случай, если резервный сервер должен получить их для потоковой репликации. Если резервный сервер, подключенный к отправляющему серверу, отстает более чем на wal_keep_size мегабайт, отправляющий сервер может удалить сегмент WAL, который все еще нужен резервному, в этом случае соединение репликации будет прервано. Нисходящие соединения также в конечном итоге завершатся ошибкой в результате. (Однако резервный сервер может восстановиться, получив сегмент из архива, если используется архивирование WAL.)

        Это устанавливает только минимальный размер сегментов, сохраняемых в pg_wal; системе может потребоваться сохранить больше сегментов для архивирования WAL или для восстановления из контрольной точки. Если wal_keep_size равно нулю (по умолчанию), система не сохраняет никаких дополнительных сегментов для целей резервного копирования, поэтому количество старых сегментов WAL, доступных резервным серверам, является функцией местоположения предыдущей контрольной точки и статуса архивирования WAL. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        walKeepSize: 512Mi
        
      • spec.configuration.workMem
        строка или число

        Устанавливает базовое максимальное количество памяти, которое должно использоваться операцией запроса (например, сортировка или хэш-таблица) перед записью во временные файлы на диске. Если это значение указано без единиц, оно принимается как килобайты. Значение по умолчанию — четыре мегабайта (4 МБ). Обратите внимание, что сложный запрос может выполнять несколько операций сортировки и хеширования одновременно, при этом каждая операция обычно может использовать столько памяти, сколько указывает это значение, прежде чем начнет записывать данные во временные файлы. Кроме того, несколько запущенных сессий могут выполнять такие операции одновременно. Поэтому общая используемая память может быть во много раз больше значения work_mem; необходимо помнить об этом факте при выборе значения. Операции сортировки используются для ORDER BY, DISTINCT и слияний соединений. Хэш-таблицы используются в хэш-соединениях, хэш-агрегации, узлах memoize и хэш-обработке подзапросов IN.

        Хэш-операции обычно более чувствительны к доступности памяти, чем эквивалентные операции на основе сортировки. Лимит памяти для хэш-таблицы вычисляется путем умножения work_mem на hash_mem_multiplier. Это позволяет хэш-операциям использовать количество памяти, превышающее обычное базовое количество work_mem. Должно быть установлено с единицами k8s как Gi/Mi/Ki/M/G

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

        Пример:

        workMem: 4Mi
        
    • spec.nodeAffinity
      объект
      Node affinity концептуально похожа на nodeSelector, позволяя ограничить узлы, на которые может быть развернут ваш Pod, на основе labels.
      • 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
      объект
      Позволяет назначать поды кластера PG указанным узлам. То же самое, что и в параметре spec.nodeSelector для Kubernetes Pods.
    • spec.overridableConfiguration
      массив строк
      Массив конфигураций PostgreSQL, которые разрешено изменять пользователю Параметры, которые укажет пользователь, переопределят все существующие поля в Configuration
    • spec.sizingPolicies
      массив объектов

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

      SizingPolicy — это массив, который определяет политику выделения вычислительных ресурсов экземплярам Postgres. Диапазоны cores.mincores.max для разных элементов списка не должны перекрываться.
      • spec.sizingPolicies.coreFractions
        массив целых чисел
        Множитель для настройки 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 подов Postgres.
      • spec.tolerations.effect
        строка

        Эффект taint для соответствия.

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

        • NoSchedule;
        • PreferNoSchedule;
        • NoExecute.

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

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

        Ключ taint, к которому применяется toleration. Пустое значение означает соответствие любому ключу.

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

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

        Отношение ключа (key) к значению (value). Допустимые операторы:

        • Exists;
        • Equal (по умолчанию).

        Exists эквивалентен подстановочному знаку для значения, поэтому к поду могут применяться все taints определенной категории.

      • spec.tolerations.tolerationSeconds
        целочисленный
        Период времени, в течение которого toleration с эффектом NoExecute допускает taint. По умолчанию не установлено, что предписывает допускать taint бессрочно (не вытеснять под). Нулевые и отрицательные значения интерпретируются системой как 0 (немедленное вытеснение пода).
      • spec.tolerations.value
        строка
        Значение taint, которому соответствует toleration. При operator: Exists значение должно быть пустым. В другом случае должна быть указана обычная строка.
    • spec.topology
      объект

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

      Описание разрешенной топологии PostgreSQL.
      • spec.topology.allowedTopologies
        массив строк

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

        AllowedTopologies — массив типов топологии, которые разрешено использовать

        • Zonal: кластер будет развернут в одну зону. Если возможно
        • TransZonal: кластер будет развернут в разные зоны. Если возможно
        • Ignored: кластер будет развернут с правилами планирования k8s по умолчанию, будет обеспечено только разделение узлов
        • spec.topology.allowedTopologies.Элемент массива
          строка

          Допустимые значения: Ignored, Zonal, TransZonal

      • spec.topology.allowedZones
        массив строк
        AllowedZones — массив зон, которые разрешено использовать

        По умолчанию: []

      • spec.topology.defaultTopology
        строка

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

        DefaultTopology, которая будет использоваться всеми связанными сервисами PostgreSQL.
    • spec.validations
      массив объектов
      Формулы валидации, которые позволяют проверить все настроенные конфигурации. Поддерживается только язык CEL.
      • spec.validations.message
        строка
        Сообщение, которое будет выводиться при неудачном выполнении правила (rule).

        Пример:

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

        Правило для проверки конфигурации PostgreSQL.

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

        • configuration.maxConnections;
        • configuration.workMem;
        • configuration.sharedBuffers;
        • configuration.walKeepSize;
        • instance.memory.size;
        • instance.cpu.cores.

        Пример:

        rule: configuration.maxConnections > 100
        

PostgresSnapshot

Scope: Namespaced
Version: v1alpha1

PostgresSnapshot — это схема для API postgressnapshots
  • 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
    объект
    PostgresSnapshotSpec определяет желаемое состояние PostgresSnapshot
    • spec.postgresName
      строка

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

      Имя управляемого сервиса Postgres
  • status
    объект
    PostgresSnapshotStatus определяет наблюдаемое состояние PostgresSnapshot
    • status.completedAt
      строка
      Время завершения резервного копирования.
    • status.error
      строка
      Обнаруженная ошибка
    • status.phase
      строка
      Фаза текущего снимка
    • status.postgres
      объект
      Конфигурация Postgres
      • status.postgres.cluster
        объект
        Структура, которая определяет настройки кластера, такие как топология и репликация
        • status.postgres.cluster.replication
          строка

          Настройка репликации указывает количество и тип реплик Возможные значения:

          • Availability: кластер с Master + 1 асинхронной репликой
          • Consistency: кластер с Master + 1 синхронной репликой
          • ConsistencyAndAvailability: кластер с Master + 1 синхронной репликой + 1 асинхронной репликой

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

          Допустимые значения: Availability, Consistency, ConsistencyAndAvailability

        • status.postgres.cluster.topology
          строка

          Настройка топологии определяет, как планировать кластер

          • Zonal: кластер будет запланирован в одной зоне, если возможно
          • TransZonal: кластер будет запланирован в разных зонах, если возможно
          • Ignored: кластер будет запланирован с использованием правил планирования k8s по умолчанию, будет обеспечено только разделение узлов

          Пример:

          topology: Ignored
          
      • status.postgres.configuration
        объект
        Параметры конфигурации Postgres
        • status.postgres.configuration.maxConnections
          целочисленный

          Определяет максимальное количество одновременных подключений к серверу базы данных. Этот параметр может быть установлен только при запуске сервера.

          PostgreSQL выделяет определенные ресурсы непосредственно на основе значения max_connections. Увеличение его значения приводит к более высокому выделению этих ресурсов, включая разделяемую память.

          Пример:

          maxConnections: 100
          
        • status.postgres.configuration.sharedBuffers
          строка или число

          Устанавливает объем памяти, который сервер базы данных использует для буферов разделяемой памяти. Эта настройка должна быть не менее 128 килобайт. Однако для хорошей производительности обычно требуются значительно более высокие значения, чем минимум. Этот параметр может быть установлен только при запуске сервера.

          Если у вас есть выделенный сервер базы данных с 1 ГБ или более оперативной памяти, разумное значение для shared_buffers составляет 25% от памяти в вашей системе. Существуют некоторые рабочие нагрузки, при которых даже более высокие настройки для shared_buffers эффективны, но поскольку PostgreSQL также использует кэш операционной системы, маловероятно, что выделение более 25% оперативной памяти для shared_buffers будет работать лучше, чем меньшее количество. Более высокие настройки для shared_buffers обычно требуют соответствующего увеличения max_wal_size, чтобы распределить процесс записи больших объемов новых или измененных данных на более длительный период времени.

          В системах с менее чем 1 ГБ оперативной памяти подходит меньший процент оперативной памяти, чтобы оставить достаточно места для операционной системы. Должно быть установлено с использованием единиц k8s, таких как Gi/Mi/Ki/M/G

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

          Пример:

          sharedBuffers: 250Mi
          
        • status.postgres.configuration.walKeepSize
          строка или число

          Указывает минимальный размер прошлых WAL-файлов, хранящихся в каталоге pg_wal, на случай, если резервному серверу нужно извлечь их для потоковой репликации. Если резервный сервер, подключенный к отправляющему серверу, отстает более чем на wal_keep_size мегабайт, отправляющий сервер может удалить WAL-сегмент, все еще необходимый резервному серверу, в этом случае соединение репликации будет прервано. В результате также в конечном итоге произойдет сбой нижестоящих соединений. (Однако резервный сервер может восстановиться, извлекая сегмент из архива, если используется архивирование WAL.)

          Это устанавливает только минимальный размер сегментов, сохраненных в pg_wal; система может потребоваться сохранить больше сегментов для архивирования WAL или для восстановления после контрольной точки. Если wal_keep_size равен нулю (по умолчанию), система не сохраняет никаких дополнительных сегментов для целей резервного копирования, поэтому количество старых WAL-сегментов, доступных резервным серверам, зависит от местоположения предыдущей контрольной точки и статуса архивирования WAL. Должно быть установлено с использованием единиц k8s, таких как Gi/Mi/Ki/M/G

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

          Пример:

          walKeepSize: 512Mi
          
        • status.postgres.configuration.workMem
          строка или число

          Устанавливает базовый максимальный объем памяти, который будет использоваться операцией запроса (например, сортировкой или хеш-таблицей) перед записью во временные дисковые файлы. Если это значение указано без единиц, оно принимается в килобайтах. Значение по умолчанию — четыре мегабайта (4 МБ). Обратите внимание, что сложный запрос может одновременно выполнять несколько операций сортировки и хеширования, каждая из которых обычно может использовать столько памяти, сколько указывает это значение, прежде чем начнет записывать данные во временные файлы. Кроме того, несколько работающих сеансов могут одновременно выполнять такие операции. Таким образом, общая используемая память может быть во много раз больше значения work_mem; необходимо помнить об этом факте при выборе значения. Операции сортировки используются для ORDER BY, DISTINCT и слияний слияния. Хеш-таблицы используются в хеш-соединениях, хеш-агрегации, узлах memoize и хеш-обработке подзапросов IN.

          Операции на основе хеширования обычно более чувствительны к доступности памяти, чем эквивалентные операции на основе сортировки. Предел памяти для хеш-таблицы вычисляется путем умножения work_mem на hash_mem_multiplier. Это позволяет операциям на основе хеширования использовать объем памяти, превышающий обычную базовую сумму work_mem. Должно быть установлено с использованием единиц k8s, таких как Gi/Mi/Ki/M/G

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

          Пример:

          workMem: 4Mi
          
      • status.postgres.dataSource
        объект
        Source of data uses for init Postgres from PostgresSnapshots or other sources of data
        • status.postgres.dataSource.objectRef
          объект

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

          • status.postgres.dataSource.objectRef.kind
            строка

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

          • status.postgres.dataSource.objectRef.name
            строка

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

      • status.postgres.databases
        массив объектов
        Список логических баз данных Postgres
        • status.postgres.databases.name
          строка
          Имя логической базы данных, которая будет создана

          Пример:

          name: mydb
          
      • status.postgres.instance
        объект

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

        Требования к ресурсам каждого сгенерированного Pod. Для получения дополнительной информации обратитесь к https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
        • status.postgres.instance.cpu
          объект

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

          • status.postgres.instance.cpu.coreFraction
            целочисленный

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

            CoreFraction — это множитель для запросов лимитов ядер

            Пример:

            coreFraction: 50
            
          • status.postgres.instance.cpu.cores
            целочисленный

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

        • status.postgres.instance.memory
          объект

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

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

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

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

            Пример:

            size: 1Gi
            
        • status.postgres.instance.persistentVolumeClaim
          объект

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

          • status.postgres.instance.persistentVolumeClaim.size
            строка

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

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

            Пример:

            size: 1Gi
            
          • status.postgres.instance.persistentVolumeClaim.storageClassName
            строка
            Имя класса хранения, который будет использоваться в качестве хранилища для экземпляров. Если пусто, будет использован storageClass, помеченный как defaulted в кластере k8s. Настройка устанавливается один раз и не может быть изменена во время обновления.

            Пример:

            storageClassName: local-path
            
      • status.postgres.postgresClassName
        строка

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

        Имя PostgresClass Kind, которое должно быть указано для проверки настроек

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

        Пример:

        postgresClassName: small
        
      • status.postgres.tls
        объект
        TLS configuration for Postgres server
        • status.postgres.tls.certManager
          объект
          CertManager configuration for TLS certificate management Available only when mode is CertManager
          • status.postgres.tls.certManager.clusterIssuerName
            строка
            Name of the ClusterIssuer resource for cert-manager Only one of clusterIssuerName or issuerName can be specified
          • status.postgres.tls.certManager.issuerName
            строка
            Name of the Issuer resource for cert-manager Only one of clusterIssuerName or issuerName can be specified
        • status.postgres.tls.customCertificate
          объект
          CustomCertificate configuration for TLS certificate management Available only when mode is CustomCertificate
          • status.postgres.tls.customCertificate.serverCASecret
            строка

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

            Name of the secret containing the CA certificate for the TLS server certificate
          • status.postgres.tls.customCertificate.serverTLSSecret
            строка

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

            Name of the secret containing the TLS server certificate for Postgres
        • status.postgres.tls.mode
          строка

          Mode specifies the TLS certificate management mode

          • CertManager: use cert-manager for certificate management
          • CustomCertificate: use custom certificates from secrets
          • K8s: use Kubernetes CA for issuing certificates

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

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

      • status.postgres.type
        строка
        Type указывает тип кластера

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

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

      • status.postgres.users
        массив объектов
        Список внутренних пользователей Postgres
        • status.postgres.users.hashedPassword
          строка
          HashedPassword роли postgresql Вы можете указать здесь пароль в формате хеша MD5/SCRAM-SHA-256, если хотите сделать его более безопасным. Вы можете указать пароль вместо этого, но мы все равно заменим его на MD5/SCRAM-SHA-256.

          Пример:

          hashedPassword: SCRAM-SHA-256$4096:9bdAkxfJ7tMWaVlcOSyKLc8uUbvVi+KBBYXWCE14maM=$g13sNwuKH0VsQnh43WqlQj8KPwS/2smQL1m0JzJkowI=:rImReuq6U7mD4KoJGIDelxsFVlXoB1stP8olJZr5Gl4=
          
        • status.postgres.users.name
          строка
          Имя пользователя, который будет создан в Postgres

          Пример:

          name: myuser
          
        • status.postgres.users.password
          строка
          Пароль в виде простого текста роли postgresql Обратите внимание, что мы преобразуем его в hashedPassword и удалим из Spec Если вы хотите хранить пароль в виде простого текста в секрете, укажите storeCredsToSecret.

          Пример:

          password: '123'
          
        • status.postgres.users.role
          строка
          Назначить пользователя одной из существующих ролей, к которой этот пользователь будет немедленно добавлен в качестве нового участника. Возможные значения: ro, rw, monitoring.

          Допустимые значения: ro, rw, monitoring

          Пример:

          role: rw
          
        • status.postgres.users.storeCredsToSecret
          строка
          StoreCredsToSecret — это параметр, который позволяет вам сохранять пароль в виде простого текста в секрете Укажите имя секрета, который будет создан оператором Секрет будет создан в пространстве имен с паролем в виде простого текста, и для каждой созданной базы данных будут добавлены строки подключения.

          Пример:

          storeCredsToSecret: myuser-secret
          
    • status.startedAt
      строка
      Когда резервное копирование было начато
    • status.volumeSnapshotName
      строка
      Имя связанного снимка тома