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

Selecione uma versão da documentação:

Esquema de especificação

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

 

Descrição
accessMode
string
Opcional
Define os modos de acesso read-write ou read-only para conexões de PgBouncer. O valor padrão é read-only.
allowSuperUserAccess
boolean
Opcional
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. Você precisa criar o objeto PgBouncer no mesmo namespace que o DBCluster referenciado. Esse campo é obrigatório para o pool de conexões de PgBouncer.
parameters
object
Opcional
Os parâmetros vão conter pares de chave-valor de várias configurações de PgBouncer que podem ser definidas. Leia https://www.pgbouncer.org/config.html para conhecer as várias opções disponíveis. Criar um serviço de PgBouncer oferece alguns exemplos de amostra com essa especificação.
podspec
object
Obrigatório
PodSpec contém as especificações do pod de PgBouncer. Ele contém a imagem, os recursos de computação e de armazenamento que atendem ao pod de PgBouncer, além das opções de programação.
podSpec.image
string
Obrigatório
Image é o Identificador de Recurso Uniforme de uma imagem de pgbouncer personalizada no Artifact Registry.
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 de pgbouncer.
podSpec.resources.memory
integer or string
Obrigatório
A quantidade de memória alocada para o contêiner de PgBouncer.
podSpec.schedulingConfig
object
Opcional
Use o campo SchedulingConfig para especificar como a instância é programada em nós do Kubernetes. A alteração 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 programar pods. O programador tenta colocar os pods em nós que correspondem às suas preferências. No entanto, isso 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 de seletor de nós 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 do rótulo à qual 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 precisará 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ós pelos campos do nó.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obrigatório
A chave do rótulo à qual 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 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.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 de seletor de nós. Os termos são do tipo OR.
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 do rótulo à qual 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 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.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Opcional
Uma lista de requisitos do seletor de nós pelos campos do nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obrigatório
A chave do rótulo à qual 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 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.podAffinity
object
Opcional
PodAffinity descreve as regras de programação de afinidade de pod para a instância.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O programador prioriza os nós que atendem às expressões de afinidade especificadas nesse campo ao programar pods. O programador ainda pode escolher um nó que não atenda totalmente aos critérios. O nó preferencial é 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(s) nó(s) aumenta, e os nós com o maior peso total são selecionados como os preferenciais.
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 em 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 do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de rótulo no conjunto de namespaces ao qual o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo namespaces. Um seletor nulo e uma lista de namespaces nula ou vazia significam "o namespace deste pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespace aos quais o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nula ou vazia e um namespaceSelector nulo significam "o namespace deste 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. A colocalização é definida como a execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que um dos pods selecionados está sendo executado. Não é permitido usar uma topologyKey vazia.
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 do agendamento, 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 em um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de rótulo em 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 do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de rótulo no conjunto de namespaces ao qual o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo namespaces. Um seletor nulo e uma lista de namespaces nula ou vazia significam "o namespace deste pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Opcional
matchLabels é um mapa de pares {chave, valor}. Um único {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespace aos quais o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nula ou vazia e um namespaceSelector nulo significam "o namespace deste 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. A colocalização é definida como a execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que um dos pods selecionados está sendo executado. Não é permitido usar uma topologyKey vazia.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity descreve as regras de programação de antiafinidade de pod para a instância.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O programador prefere programar pods em nós que atendam às expressões de antiafinidade especificadas por esse campo, mas pode escolher um nó que viole uma ou mais expressões. O nó preferencial é aquele com a maior soma de pesos. Em outras palavras, para cada nó que atende a todos os requisitos de programação (solicitação de recursos, expressões de anti-afinidade requiredDuringScheduling etc.), calcule uma soma iterando pelos elementos desse campo e adicionando "weight" à soma se o nó tiver pods que correspondam ao podAffinityTerm correspondente. O(s) nó(s) com a maior soma será/serão o(s) preferencial(is).
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 em um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de rótulo no conjunto de namespaces ao qual o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo namespaces. Um seletor nulo e uma lista de namespaces nula ou vazia significam "o namespace deste pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 namespace aos quais o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nula ou vazia e um namespaceSelector nulo significam "o namespace deste 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. A colocalização é definida como a execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que um dos pods selecionados está sendo executado. Não é permitido usar uma topologyKey vazia.
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 do agendamento, o pod não será agendado no nó. Se os requisitos de antiafinidade 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.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de rótulo em um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de rótulo no conjunto de namespaces ao qual o termo se aplica. O termo é aplicado à união dos namespaces selecionados por esse campo e os listados no campo namespaces. Um seletor nulo e uma lista de namespaces nula ou vazia significam "o namespace deste pod". Um seletor vazio ({}) corresponde a todos os namespaces.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos de seletor de rótulos. Os requisitos são do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave do rótulo à qual o seletor se aplica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obrigatório
operator 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 não poderá estar vazia. 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 {chave, valor} 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 do tipo AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de namespace aos quais o termo se aplica. O termo é aplicado à união dos namespaces listados neste campo e dos selecionados por namespaceSelector. Uma lista de namespaces nula ou vazia e um namespaceSelector nulo significam "o namespace deste 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. A colocalização é definida como a execução em um nó cujo valor do rótulo com a chave topologyKey corresponde ao de qualquer nó em que um dos pods selecionados está sendo executado. Não é permitido usar uma topologyKey vazia.
podSpec.schedulingConfig.tolerations
object
Opcional
As tolerâncias permitem o gerenciamento de agendamento ou não de uma instância em um nó do Kubernetes com um taint específico aplicado.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
Effect indica o efeito de taint a ser correspondido. Vazio significa corresponder a todos os efeitos de taint. Quando ele é especificado, os valores permitidos são NoSchedule, PreferNoSchedule e NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Opcional
Key é a chave do taint à qual a tolerância se aplica. Vazio significa corresponder a todas as chaves de taint. Se a chave estiver vazia, o operador precisará ser Exists. Essa combinação significa corresponder a todos os valores e todas as chaves.
podSpec.schedulingConfig.tolerations.operator
string
Opcional
Operator 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 em que a tolerância (que precisa ser do efeito NoExecute, caso contrário, esse campo será ignorado) tolera o taint. Por padrão, esse campo não é definido, o que significa tolerar o taint para sempre (não remover). Valores zero e negativos são tratados como 0 (remover imediatamente) pelo sistema.
podSpec.schedulingConfig.tolerations.value
string
Opcional
Value é o valor do taint ao qual a tolerância corresponde. Se o operador for Exists, o valor precisa estar vazio. Caso contrário, ele precisa ser uma string normal.
replicaCount
integer
Opcional
ReplicaCount define o número de réplicas de PgBouncer a serem implantadas.
serverTLS
object
Opcional
ServerTLSSpec define o secret do certificado para comunicação criptografada usada por PgBouncer para se conectar ao cluster de banco de dados para a consulta de autenticação.
serverTLS.certSecret
object
Opcional
CertSecret referencia o secret do certificado no mesmo namespace. O secret precisa conter as entradas ca.crt (certificado de CA), tls.key (chave privada) e tls.crt (certificado de folha). Os valores desse secret são usados para preencher server_tls_ca_file, server_tls_cert_file e server_tls_key_file em pgbouncer.ini. O certificado de CA precisa corresponder à CA que assinou o certificado de folha do cluster de banco de dados. O certificado de folha precisa conter o CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
Nome do referenciador. Mais informações: Como trabalhar com Objects#Names.
serviceOptions
object
Obrigatório
ServiceOptions define as opções de conectividade para acessar os pods de 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 LoadBalancer do Kubernetes.
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 de PgBouncer. Pode ter os seguintes valores: LoadBalancer ou ClusterIP.

Esquema de status

PgBouncerStatus define o estado observado de PgBouncer.

ipAddress: string
phase: string

Campo

Tipo
Obrigatório ou opcional

 

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