Definición de recurso personalizado de PgBouncer v1.3.0

Esquema de especificaciones

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 o 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 en verdadero o falso.
dbclusterRef
string
Obligatorio
DBClusterRef es el nombre de DBCluster para el que PgBouncer agrupa las conexiones. Debes crear el objeto PgBouncer en el mismo espacio de nombres que el DBCluster al que hace referencia. Este campo es obligatorio para el grupo de conexiones de PgBouncer.
parameters
object
Opcional
Los parámetros contendrán pares clave-valor de varias configuraciones de PgBouncer que se pueden establecer. Consulta https://www.pgbouncer.org/config.html para ver 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 entregan 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
Los recursos representan la configuración actual de la memoria y la CPU.
podSpec.resources.cpu
integer or string
Obligatorio
Es la cantidad de CPU asignada al contenedor de pgbouncer.
podSpec.resources.memory
integer or string
Obligatorio
Es la 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 cualquier 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 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
Es un término del selector de nodos asociado con el peso correspondiente.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Opcional
Es una lista de requisitos del selector de nodos según las etiquetas del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obligatorio
Es la 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
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égico.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Opcional
Es una lista de requisitos del selector de nodos según los campos del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obligatorio
Es la 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
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égico.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
El peso asociado con la coincidencia del nodeSelectorTerm correspondiente está 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 programará 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, el sistema puede intentar o no desalojar el pod de su nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obligatorio
Es una lista de términos del selector de nodos. Los términos se conectan con un operador O.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Opcional
Es una lista de requisitos del selector de nodos según las etiquetas del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obligatorio
Es la 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
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égico.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Opcional
Es una lista de requisitos del selector de nodos según los campos del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obligatorio
Es la 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
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égico.
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 elija un nodo que no cumpla con todos los criterios. El nodo más preferido es el que tiene el mayor peso total. Para calcular este peso, se suman los valores de cada nodo que satisface todos los requisitos de programación (como solicitudes de recursos o expresiones de afinidad de requiredDuringScheduling). Para cada podAffinityTerm coincidente, aumenta el peso del nodo y los nodos con el peso total más alto se seleccionan como los más preferidos.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Es un 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
Es la clave de etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatorio
El operador 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égico.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
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 enumeran en el campo de espacios de nombres. El selector nulo y la lista de espacios de nombres nulos o vacíos 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 la conjunción Y.
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
El operador 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égico.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacio 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 selecciona 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 la misma ubicación (afinidad) o no (antiafinidad) con los pods que coinciden con el labelSelector en los espacios de nombres especificados. La colocalización se define como la ejecución en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecuta cualquiera de los pods seleccionados. No se permite un topologyKey vacío.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Es el peso asociado con la coincidencia del podAffinityTerm correspondiente, en el rango de 1 a 100.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Si no se cumplen los requisitos de afinidad que especifica 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 expulsar el pod de su nodo o no. Cuando hay varios elementos, las listas de nodos correspondientes a cada podAffinityTerm se cruzan, lo que significa que se deben cumplir 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 etiqueta a la que se aplica el selector.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatorio
El operador 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égico.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
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 enumeran en el campo de espacios de nombres. El selector nulo y la lista de espacios de nombres nulos o vacíos 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 la conjunción Y.
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
El operador 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égico.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacio 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 selecciona 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 la misma ubicación (afinidad) o no (antiafinidad) con los pods que coinciden con el labelSelector en los espacios de nombres especificados. La colocalización se define como la ejecución en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecuta cualquiera de los pods seleccionados. No se permite un topologyKey vacío.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity describe las reglas de programación de antiafinidad de los pods para la instancia.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
El programador prefiere programar pods en nodos que satisfagan las expresiones de antiafinidad que especifica este campo, pero puede elegir un nodo que incumpla una o más de las expresiones. El nodo que se prefiere 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 de requiredDuringScheduling, etcétera), calcula una suma iterando por 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 más preferidos.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatorio
Es un 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 la conjunción Y.
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
El operador 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égico.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
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 enumeran en el campo de espacios de nombres. El selector nulo y la lista de espacios de nombres nulos o vacíos 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 la conjunción Y.
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
El operador 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égico.
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 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 espacio 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 selecciona 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 la misma ubicación (afinidad) o no (antiafinidad) con los pods que coinciden con el labelSelector en los espacios de nombres especificados. La colocalización se define como la ejecución en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecuta cualquiera de los pods seleccionados. No se permite un topologyKey vacío.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatorio
Es el peso asociado con la coincidencia del podAffinityTerm correspondiente, en el rango de 1 a 100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Si no se cumplen los requisitos de antiafinidad que especifica este campo en el momento de la programación, el pod no se programará en el nodo. Si los requisitos de antiafinidad que especifica 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 expulsar el pod de su nodo o no. Cuando hay varios elementos, las listas de nodos correspondientes a cada podAffinityTerm se cruzan, lo que significa que se deben cumplir 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 la conjunción Y.
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
El operador 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égico.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
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 enumeran en el campo de espacios de nombres. El selector nulo y la lista de espacios de nombres nulos o vacíos 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 la conjunción Y.
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
El operador 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égico.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels es un mapa de pares {clave,valor}. Un solo {clave,valor} en el mapa matchLabels equivale a un elemento de matchExpressions, cuyo campo clave es "clave", el operador es "En" y el array de valores solo contiene "valor". Los requisitos se unen con la conjunción Y.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica una lista estática de nombres de espacio 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 selecciona 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 la misma ubicación (afinidad) o no (antiafinidad) con los pods que coinciden con el labelSelector en los espacios de nombres especificados. La colocalización se define como la ejecución en un nodo cuyo valor de la etiqueta con la clave topologyKey coincide con el de cualquier nodo en el que se ejecuta cualquiera de los pods seleccionados. No se permite un topologyKey vacío.
podSpec.schedulingConfig.tolerations
object
Opcional
Las tolerancias permiten administrar si se permite o no programar una instancia en un nodo de Kubernetes que tiene una contaminación específica aplicada.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
Effect indica el efecto de taint que debe coincidir. Si está vacío, significa que coincide con todos los efectos de contaminación. Cuando se especifica, los valores permitidos son NoSchedule, PreferNoSchedule y NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Opcional
Key es la clave de contaminación a la que se aplica la tolerancia. 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 coinciden 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. La configuración predeterminada es Equal. Exists es equivalente al comodín para el valor, de modo que un pod pueda tolerar todas las contaminaciones de una categoría en particular.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Opcional
TolerationSeconds representa el período durante el cual la tolerancia (que debe tener el efecto NoExecute; de lo contrario, se ignora este campo) tolera el taint. De forma predeterminada, este campo no está configurado, lo que significa que tolera el taint para siempre (no lo desaloja). El sistema trata los valores cero y negativos como 0 (expulsa de inmediato).
podSpec.schedulingConfig.tolerations.value
string
Opcional
El valor es el valor de contaminación 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 bases 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 AC), tls.key (clave privada) y tls.crt (certificado final). Los valores de este secreto se usan para propagar los archivos 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 entidad final del clúster de bases de datos. El certificado final debe contener el nombre común "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
"Nombre de la persona de referencia. 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 que proporcionó el cliente se agregará al objeto de servicio de tipo balanceador de cargas.
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
Es el 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 o opcional

 

Descripción
ipAddress
string
Obligatorio
ipAddress es el extremo de PgBouncer 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í aparecen valores como WaitingForDeploymentReady, Acquiring IP y Ready.