Definição de recursos personalizados do PgBouncer v1.3.0

Selecione uma versão da documentação:

Esquema de especificaçã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 ligações do PgBouncer. O valor predefinido é 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 ligações. Tem de criar o objeto PgBouncer no mesmo espaço de nomes que o DBCluster ao qual faz referência. Este campo é obrigatório para a partilha de ligações do PgBouncer.
parameters
object
Opcional
Os parâmetros contêm pares de chave-valor de várias configurações do PgBouncer que podem ser definidas. Leia https://www.pgbouncer.org/config.html para ver várias opções disponíveis. O artigo Crie um serviço PgBouncer oferece alguns exemplos com esta especificação.
podspec
object
Obrigatório
PodSpec contém as especificações do pod do PgBouncer. Este ficheiro contém a imagem, os recursos de computação e de armazenamento que servem o pod do PgBouncer, juntamente com as opções de agendamento.
podSpec.image
string
Obrigatório
A imagem é o identificador uniforme de recursos de uma imagem do pgbouncer personalizada no registo de artefactos.
podSpec.resources
object
Obrigatório
Resources representa a configuração atual da memória e da CPU.
podSpec.resources.cpu
integer or string
Obrigatório
A quantidade de CPU alocada ao contentor pgbouncer.
podSpec.resources.memory
integer or string
Obrigatório
A quantidade de memória alocada ao contentor do PgBouncer.
podSpec.schedulingConfig
object
Opcional
Use o campo SchedulingConfig para especificar como a instância é agendada nos nós do Kubernetes. A alteração de qualquer campo na configuração de agendamento pode fazer com que o Kubernetes reagende o pod para um nó diferente, consoante a nova configuração.
podSpec.schedulingConfig.nodeAffinity
object
Opcional
NodeAffinity descreve as regras de agendamento de afinidade de nós para a instância.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
Este campo permite-lhe especificar preferências de afinidade para agendar pods. O programador tenta colocar pods em nós que correspondam às suas preferências. No entanto, nem sempre é possível. O programador calcula um "peso" para cada nó com base na correspondência com as suas preferências e escolhe o nó com o peso mais elevado.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obrigatório
Um termo do seletor de nós, associado à ponderação correspondente.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Opcional
Uma lista de requisitos do seletor de nós pelas etiquetas do nó.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obrigatório
A chave da etiqueta à 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 pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Se o operador for Gt ou Lt, a matriz de valores tem de ter um único elemento, que é interpretado como um número inteiro. Esta matriz é substituída durante uma correção de união 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 da etiqueta à 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 pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Se o operador for Gt ou Lt, a matriz de valores tem de ter um único elemento, que é interpretado como um número inteiro. Esta matriz é substituída durante uma correção de união 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 deste campo não forem cumpridos, o programador não agenda o agrupamento no nó. Se os requisitos de afinidade especificados por este campo não forem cumpridos em algum momento durante a execução do pod, por exemplo, devido a uma atualização, o sistema pode ou não tentar despejar o pod do respetivo nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obrigatório
Uma lista de termos do seletor de nós. Os termos são combinados com o operador OR.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Opcional
Uma lista de requisitos do seletor de nós pelas etiquetas do nó.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obrigatório
A chave da etiqueta à 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 pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Se o operador for Gt ou Lt, a matriz de valores tem de ter um único elemento, que é interpretado como um número inteiro. Esta matriz é substituída durante uma correção de união 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 da etiqueta à 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 pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Se o operador for Gt ou Lt, a matriz de valores tem de ter um único elemento, que é interpretado como um número inteiro. Esta matriz é substituída durante uma correção de união estratégica.
podSpec.schedulingConfig.podAffinity
object
Opcional
PodAffinity descreve as regras de agendamento de afinidade de pods para a instância.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O programador prioriza os nós que cumprem as expressões de afinidade especificadas neste campo ao programar pods. O programador ainda pode escolher um nó que não cumpra totalmente os critérios. O nó mais preferido é o que tem o peso total mais elevado. Esta ponderação é calculada somando os valores de cada nó que satisfaz todos os requisitos de agendamento (como pedidos de recursos ou expressões de afinidade requiredDuringScheduling). Para cada podAffinityTerm correspondente, o peso do nó aumenta e os nós com o peso total mais elevado são selecionados como os mais preferidos.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obrigatório
Um termo de afinidade de pod, associado à ponderação correspondente.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Uma consulta de etiquetas sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Opcional
Todas as matchExpressions na lista têm de ser verdadeiras para ocorrer uma correspondência.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obrigatório
A chave da etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de etiquetas sobre o conjunto de espaços de nomes ao qual o termo se aplica. O termo é aplicado à união dos espaços de nomes selecionados por este campo e os indicados no campo de espaços de nomes. O seletor nulo e a lista de espaços de nomes nula ou vazia significam "o espaço de nomes deste pod". Um seletor vazio ({}) corresponde a todos os espaços de nomes.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de espaços de nomes aos quais o termo se aplica. O termo é aplicado à união dos espaços de nomes indicados neste campo e dos selecionados por namespaceSelector. Uma lista de espaços de nomes nula ou vazia e um namespaceSelector nulo significam "o espaço de nomes deste pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obrigatório
Este pod tem de estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos espaços de nomes especificados. A colocação conjunta é definida como a execução num nó cujo valor da etiqueta com a chave topologyKey corresponde ao de qualquer nó no qual qualquer um dos pods selecionados está em execução. Não é permitida 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 este campo não forem cumpridos no momento do agendamento, o pod não é agendado no nó. Se os requisitos de afinidade especificados por este campo não forem cumpridos em algum momento durante a execução do pod, por exemplo, devido a uma atualização da etiqueta do pod, o sistema pode ou não tentar despejar o pod do respetivo nó. Quando existem vários elementos, as listas de nós correspondentes a cada podAffinityTerm são intersetadas, o que significa que todos os termos têm de ser cumpridos.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de etiquetas sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de etiquetas sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
Todas as matchExpressions na lista têm de ser verdadeiras para ocorrer uma correspondência.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de etiquetas sobre o conjunto de espaços de nomes ao qual o termo se aplica. O termo é aplicado à união dos espaços de nomes selecionados por este campo e os indicados no campo de espaços de nomes. O seletor nulo e a lista de espaços de nomes nula ou vazia significam "o espaço de nomes deste pod". Um seletor vazio ({}) corresponde a todos os espaços de nomes.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são combinados com o operador AND.
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 combinados com o operador AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de espaços de nomes aos quais o termo se aplica. O termo é aplicado à união dos espaços de nomes indicados neste campo e dos selecionados por namespaceSelector. Uma lista de espaços de nomes nula ou vazia e um namespaceSelector nulo significam "o espaço de nomes deste pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obrigatório
Este pod tem de estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos espaços de nomes especificados. A colocação conjunta é definida como a execução num nó cujo valor da etiqueta com a chave topologyKey corresponde ao de qualquer nó no qual qualquer um dos pods selecionados está em execução. Não é permitida uma topologyKey vazia.
podSpec.schedulingConfig.podAntiAffinity
object
Opcional
PodAntiAffinity descreve as regras de agendamento de anti-afinidade de pods para a instância.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Opcional
O agendador prefere agendar pods para nós que satisfaçam as expressões de anti-afinidade especificadas por este campo, mas pode escolher um nó que viole uma ou mais das expressões. O nó mais preferido é o que tem a maior soma de ponderações. Por outras palavras, para cada nó que cumpre todos os requisitos de agendamento (pedido de recursos, expressões de antiafinidade requiredDuringScheduling, etc.), calcule uma soma iterando os elementos deste campo e adicionando "ponderação" à soma, se o nó tiver pods que correspondam ao podAffinityTerm correspondente. Os nós com a soma mais elevada são os mais preferidos.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obrigatório
Um termo de afinidade de pod, associado à ponderação correspondente.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Opcional
Uma consulta de etiquetas 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 etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Opcional
Uma consulta de etiquetas sobre o conjunto de espaços de nomes ao qual o termo se aplica. O termo é aplicado à união dos espaços de nomes selecionados por este campo e os indicados no campo de espaços de nomes. O seletor nulo e a lista de espaços de nomes nula ou vazia significam "o espaço de nomes deste pod". Um seletor vazio ({}) corresponde a todos os espaços de nomes.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 faz corresponder os pods aos nós que têm todas as etiquetas especificadas em matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de espaços de nomes aos quais o termo se aplica. O termo é aplicado à união dos espaços de nomes indicados neste campo e dos selecionados por namespaceSelector. Uma lista de espaços de nomes nula ou vazia e um namespaceSelector nulo significam "o espaço de nomes deste pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obrigatório
Este pod tem de estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos espaços de nomes especificados. A colocação conjunta é definida como a execução num nó cujo valor da etiqueta com a chave topologyKey corresponde ao de qualquer nó no qual qualquer um dos pods selecionados está em execução. Não é permitida 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 anti-afinidade especificados por este campo não forem cumpridos no momento do agendamento, o agrupamento não é agendado no nó. Se os requisitos de anti-afinidade especificados por este campo deixarem de ser cumpridos em algum momento durante a execução do pod (por exemplo, devido a uma atualização da etiqueta do pod), o sistema pode ou não tentar despejar o pod do respetivo nó. Quando existem vários elementos, as listas de nós correspondentes a cada podAffinityTerm são intersetadas, o que significa que todos os termos têm de ser cumpridos.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Opcional
Uma consulta de etiquetas sobre um conjunto de recursos, neste caso, pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 de chave é "key", o operador é "In" e a matriz de valores contém apenas "value". Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Opcional
Uma consulta de etiquetas sobre o conjunto de espaços de nomes ao qual o termo se aplica. O termo é aplicado à união dos espaços de nomes selecionados por este campo e os indicados no campo de espaços de nomes. O seletor nulo e a lista de espaços de nomes nula ou vazia significam "o espaço de nomes deste pod". Um seletor vazio ({}) corresponde a todos os espaços de nomes.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Opcional
matchExpressions é uma lista de requisitos do seletor de etiquetas. Os requisitos são combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obrigatório
key é a chave de etiqueta à qual 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 não pode estar vazia. Se o operador for Exists ou DoesNotExist, a matriz de valores tem de estar vazia. Esta matriz é substituída durante uma correção de união 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 combinados com o operador AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Opcional
namespaces especifica uma lista estática de nomes de espaços de nomes aos quais o termo se aplica. O termo é aplicado à união dos espaços de nomes indicados neste campo e dos selecionados por namespaceSelector. Uma lista de espaços de nomes nula ou vazia e um namespaceSelector nulo significam "o espaço de nomes deste pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obrigatório
Este pod tem de estar colocalizado (afinidade) ou não colocalizado (antiafinidade) com os pods que correspondem ao labelSelector nos espaços de nomes especificados. A colocação conjunta é definida como a execução num nó cujo valor da etiqueta com a chave topologyKey corresponde ao de qualquer nó no qual qualquer um dos pods selecionados está em execução. Não é permitida uma topologyKey vazia.
podSpec.schedulingConfig.tolerations
object
Opcional
As tolerâncias permitem a gestão da permissão ou não permissão da programação de uma instância num nó do Kubernetes que tenha uma mancha específica aplicada.
podSpec.schedulingConfig.tolerations.effect
string
Opcional
O efeito indica o efeito de contaminação a corresponder. Vazio significa corresponder a todos os efeitos de contaminação. Quando especificados, os valores permitidos são NoSchedule, PreferNoSchedule e NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Opcional
Key é a chave de contaminação à qual a tolerância se aplica. Vazio significa corresponder a todas as chaves de contaminação. Se a chave estiver vazia, o operador tem de ser Exists. Esta combinação significa que todos os valores e todas as chaves são correspondentes.
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. A predefinição é Equal. Exists é equivalente ao caráter universal para o valor, para que um pod possa tolerar todas as manchas de uma categoria específica.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Opcional
TolerationSeconds representa o período de tempo que a tolerância (que tem de ser do efeito NoExecute, caso contrário, este campo é ignorado) tolera a contaminação. Por predefinição, este campo não está definido, o que significa tolerar a contaminação para sempre (não expulsar). Os valores zero e negativos são tratados como 0 (expulsar imediatamente) pelo sistema.
podSpec.schedulingConfig.tolerations.value
string
Opcional
O valor é o valor de contaminação com o qual a tolerância corresponde. Se o operador for Exists, o valor tem de estar vazio; caso contrário, tem de ser uma string normal.
replicaCount
integer
Opcional
ReplicaCount define o número de réplicas do PgBouncer a implementar.
serverTLS
object
Opcional
ServerTLSSpec define o segredo do certificado para a comunicação encriptada usada pelo PgBouncer para se ligar ao cluster de base de dados para a consulta de autenticação.
serverTLS.certSecret
object
Opcional
CertSecret faz referência ao segredo do certificado no mesmo espaço de nomes. O segredo tem de conter as entradas ca.crt (certificado de CA), tls.key (chave privada) e tls.crt (certificado de folha). Os valores neste 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 tem de corresponder à AC que assinou o certificado de folha do cluster de base de dados. O certificado de folha tem de conter o CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Opcional
"Nome do referente. Mais informações: Trabalhar com objetos#Nomes.
serviceOptions
object
Obrigatório
ServiceOptions define as opções de conetividade para aceder aos pods do PgBouncer.
serviceOptions.annotations
object
Opcional
A anotação fornecida pelo cliente é adicionada ao objeto de serviço do tipo loadbalancer.
serviceOptions.gcp
object
Opcional
A 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 o artigo Reserve um endereço IP externo estático.
serviceOptions.gcp.loadBalancerType
string
Opcional
Um LoadBalancer pode ser interno ou externo. Consulte o artigo Balanceador de carga interno.
serviceOptions.type
string
Obrigatório
Tipo de serviço do Kubernetes para aceder ao pod do PgBouncer. Pode ter os seguintes valores: LoadBalancer ou ClusterIP.

Esquema de estado

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 ponto final do PgBouncer ao qual se pode estabelecer ligação para aceder à base de dados.
phase
string
Obrigatório
phase descreve o estado da implementação do PgBouncer. Aqui, são apresentados valores como WaitingForDeploymentReady, Acquiring IP e Ready.