Definición de recurso personalizado de PgBouncer v1.3.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
  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 se puede establecer como verdadero o falso.
dbclusterRef
string
Obligatorio
DBClusterRef es el nombre del DBCluster para el que PgBouncer agrupa las conexiones. Debes 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 varios parámetros de configuración de PgBouncer que se pueden establecer. Lee https://www.pgbouncer.org/config.html para conocer las diferentes opciones disponibles. Crea un servicio de PgBouncer proporciona algunos ejemplos de muestra con esta especificación.
podspec
object
Obligatorio
PodSpec contiene las especificaciones del pod de PgBouncer. Contiene los recursos de imagen, procesamiento y almacenamiento que publican el pod de PgBouncer, junto con las opciones de programación.
podSpec.image
string
Obligatorio
Image es el identificador de recursos uniforme de una imagen de pgbouncer personalizada dentro del 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 de 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 cambias algún campo dentro de la configuración de programación, es posible que Kubernetes reprograme el Pod en un nodo diferente, según la nueva configuración.
podSpec.schedulingConfig.nodeAffinity
object
Opcional
NodeAffinity describe las reglas de programación de afinidad de nodos para la instancia.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
Este campo te permite especificar preferencias de afinidad para programar Pods. El programador intenta colocar los 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 qué tan bien coincide con tus preferencias y elige el nodo con el peso más alto.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obligatorio
Término del selector de nodos asociado con el peso correspondiente.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Opcional
Lista de requisitos del selector de nodos según las etiquetas del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obligatorio
Clave de 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
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, el array de valores debe estar vacío. Si el operador es Gt o Lt, el array de valores debe tener un solo elemento, que se interpreta como un número entero. Este array se reemplaza durante un parche de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Opcional
Lista de requisitos del selector de nodos según los campos del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obligatorio
Clave de 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
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, el array de valores debe estar vacío. Si el operador es Gt o Lt, el array de valores debe tener un solo elemento, que se interpreta como un número entero. Este array se reemplaza durante un parche de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
El peso asociado a la coincidencia con el nodeSelectorTerm correspondiente se encuentra en el rango de 1 a 100 (inclusive).
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 por este campo no se cumplen en algún momento durante la ejecución del Pod, por ejemplo, debido a una actualización, es posible que el sistema intente o no expulsar el Pod de su nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obligatorio
Una lista de términos del selector de nodos. Los términos se combinan con OR.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Opcional
Lista de requisitos del selector de nodos según las etiquetas del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obligatorio
Clave de 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
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, el array de valores debe estar vacío. Si el operador es Gt o Lt, el array de valores debe tener un solo elemento, que se interpreta como un número entero. Este array se reemplaza durante un parche de combinación estratégica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Opcional
Lista de requisitos del selector de nodos según los campos del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obligatorio
Clave de 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
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, el array de valores debe estar vacío. Si el operador es Gt o Lt, el array de valores debe tener un solo elemento, que se interpreta como un número entero. Este array se reemplaza durante un parche de combinación estratégica.
podSpec.schedulingConfig.podAffinity
object
Opcional
PodAffinity describe las reglas de programación de afinidad de Pod para la instancia.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
El programador prioriza los nodos que cumplen con las expresiones de afinidad especificadas en este campo cuando programa Pods. Es posible que el programador aún elija un nodo que no cumpla con 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 satisface todos los requisitos de programación (como las solicitudes de recursos o las expresiones de afinidad requiredDuringScheduling). Para cada podAffinityTerm coincidente, aumenta el peso del nodo, y se seleccionan los nodos con el peso total más alto como los preferidos.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Término de afinidad de Pod asociado con el peso correspondiente.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Una consulta de etiqueta sobre un conjunto de recursos, en este caso, Pods.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
Todas las matchExpressions de la lista deben ser verdaderas para que se produzca una coincidencia.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatorio
Clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Una consulta de etiquetas 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 enumeran en el campo namespaces. Un selector nulo y una lista de espacios de nombres nula o vacía significan "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 del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con 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 enumeran en este campo y los que se seleccionan con namespaceSelector. Una lista de espacios de nombres nula o vacía y un namespaceSelector nulo significan "el espacio de nombres de este Pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatorio
Este Pod debe estar ubicado en el mismo lugar (afinidad) o no estar ubicado en el mismo lugar (antiafinidad) que los Pods que coinciden con labelSelector en los espacios de nombres especificados. "Ubicado en el mismo lugar" significa ejecutándose en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute cualquiera de los Pods seleccionados. No se permite una topologyKey vacía.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Peso asociado a la coincidencia con el podAffinityTerm correspondiente, en el rango 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 los requisitos de afinidad especificados por este campo no se cumplen en algún momento durante la ejecución del Pod (por ejemplo, debido a una actualización de la etiqueta del Pod), es posible que el sistema intente o no expulsar el Pod de su nodo. Cuando hay varios elementos, se intersecan las listas de nodos correspondientes a cada podAffinityTerm, lo que significa que se deben satisfacer todos los términos.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiqueta sobre un conjunto de recursos, en este caso, Pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiqueta sobre un conjunto de recursos, en este caso, Pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
Todas las matchExpressions de la lista deben ser verdaderas para que se produzca una coincidencia.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Una consulta de etiquetas 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 enumeran en el campo namespaces. Un selector nulo y una lista de espacios de nombres nula o vacía significan "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 del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con 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 enumeran en este campo y los que se seleccionan con namespaceSelector. Una lista de espacios de nombres nula o vacía y un namespaceSelector nulo significan "el espacio de nombres de este Pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatorio
Este Pod debe estar ubicado en el mismo lugar (afinidad) o no estar ubicado en el mismo lugar (antiafinidad) que los Pods que coinciden con labelSelector en los espacios de nombres especificados. "Ubicado en el mismo lugar" significa ejecutándose en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute cualquiera de los Pods seleccionados. No se permite una topologyKey vacía.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity describe las reglas de programación de antiafinidad de Pod para la instancia.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
El programador prefiere programar Pods en nodos que satisfagan las expresiones de antiafinidad especificadas en este campo, pero puede elegir un nodo que incumpla una o más de las expresiones. El nodo preferido es el que tiene la mayor suma de pesos. En otras palabras, para cada nodo que cumpla con todos los requisitos de programación (solicitud de recursos, expresiones de antiafinidad requiredDuringScheduling, etc.), se calcula una suma iterando los elementos de este campo y agregando “peso” a la suma si el nodo tiene Pods que coinciden con el podAffinityTerm correspondiente. Los nodos con la suma más alta son los preferidos.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Término de afinidad de Pod asociado con el peso correspondiente.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Una consulta de etiqueta sobre un conjunto de recursos, en este caso, Pods.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Una consulta de etiquetas 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 enumeran en el campo namespaces. Un selector nulo y una lista de espacios de nombres nula o vacía significan "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 del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche de combinación estratégica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
Es un mapa de pares clave-valor. Cada par clave-valor actúa como un requisito. El programador hace coincidir los Pods con 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 enumeran en este campo y los que se seleccionan con namespaceSelector. Una lista de espacios de nombres nula o vacía y un namespaceSelector nulo significan "el espacio de nombres de este Pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatorio
Este Pod debe estar ubicado en el mismo lugar (afinidad) o no estar ubicado en el mismo lugar (antiafinidad) que los Pods que coinciden con labelSelector en los espacios de nombres especificados. "Ubicado en el mismo lugar" significa ejecutándose en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute cualquiera de los Pods seleccionados. No se permite una topologyKey vacía.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Peso asociado a la coincidencia con el podAffinityTerm correspondiente, en el rango 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 por 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), es posible que el sistema intente o no expulsar el Pod de su nodo. Cuando hay varios elementos, se intersecan las listas de nodos correspondientes a cada podAffinityTerm, lo que significa que se deben satisfacer todos los términos.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Una consulta de etiqueta sobre un conjunto de recursos, en este caso, Pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
matchExpressions es una lista de requisitos del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Una consulta de etiquetas 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 enumeran en el campo namespaces. Un selector nulo y una lista de espacios de nombres nula o vacía significan "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 del selector de etiquetas. Los requisitos se unen con AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatorio
key es la clave de la etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatorio
operator 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, el array de valores debe estar vacío. Este array se reemplaza durante un parche 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 "key", el operador es "In" y el array de valores solo contiene "value". Los requisitos se unen con 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 enumeran en este campo y los que se seleccionan con namespaceSelector. Una lista de espacios de nombres nula o vacía y un namespaceSelector nulo significan "el espacio de nombres de este Pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatorio
Este Pod debe estar ubicado en el mismo lugar (afinidad) o no estar ubicado en el mismo lugar (antiafinidad) que los Pods que coinciden con labelSelector en los espacios de nombres especificados. "Ubicado en el mismo lugar" significa ejecutándose en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecute cualquiera de los Pods seleccionados. No se permite una topologyKey vacía.
podSpec.schedulingConfig.tolerations
object
Opcional
Tolerations posibilita administrar si se permite o no programar una instancia en un nodo de Kubernetes que tiene aplicado un taint específico.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
Effect indica el efecto de taint con el que se debe coincidir. 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 taint a la que se aplica la tolerancia. Si está vacío, significa que coincidirá con todas las claves de taint. Si la clave está vacía, el operador debe ser Exists. Esta combinación significa que se deben hacer coincidir todos los valores y todas las claves.
podSpec.schedulingConfig.tolerations.operator
string
Opcional
Operator representa la relación de una clave con el valor. Los operadores válidos son Exists y Equal. La configuración predeterminada es Equal. Exists equivale a un comodín para el valor, de modo que un Pod puede tolerar todos los taint de una categoría en particular.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Opcional
TolerationSeconds representa el período durante el cual la tolerancia (que debe ser del efecto NoExecute; de lo contrario, se ignora este campo) tolera el taint. De forma predeterminada, este campo no está establecido, lo que significa que se tolera el taint de forma indefinida (no expulsar). El sistema trata los valores cero y negativos como 0 (expulsar de 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 la cantidad de réplicas de PgBouncer que se implementarán.
serverTLS
object
Opcional
ServerTLSSpec define el secreto del certificado para la comunicación encriptada 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 dentro del mismo espacio de nombres. El secreto debe contener las entradas ca.crt (certificado de la AC), tls.key (clave privada) y tls.crt (certificado de hoja). Los valores dentro de este secreto se usan para completar server_tls_ca_file, server_tls_cert_file y server_tls_key_file en pgbouncer.ini. El certificado de CA debe coincidir con la CA que firmó el certificado de hoja del clúster de base de datos. El certificado de hoja debe contener el CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
"Nombre del referente. Más información: Trabaja 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 agregará al objeto de servicio de tipo LoadBalancer.
serviceOptions.gcp
object
Opcional
GCP contiene atributos específicos de Google Cloud para el balanceador de cargas de Kubernetes.
serviceOptions.gcp.loadBalancerIP
integer or string
Opcional
LoadBalancerIP es una dirección IP estática. Consulta Reserva una dirección IP externa estática.
serviceOptions.gcp.loadBalancerType
string
Opcional
Un LoadBalancer puede ser interno o externo. Consulta Balanceador de cargas interno.
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 extremo de PgBouncer al que se puede conectar para acceder a la base de datos.
phase
string
Obligatorio
La fase describe el estado de la implementación de PgBouncer. Aquí aparecen valores como WaitingForDeploymentReady, Acquiring IP y Ready.