Definición de recurso personalizado de PgBouncer v1.5.0

Selecciona una versión de la documentación:

Esquema de especificación

PgBouncerSpec define el estado seleccionado de PgBouncer.

accessMode: string
allowSuperUserAccess: boolean
dbclusterRef: string
parameters: object
podSpec:
  image: string
  resources:
    cpu: integer or string
    memory: integer or string
  schedulingconfig:
    nodeaffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
        preference:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchFields:
          - key: string
            operator: string
            values: string
        weight: integer
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchFields:
          - key: string
            operator: string
            values: string
    podAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: string
              operator: string
              values: string
            matchLabels: object
          namespaceSelector:
            matchExpressions:
            - key: string
              operator: string
              values: string
            matchLabels: object
            namespaces: string
            topologyKey: string
        weight: integer
      requiredDuringSchedulingIgnoredDuringExecution:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaces: string
        topologyKey: string
    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
        podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: string
              operator: string
              type: string
            matchLabels: object
          namespaceSelector:
            matchExpressions:
            - key: string
              operator: string
              values: string
            matchLabels: object
          namespaces: string
          topologyKey: string
        weight: integer
      requiredDuringSchedulingIgnoredDuringExecution:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            type: string
          matchLabels: object
        namespaces: string
        topologyKey: string
    tolerations:
    - effect: string
      key: string
      operator: string
      tolerationSeconds: integer
      value: string
replicaCount: integer
serverTLS:
  certSecret:
    name: string
serviceOptions:
  annotations: object
  gcp:
    loadBalancerIP: string
    loadBalancerType: string
  loadBalancerSourceRanges: array
    items: string
  type: object

Campo

Tipo
Obligatorio u opcional

 

Descripción
accessMode
string
Opcional
Define los modos de acceso read-write o read-only para las conexiones de PgBouncer. El valor predeterminado es read-only.
allowSuperUserAccess
boolean
Opcional
AllowSuperUserAccess puede tener el valor true o false.
dbclusterRef
string
Obligatorio
DBClusterRef es el nombre de DBCluster para el que PgBouncer agrupa las conexiones. Debe crear el objeto PgBouncer en el mismo espacio de nombres que el objeto DBCluster al que hace referencia. Este campo es obligatorio para la agrupación de conexiones de PgBouncer.
parameters
object
Opcional
Los parámetros contendrán pares clave-valor de varias configuraciones de PgBouncer que se pueden definir. Consulta las https://www.pgbouncer.org/config.html. Crear un servicio PgBouncer proporciona algunos ejemplos de esta especificación.
podspec
object
Obligatorio
PodSpec contiene las especificaciones del pod de PgBouncer. Contiene los recursos de imagen, computación y almacenamiento que sirven al pod de PgBouncer, junto con las opciones de programación.
podSpec.image
string
Obligatorio
Image es el identificador uniforme de recursos de una imagen de pgbouncer personalizada en el registro de artefactos.
podSpec.resources
object
Obligatorio
Resources representa la configuración actual de la memoria y la CPU.
podSpec.resources.cpu
integer or string
Obligatorio
Cantidad de CPU asignada al contenedor pgbouncer.
podSpec.resources.memory
integer or string
Obligatorio
Cantidad de memoria asignada al contenedor de PgBouncer.
podSpec.schedulingConfig
object
Opcional
Usa el campo SchedulingConfig para especificar cómo se programa la instancia en los nodos de Kubernetes. Si se cambia algún campo de la configuración de la programación, es posible que Kubernetes vuelva a programar el pod en otro nodo, en función de la nueva configuración.
podSpec.schedulingConfig.nodeAffinity
object
Opcional
NodeAffinity describe las reglas de programación de afinidad de nodos de la instancia.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
Este campo te permite especificar las preferencias de afinidad para programar pods. El programador intenta colocar pods en nodos que coincidan con tus preferencias. Sin embargo, no siempre es posible. El programador calcula un "peso" para cada nodo en función de lo bien que se ajuste a tus preferencias y elige el nodo con el peso más alto.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obligatorio
Un término de selector de nodos asociado al peso correspondiente.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Opcional
Lista de requisitos del selector de nodos por etiquetas de nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obligatorio
Clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
Obligatorio
Representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists, DoesNotExist, Gt y Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
Opcional
Una matriz de valores de cadena. Si el operador es In o NotIn, el array de valores no puede estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Si el operador es Gt o Lt, la matriz de valores debe tener un solo elemento, que se interpreta como un número entero. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Opcional
Lista de requisitos de selectores de nodos por campos de nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obligatorio
Clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
Obligatorio
Representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists, DoesNotExist, Gt y Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
Opcional
Una matriz de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Si el operador es Gt o Lt, la matriz de valores debe tener un solo elemento, que se interpreta como un número entero. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
El peso asociado a la coincidencia con el nodeSelectorTerm correspondiente está comprendido entre 1 y 100 (ambos incluidos).
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Si no se cumplen los requisitos de afinidad de este campo, el programador no programa el pod en el nodo. Si los requisitos de afinidad especificados en este campo no se cumplen en algún momento durante la ejecución del pod (por ejemplo, debido a una actualización), el sistema puede intentar o no expulsar el pod de su nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obligatorio
Lista de términos de selector de nodos. Los términos se combinan con el operador OR.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Opcional
Lista de requisitos del selector de nodos por etiquetas de nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obligatorio
Clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
Obligatorio
Representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists, DoesNotExist, Gt y Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
Opcional
Una matriz de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Si el operador es Gt o Lt, la matriz de valores debe tener un solo elemento, que se interpreta como un número entero. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Opcional
Lista de requisitos de selectores de nodos por campos de nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obligatorio
Clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
Obligatorio
Representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists, DoesNotExist, Gt y Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
Opcional
Una matriz de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Si el operador es Gt o Lt, la matriz de valores debe tener un solo elemento, que se interpreta como un número entero. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAffinity
object
Opcional
PodAffinity describe las reglas de programación de afinidad de pods de la instancia.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
El programador prioriza los nodos que cumplen las expresiones de afinidad especificadas en este campo al programar pods. Es posible que el programador elija un nodo que no cumpla todos los criterios. El nodo preferido es el que tiene el peso total más alto. Este peso se calcula sumando los valores de cada nodo que cumpla todos los requisitos de programación (como las solicitudes de recursos o las expresiones de afinidad requiredDuringScheduling). Por cada podAffinityTerm coincidente, el peso del nodo aumenta y los nodos con el peso total más alto se seleccionan como los más preferidos.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Un término de afinidad de pod asociado al peso correspondiente.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Una consulta de etiquetas sobre un conjunto de recursos (en este caso, pods).
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
Para que se produzca una coincidencia, todas las matchExpressions de la lista deben ser verdaderas.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatorio
Clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Una consulta de etiqueta sobre el conjunto de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres seleccionados por este campo y los que se indican en el campo namespaces. Si el selector es nulo y la lista de espacios de nombres es nula o está vacía, significa "el espacio de nombres de este pod". Un selector vacío ({}) coincide con todos los espacios de nombres.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres que se indican en este campo y los que se seleccionan mediante namespaceSelector. Si la lista de espacios de nombres es nula o está vacía, y namespaceSelector es nulo, significa "el espacio de nombres de este pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatorio
Este pod debe estar en la misma ubicación (afinidad) o no (antiafinidad) que los pods que coincidan con el labelSelector de los espacios de nombres especificados. Se considera que están ubicados en el mismo lugar si se ejecutan en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute alguno de los pods seleccionados. No se permite que topologyKey esté vacío.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Peso asociado a la coincidencia con el podAffinityTerm correspondiente, en el intervalo de 1 a 100.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Si no se cumplen los requisitos de afinidad especificados en este campo en el momento de la programación, el pod no se programará en el nodo. Si no se cumplen los requisitos de afinidad especificados en este campo en algún momento durante la ejecución del pod (por ejemplo, debido a una actualización de la etiqueta del pod), el sistema puede intentar o no expulsar el pod de su nodo. Cuando hay varios elementos, se cruzan las listas de nodos correspondientes a cada podAffinityTerm, lo que significa que se deben cumplir todos los términos.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiquetas sobre un conjunto de recursos (en este caso, pods).
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiquetas sobre un conjunto de recursos (en este caso, pods).
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
Para que se produzca una coincidencia, todas las matchExpressions de la lista deben ser verdaderas.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Una consulta de etiqueta sobre el conjunto de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres seleccionados por este campo y los que se indican en el campo namespaces. Si el selector es nulo y la lista de espacios de nombres es nula o está vacía, significa "el espacio de nombres de este pod". Un selector vacío ({}) coincide con todos los espacios de nombres.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists, DoesNotExist, Gt y Lt.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres que se indican en este campo y los que se seleccionan mediante namespaceSelector. Si la lista de espacios de nombres es nula o está vacía, y namespaceSelector es nulo, significa "el espacio de nombres de este pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatorio
Este pod debe estar en la misma ubicación (afinidad) o no (antiafinidad) que los pods que coincidan con el labelSelector de los espacios de nombres especificados. Se considera que están ubicados en el mismo lugar si se ejecutan en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute alguno de los pods seleccionados. No se permite que topologyKey esté vacío.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity describe las reglas de programación de antiafinidad de pods de la instancia.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
El programador prefiere programar pods en nodos que cumplan las expresiones de antiafinidad especificadas en este campo, pero puede elegir un nodo que no cumpla una o varias de las expresiones. El nodo preferido es el que tiene la mayor suma de pesos. En otras palabras, para cada nodo que cumpla todos los requisitos de programación (solicitud de recursos, expresiones de antiafinidad requiredDuringScheduling, etc.), calcula una suma iterando por los elementos de este campo y añadiendo "peso" a la suma si el nodo tiene pods que coincidan con el podAffinityTerm correspondiente. Los nodos con la suma más alta son los preferidos.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Un término de afinidad de pod asociado al peso correspondiente.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Una consulta de etiquetas sobre un conjunto de recursos (en este caso, pods).
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Una consulta de etiqueta sobre el conjunto de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres seleccionados por este campo y los que se indican en el campo namespaces. Si el selector es nulo y la lista de espacios de nombres es nula o está vacía, significa "el espacio de nombres de este pod". Un selector vacío ({}) coincide con todos los espacios de nombres.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
Un mapa de pares clave-valor. Cada par clave-valor actúa como un requisito. El programador asigna pods a los nodos que tienen todas las etiquetas especificadas en matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres que se indican en este campo y los que se seleccionan mediante namespaceSelector. Si la lista de espacios de nombres es nula o está vacía, y namespaceSelector es nulo, significa "el espacio de nombres de este pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatorio
Este pod debe estar en la misma ubicación (afinidad) o no (antiafinidad) que los pods que coincidan con el labelSelector de los espacios de nombres especificados. Se considera que están ubicados en el mismo lugar si se ejecutan en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute alguno de los pods seleccionados. No se permite que topologyKey esté vacío.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Peso asociado a la coincidencia con el podAffinityTerm correspondiente, en el intervalo de 1 a 100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Si no se cumplen los requisitos de antiafinidad especificados en este campo en el momento de la programación, el pod no se programa en el nodo. Si los requisitos de antiafinidad especificados en este campo dejan de cumplirse en algún momento durante la ejecución del pod (por ejemplo, debido a una actualización de la etiqueta del pod), el sistema puede intentar o no expulsar el pod de su nodo. Cuando hay varios elementos, se cruzan las listas de nodos correspondientes a cada podAffinityTerm, lo que significa que se deben cumplir todos los términos.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiquetas sobre un conjunto de recursos (en este caso, pods).
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Una consulta de etiqueta sobre el conjunto de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres seleccionados por este campo y los que se indican en el campo namespaces. Si el selector es nulo y la lista de espacios de nombres es nula o está vacía, significa "el espacio de nombres de este pod". Un selector vacío ({}) coincide con todos los espacios de nombres.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos de selector de etiquetas. Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatorio
representa la relación de una clave con un conjunto de valores. Los operadores válidos son In, NotIn, Exists y DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Opcional
values es un array de valores de cadena. Si el operador es In o NotIn, el array de valores no debe estar vacío. Si el operador es Exists o DoesNotExist, la matriz de valores debe estar vacía. Esta matriz se sustituye durante una revisión de combinación estratégica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo par {clave, valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo de clave es "clave", el operador es "In" y la matriz de valores solo contiene "valor". Los requisitos se combinan con el operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacios de nombres a los que se aplica el término. El término se aplica a la unión de los espacios de nombres que se indican en este campo y los que se seleccionan mediante namespaceSelector. Si la lista de espacios de nombres es nula o está vacía, y namespaceSelector es nulo, significa "el espacio de nombres de este pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatorio
Este pod debe estar en la misma ubicación (afinidad) o no (antiafinidad) que los pods que coincidan con el labelSelector de los espacios de nombres especificados. Se considera que están ubicados en el mismo lugar si se ejecutan en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute alguno de los pods seleccionados. No se permite que topologyKey esté vacío.
podSpec.schedulingConfig.tolerations
object
Opcional
Las tolerancias permiten gestionar si se puede programar o no una instancia en un nodo de Kubernetes que tenga aplicada una contaminación específica.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
Effect indica el efecto de taint que se debe buscar. Si está vacío, significa que coincide con todos los efectos de taint. Cuando se especifica, los valores permitidos son NoSchedule, PreferNoSchedule y NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Opcional
Key es la clave de intolerancia a la que se aplica la tolerancia. Si está vacío, significa que coincide con todas las claves de contaminación. Si la clave está vacía, el operador debe ser Exists. Esta combinación significa que se deben buscar coincidencias con todos los valores y todas las claves.
podSpec.schedulingConfig.tolerations.operator
string
Opcional
El operador representa la relación de una clave con el valor. Los operadores válidos son Exists y Equal. El valor predeterminado es Equal. Exists es equivalente al comodín de valor, por lo que un pod puede tolerar todos los taints de una categoría concreta.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Opcional
TolerationSeconds representa el periodo de tiempo durante el que la tolerancia (que debe tener el efecto NoExecute; de lo contrario, este campo se ignora) tolera el taint. De forma predeterminada, este campo no se define, lo que significa que se tolera el taint para siempre (no se expulsa). El sistema trata los valores cero y negativos como 0 (desalojo inmediato).
podSpec.schedulingConfig.tolerations.value
string
Opcional
Value es el valor de taint con el que coincide la tolerancia. Si el operador es Exists, el valor debe estar vacío. De lo contrario, debe ser una cadena normal.
replicaCount
integer
Opcional
ReplicaCount define el número de réplicas de PgBouncer que se van a implementar.
serverTLS
object
Opcional
ServerTLSSpec define el secreto del certificado para la comunicación cifrada que usa PgBouncer para conectarse al clúster de la base de datos para la consulta de autenticación.
serverTLS.certSecret
object
Opcional
CertSecret hace referencia al secreto del certificado en el mismo espacio de nombres. El secreto debe contener las entradas ca.crt (certificado de AC), tls.key (clave privada) y tls.crt (certificado de hoja). Los valores de este secreto se usan para rellenar server_tls_ca_file, server_tls_cert_file y server_tls_key_file en pgbouncer.ini. El certificado de la AC debe coincidir con la AC que firmó el certificado de hoja del clúster de base de datos. El certificado de hoja debe contener el nombre común "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
Nombre del referente. Más información: Trabajar con objetos#Nombres.
serviceOptions
object
Obligatorio
ServiceOptions define las opciones de conectividad para acceder a los pods de PgBouncer.
serviceOptions.annotations
object
Opcional
La anotación proporcionada por el cliente se añadirá al objeto de servicio de tipo loadbalancer.
serviceOptions.gcp
object
Opcional
GCP contiene atributos específicos de Google Cloud para el balanceador de carga de Kubernetes.
serviceOptions.gcp.loadBalancerIP
integer or string
Opcional
LoadBalancerIP es una dirección IP estática. Consulta Reservar una dirección IP externa estática.
serviceOptions.gcp.loadBalancerType
string
Opcional
Un LoadBalancer puede ser interno o externo. Consulta Balanceador de carga interno.
serviceOptions.loadBalancerSourceRanges
array
Opcional
Intervalos CIDR de las direcciones IP de origen permitidas para un cliente. Este parámetro solo se aplica a LoadBalancer.
serviceOptions.loadBalancerSourceRanges.items
string
Opcional
Cada intervalo CIDR de una dirección IP de origen.
serviceOptions.type
string
Obligatorio
Tipo de servicio de Kubernetes para acceder al pod de PgBouncer. Puede tener los siguientes valores: LoadBalancer o ClusterIP.

Esquema de estado

PgBouncerStatus define el estado observado de PgBouncer.

ipAddress: string
phase: string

Campo

Tipo
Obligatorio u opcional

 

Descripción
ipAddress
string
Obligatorio
ipAddress es el endpoint de PgBouncer al que se puede conectar para acceder a la base de datos.
phase
string
Obligatorio
phase describe el estado de la implementación de PgBouncer. Aquí se muestran valores como WaitingForDeploymentReady, Acquiring IP y Ready.