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

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.databases
      массив объектов
      Список логических баз данных postgres
      • spec.databases.name
        строка
        Name of the logical database to be created

        Пример:

        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.type
      строка
      Type указывает тип кластера

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

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

    • spec.users
      массив объектов
      Список внутренних пользователей postgres
      • spec.users.hashedPassword
        строка
        HashedPassword of the postgresql role You can specify here MD5/SCRAM-SHA-256 hash formated password if you want to make it more secure. You can specify password instead, but we will replace it with MD5/SCRAM-SHA-256 anyways.

        Пример:

        hashedPassword: SCRAM-SHA-256$4096:9bdAkxfJ7tMWaVlcOSyKLc8uUbvVi+KBBYXWCE14maM=$g13sNwuKH0VsQnh43WqlQj8KPwS/2smQL1m0JzJkowI=:rImReuq6U7mD4KoJGIDelxsFVlXoB1stP8olJZr5Gl4=
        
      • spec.users.name
        строка
        Name of the user that will be created in Postgres

        Пример:

        name: myuser
        
      • spec.users.password
        строка
        Plain text Password of the postgresql role Note that, we will morph it to hashedPassword, and deleted from Spec If you want to store plain texted password in secret, please specify storeCredsToSecret.

        Пример:

        password: "123"
        
      • spec.users.role
        строка
        Make user one of existing roles to which this user will be immediately added as a new member. Possible values: ro, rw, monitoring.

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

        Пример:

        role: rw
        
      • spec.users.storeCredsToSecret
        строка
        StoreCredsToSecret is the parameter that allows you to store your plain text password into the secret Provide name of the secret that will be created by operator Secret will be created in namespace with plain-text password and connection strings will be added for each created database.

        Пример:

        storeCredsToSecret: myuser-secret
        

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
      объект
      Параметры конфигурации Postgres Любые параметры, которые будут указаны здесь, будут использоваться как значения по умолчанию в связанных 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
          объект
          A node selector term, associated with the corresponding weight.
          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
            массив объектов
            A list of node selector requirements by node’s labels.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
              строка
              The label key that the selector applies to.
            • spec.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.
            • spec.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.
          • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
            массив объектов
            A list of node selector requirements by node’s fields.
            • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
              строка
              The label key that the selector applies to.
            • spec.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.
            • spec.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.
        • spec.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
          целочисленный
          Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
      • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
        объект
        Если требования affinity, указанные этим полем, не выполняются во время планирования, под не будет запланирован на узел. Если требования affinity, указанные этим полем, перестают выполняться в какой-то момент во время выполнения пода (например, из-за обновления), система может или не может попытаться в конечном итоге выселить под с его узла.
        • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
          массив объектов

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

          Обязательно. Список терминов селектора узла. Термины объединяются через ИЛИ.
          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
            массив объектов
            A list of node selector requirements by node’s labels.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
              строка
              The label key that the selector applies to.
            • spec.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.
            • spec.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.
          • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
            массив объектов
            A list of node selector requirements by node’s fields.
            • spec.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
              строка
              The label key that the selector applies to.
            • spec.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.
            • spec.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.
    • spec.nodeSelector
      объект
      Позволяет назначать поды кластера PG указанным узлам. То же самое, что и в параметре spec.nodeSelector для Kubernetes Pods.
    • spec.overridableConfiguration
      массив строк
      Массив конфигураций PostgreSQL, которые разрешено изменять пользователю Параметры, которые укажет пользователь, переопределят все существующие поля в Configuration
    • spec.sizingPolicies
      массив объектов

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

      SizingPolicy — это массив, который определяет политику выделения вычислительных ресурсов экземплярам Postgres. Диапазоны cores.min - cores.max для разных элементов списка не должны перекрываться.
      • spec.sizingPolicies.coreFractions
        массив целых чисел
        CoreFraction is the multiplier for requests of the cores limits. It is array of uints

        Пример:

        coreFractions:
        - 10
        - 30
        - 50
        - 100
        
      • spec.sizingPolicies.cores
        объект
        Cores structure uses to specify range of applicable cores range
        • spec.sizingPolicies.cores.max
          целочисленный

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

          Higher limit for Cores setting

          Пример:

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

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

          Lower limit for Cores setting

          Пример:

          min: 1
          
      • spec.sizingPolicies.memory
        объект
        Memory structure uses to specify range of applicable memory settings and a step
        • spec.sizingPolicies.memory.max
          строка или число

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

          Higher limit for Memory setting

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

          Пример:

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

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

          Lower limit for Memory setting

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

          Пример:

          min: 128Mi
          
        • spec.sizingPolicies.memory.step
          строка или число
          Divider for Memory setting, it must be divisible without remainder

          Шаблон: ^(\+|-)?(([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
        строка
        Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
      • spec.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.
      • spec.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.
      • spec.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.
      • spec.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.
    • spec.topology
      объект

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

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

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

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

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

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

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

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

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

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

        DefaultTopology, которая будет использоваться всеми связанными сервисами Postgres
    • spec.validations
      массив объектов
      Формулы валидации, которые позволяют проверить все настроенные конфигурации Поддерживается только язык CEL
      • spec.validations.message
        строка
        Message that will be shown in case of fail of the rule

        Пример:

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

        Rule that will validate Postgres Configuration There are predefined variables that can be used:

        • 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