Definição de recurso personalizado do PgBouncer v1.3.0

Esquema de especificação

O PgBouncerSpec define o estado selecionado do 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
Obrigatório ou opcional

 

Descrição
accessMode
string
Opcional
Define os modos de acesso read-write ou read-only para conexões do PgBouncer. O valor padrão é read-only.
allowSuperUserAccess
boolean
Opcional
O valor de AllowSuperUserAccess pode ser definido como verdadeiro ou falso.
dbclusterRef
string
Obrigatório
DBClusterRef é o nome do DBCluster para o qual o PgBouncer agrupa as conexões. É necessário criar o objeto PgBouncer no mesmo namespace que o DBCluster que ele referencia. Este campo é obrigatório para o agrupamento de conexões do PgBouncer.
parameters
object
Opcional
Os parâmetros vão conter pares de chave-valor de várias configurações do PgBouncer que podem ser definidas. Leia https://www.pgbouncer.org/config.html para conferir as várias opções disponíveis. Criar um serviço do PgBouncer mostra alguns exemplos com essa especificação.
podspec
object
Obrigatório
O PodSpec contém as especificações do pod do PgBouncer. Ele contém os recursos de imagem, computação e armazenamento que atendem ao pod do PgBouncer, além das opções de programação.
podSpec.image
string
Obrigatório
A imagem é o identificador uniforme de recurso de uma imagem personalizada do pgbouncer no registro de artefatos.
podSpec.resources
object
Obrigatório
Os recursos representam a configuração atual de memória e CPU.
podSpec.resources.cpu
integer or string
Obrigatório
A quantidade de CPU alocada para o contêiner do pgbouncer.
podSpec.resources.memory
integer or string
Obrigatório
A quantidade de memória alocada para o contêiner do PgBouncer.
podSpec.schedulingConfig
object
Opcional
Use o campo SchedulingConfig para especificar como a instância é programada nos nós do Kubernetes. A mudança de qualquer campo na configuração de programação pode fazer com que o Kubernetes reprograme o pod em um nó diferente, dependendo da nova configuração.
podSpec.schedulingConfig.nodeAffinity
object
Opcional
NodeAffinity descreve as regras de programação de afinidade de nó para a instância.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
Esse campo permite especificar preferências de afinidade para programação de pods. O programador tenta colocar pods em nós que correspondem às suas preferências. No entanto, nem sempre é possível. O programador calcula um "peso" para cada nó com base na correspondência com suas preferências e escolhe o nó com o maior peso.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obrigatório
Um termo do seletor de nó associado ao peso correspondente.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Opcional
Uma lista de requisitos do seletor de nós pelos rótulos do nó.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obrigatório
A chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
Obrigatório
Representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
Opcional
Uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores não poderá estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Se o operador for Gt ou Lt, a matriz de valores precisará ter um único elemento, que será interpretado como um número inteiro. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Opcional
Uma lista de requisitos do seletor de nó pelos campos do nó.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obrigatório
A chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
Obrigatório
Representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
Opcional
Uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Se o operador for Gt ou Lt, a matriz de valores precisará ter um único elemento, que será interpretado como um número inteiro. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obrigatório
O peso associado à correspondência do nodeSelectorTerm correspondente está no intervalo de 1 a 100 (inclusive).
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Se os requisitos de afinidade desse campo não forem atendidos, o programador não vai programar o pod no nó. Se os requisitos de afinidade especificados por esse campo não forem atendidos em algum momento durante a execução do pod, por exemplo, devido a uma atualização, o sistema poderá ou não tentar remover o pod do nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obrigatório
Uma lista de termos do seletor de nós. Os termos são ORed.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Opcional
Uma lista de requisitos do seletor de nós pelos rótulos do nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obrigatório
A chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
Obrigatório
Representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
Opcional
Uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Se o operador for Gt ou Lt, a matriz de valores precisará ter um único elemento, que será interpretado como um número inteiro. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Opcional
Uma lista de requisitos do seletor de nó pelos campos do nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obrigatório
A chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
Obrigatório
Representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
Opcional
Uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Se o operador for Gt ou Lt, a matriz de valores precisará ter um único elemento, que será interpretado como um número inteiro. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAffinity
object
Opcional
PodAffinity descreve as regras de programação de afinidade de pods para a instância.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O programador prioriza os nós que atendem às expressões de afinidade especificadas neste campo ao programar pods. O programador ainda pode escolher um nó que não atenda totalmente aos critérios. O nó mais preferido é aquele com o maior peso total. Esse peso é calculado somando os valores de cada nó que atende a todos os requisitos de programação, como solicitações de recursos ou expressões de afinidade requiredDuringScheduling. Para cada podAffinityTerm correspondente, o peso do nó aumenta, e os nós com o maior peso total são selecionados como os mais preferidos.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obrigatório
Um termo de afinidade de pod associado ao peso correspondente.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Uma consulta de rótulo sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
Todas as matchExpressions na lista precisam ser verdadeiras para que uma correspondência ocorra.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obrigatório
A chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo-chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de rótulo sobre o conjunto de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo de namespaces. Um seletor nulo e uma lista de namespaces nulos ou vazios significam "namespace do pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nulos ou vazios e um namespaceSelector nulo significam "o namespace do pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obrigatório
Esse pod precisa estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos namespaces especificados. Colocalizado é definido como em execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que qualquer um dos pods selecionados está em execução. Não é permitido usar topologyKey vazio.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obrigatório
peso associado à correspondência do podAffinityTerm correspondente, no intervalo de 1 a 100.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Se os requisitos de afinidade especificados por esse campo não forem atendidos no momento da programação, o pod não será programado no nó. Se os requisitos de afinidade especificados por esse campo não forem atendidos em algum momento durante a execução do pod, por exemplo, devido a uma atualização do rótulo do pod, o sistema poderá ou não tentar remover o pod do nó. Quando há vários elementos, as listas de nós correspondentes a cada podAffinityTerm são cruzadas, o que significa que todos os termos precisam ser atendidos.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de rótulo sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de rótulo sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
Todas as matchExpressions na lista precisam ser verdadeiras para que uma correspondência ocorra.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo-chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de rótulo sobre o conjunto de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo de namespaces. Um seletor nulo e uma lista de namespaces nulos ou vazios significam "namespace do pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo-chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nulos ou vazios e um namespaceSelector nulo significam "o namespace do pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obrigatório
Esse pod precisa estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos namespaces especificados. Colocalizado é definido como em execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que qualquer um dos pods selecionados está em execução. Não é permitido usar topologyKey vazio.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity descreve as regras de programação de antiafinidade do pod para a instância.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O agendador prefere programar pods para nós que atendam às expressões de antiafinidade especificadas por esse campo, mas pode escolher um nó que viole uma ou mais das expressões. O nó mais preferido é aquele com a maior soma de pesos. Em outras palavras, para cada nó que atenda a todos os requisitos de programação (solicitação de recursos, expressões de antiafinidade requiredDuringScheduling etc.), calcule uma soma iterando pelos elementos desse campo e adicionando "peso" à soma, se o nó tiver pods que correspondem ao podAffinityTerm correspondente. Os nós com a soma mais alta são os preferidos.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obrigatório
Um termo de afinidade de pod associado ao peso correspondente.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Uma consulta de rótulo sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo-chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de rótulo sobre o conjunto de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo de namespaces. Um seletor nulo e uma lista de namespaces nulos ou vazios significam "namespace do pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Opcional
Um mapa de pares de chave-valor. Cada par de chave-valor funciona como um requisito. O programador corresponde pods a nós que têm todos os rótulos especificados em matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nulos ou vazios e um namespaceSelector nulo significam "o namespace do pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obrigatório
Esse pod precisa estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos namespaces especificados. Colocalizado é definido como em execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que qualquer um dos pods selecionados está em execução. Não é permitido usar topologyKey vazio.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obrigatório
peso associado à correspondência do podAffinityTerm correspondente, no intervalo de 1 a 100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Opcional
Se os requisitos de antiafinidade especificados por esse campo não forem atendidos no momento da programação, o pod não será programado no nó. Se os requisitos de antiafinidade especificados por esse campo deixarem de ser atendidos em algum momento durante a execução do pod (por exemplo, devido a uma atualização do rótulo do pod), o sistema poderá ou não tentar remover o pod do nó. Quando há vários elementos, as listas de nós correspondentes a cada podAffinityTerm são cruzadas, o que significa que todos os termos precisam ser atendidos.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de rótulo sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo-chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de rótulo sobre o conjunto de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo de namespaces. Um seletor nulo e uma lista de namespaces nulos ou vazios significam "namespace do pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de rótulos. Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de rótulo a que o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obrigatório
representa a relação de uma chave com um conjunto de valores. Os operadores válidos são In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Opcional
values é uma matriz de valores de string. Se o operador for In ou NotIn, a matriz de valores precisa estar preenchida. Se o operador for Exists ou DoesNotExist, a matriz de valores precisa estar vazia. Essa matriz é substituída durante um patch de mesclagem estratégica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave,valor}. Um único {key,value} no mapa matchLabels é equivalente a um elemento de matchExpressions, cujo campo de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são ANDed.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespaces a que o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nulos ou vazios e um namespaceSelector nulo significam "o namespace do pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obrigatório
Esse pod precisa estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos namespaces especificados. Colocalizado é definido como em execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que qualquer um dos pods selecionados está em execução. Não é permitido usar topologyKey vazio.
podSpec.schedulingConfig.tolerations
object
Opcional
As tolerâncias permitem que você gerencie se é permitido ou não programar uma instância em um nó do Kubernetes que tenha uma contaminação específica aplicada.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
O efeito indica o efeito de taint a ser correspondido. Vazio significa corresponder a todos os efeitos de taint. Quando especificados, os valores permitidos são NoSchedule, PreferNoSchedule e NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Opcional
Key é a chave de taint a que a tolerância se aplica. Vazio significa corresponder a todas as chaves de contaminação. Se a chave estiver vazia, o operador precisa ser Exists. Essa combinação significa corresponder a todos os valores e chaves.
podSpec.schedulingConfig.tolerations.operator
string
Opcional
O operador representa a relação de uma chave com o valor. Os operadores válidos são Exists e Equal. O padrão é Equal. Exists é equivalente ao caractere curinga para valor, para que um pod possa tolerar todos os taints de uma categoria específica.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Opcional
TolerationSeconds representa o período de tempo em que a tolerância (que precisa ser NoExecute, caso contrário, esse campo é ignorado) tolera o taint. Por padrão, esse campo não é definido, o que significa tolerar o taint para sempre (não remover). Valores nulos e negativos são tratados como 0 (exclusão imediata) pelo sistema.
podSpec.schedulingConfig.tolerations.value
string
Opcional
O valor é o valor de taint que a tolerância corresponde. Se o operador for Exists, o valor precisa estar vazio. Caso contrário, ele precisa ser uma string regular.
replicaCount
integer
Opcional
O ReplicaCount define o número de réplicas do PgBouncer a serem implantadas.
serverTLS
object
Opcional
ServerTLSSpec define a chave secreta do certificado para a comunicação criptografada usada pelo PgBouncer para se conectar ao cluster de banco de dados para consulta de autenticação.
serverTLS.certSecret
object
Opcional
O CertSecret faz referência ao secret do certificado no mesmo namespace. O secret precisa conter as entradas ca.crt (certificado de AC), tls.key (chave privada) e tls.crt (certificado de folha). Os valores dentro desse segredo são usados para preencher server_tls_ca_file, server_tls_cert_file e server_tls_key_file em pgbouncer.ini. O certificado da AC precisa corresponder à AC que assinou o certificado de folha do cluster do banco de dados. O certificado de folha precisa conter o CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
"Nome do referente. Mais informações: Como trabalhar com objetos#Nomes.
serviceOptions
object
Obrigatório
O ServiceOptions define as opções de conectividade para acessar os pods do PgBouncer.
serviceOptions.annotations
object
Opcional
A anotação fornecida pelo cliente será adicionada ao objeto de serviço do tipo loadbalancer.
serviceOptions.gcp
object
Opcional
O GCP contém atributos específicos do Google Cloud para o Kubernetes LoadBalancer.
serviceOptions.gcp.loadBalancerIP
integer or string
Opcional
LoadBalancerIP é um endereço IP estático. Consulte Reservar um endereço IP externo estático.
serviceOptions.gcp.loadBalancerType
string
Opcional
Um LoadBalancer pode ser interno ou externo. Consulte Balanceador de carga interno.
serviceOptions.type
string
Obrigatório
Tipo de serviço do Kubernetes para acessar o pod do PgBouncer. Ele pode ter os seguintes valores: LoadBalancer ou ClusterIP.

Esquema de status

PgBouncerStatus define o estado observado do PgBouncer.

ipAddress: string
phase: string

Campo

Tipo
Obrigatório ou opcional

 

Descrição
ipAddress
string
Obrigatório
ipAddress é o endpoint do PgBouncer que pode ser conectado para acessar o banco de dados.
phase
string
Obrigatório
fase descreve o estado da implantação do PgBouncer. Valores como "WaitingForDeploymentReady", "Acquiring IP" e "Ready" aparecem aqui.