Definizione di risorsa personalizzata PgBouncer 1.3.0

Schema delle specifiche

PgBouncerSpec definisce lo stato selezionato di 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
Obbligatorio o facoltativo

 

Descrizione
accessMode
string
Facoltativo
Definisce le modalità di accesso read-write o read-only per le connessioni PgBouncer. Il valore predefinito è read-only.
allowSuperUserAccess
boolean
Facoltativo
AllowSuperUserAccess può essere impostato su true o false
dbclusterRef
string
Obbligatorio
DBClusterRef è il nome del cluster DB per cui PgBouncer raggruppa le connessioni. Devi creare l'oggetto PgBouncer nello stesso spazio dei nomi del DBCluster a cui fa riferimento. Questo campo è obbligatorio per il pooling delle connessioni PgBouncer.
parameters
object
Facoltativo
I parametri conterranno coppie chiave/valore di varie configurazioni di PgBouncer che possono essere impostate. Leggi la pagina https://www.pgbouncer.org/config.html per scoprire le varie opzioni disponibili. Crea un servizio PgBouncer fornisce alcuni esempi di questa specifica.
podspec
object
Obbligatorio
PodSpec contiene le specifiche del pod PgBouncer. Contiene le risorse di immagine, calcolo e archiviazione che servono il pod PgBouncer, oltre alle opzioni di pianificazione.
podSpec.image
string
Obbligatorio
Image è l'identificatore uniforme di risorse di un'immagine pgbouncer personalizzata all'interno del registry degli elementi.
podSpec.resources
object
Obbligatorio
La risorsa rappresenta la configurazione attuale di memoria e CPU.
podSpec.resources.cpu
integer or string
Obbligatorio
La quantità di CPU allocata al contenitore pgbouncer.
podSpec.resources.memory
integer or string
Obbligatorio
La quantità di memoria allocata al contenitore PgBouncer.
podSpec.schedulingConfig
object
Facoltativo
Utilizza il campo SchedulingConfig per specificare la pianificazione dell'istanza sui nodi Kubernetes. La modifica di qualsiasi campo all'interno della configurazione della pianificazione potrebbe causare la riprogrammazione del pod su un altro nodo da parte di Kubernetes, a seconda della nuova configurazione.
podSpec.schedulingConfig.nodeAffinity
object
Facoltativo
NodeAffinity descrive le regole di pianificazione dell'affinità dei nodi per l'istanza.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Questo campo consente di specificare le preferenze di affinità per la pianificazione dei pod. Lo scheduler tenta di posizionare i pod sui nodi che corrispondono alle tue preferenze. Tuttavia, non è sempre possibile. Lo scheduler calcola un "peso" per ogni nodo in base alla corrispondenza con le tue preferenze e sceglie il nodo con il peso più alto.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obbligatorio
Un termine del selettore di nodi associato al relativo peso.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Facoltativo
Un elenco dei requisiti del selettore di nodi in base alle etichette del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obbligatorio
La chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
Obbligatorio
Rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
Facoltativo
Un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Se l'operatore è Gt o Lt, l'array di valori deve avere un singolo elemento, che viene interpretato come un numero intero. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Facoltativo
Un elenco dei requisiti del selettore dei nodi in base ai campi del nodo.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obbligatorio
La chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
Obbligatorio
Rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
Facoltativo
Un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Se l'operatore è Gt o Lt, l'array di valori deve avere un singolo elemento, che viene interpretato come un numero intero. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obbligatorio
Il peso associato alla corrispondenza del termine nodeSelector corrispondente è compreso nell'intervallo da 1 a 100 (inclusi).
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Se i requisiti di affinità di questo campo non sono soddisfatti, lo schedulatore non pianifica il pod sul nodo. Se i requisiti di affinità specificati da questo campo non vengono soddisfatti in un determinato momento durante l'esecuzione del pod, ad esempio a causa di un aggiornamento, il sistema potrebbe o meno provare a espellere il pod dal relativo nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obbligatorio
Un elenco di termini di selettore di nodi. I termini sono uniti con l'operatore OR.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Facoltativo
Un elenco dei requisiti del selettore di nodi in base alle etichette del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obbligatorio
La chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
Obbligatorio
Rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
Facoltativo
Un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Se l'operatore è Gt o Lt, l'array di valori deve avere un singolo elemento, che viene interpretato come un numero intero. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Facoltativo
Un elenco dei requisiti del selettore dei nodi in base ai campi del nodo.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obbligatorio
La chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
Obbligatorio
Rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
Facoltativo
Un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Se l'operatore è Gt o Lt, l'array di valori deve avere un singolo elemento, che viene interpretato come un numero intero. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAffinity
object
Facoltativo
PodAffinity descrive le regole di pianificazione dell'affinità dei pod per l'istanza.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Quando pianifica i pod, lo scheduler dà la priorità ai nodi che soddisfano le espressioni di affinità specificate in questo campo. Il programmatore potrebbe comunque scegliere un nodo che non soddisfa completamente i criteri. Il nodo più preferito è quello con il peso totale più elevato. Questo peso viene calcolato sommando i valori per ogni nodo che soddisfa tutti i requisiti di pianificazione (ad esempio richieste di risorse o espressioni di affinità requiredDuringScheduling). Per ogni podAffinityTerm corrispondente, il peso del nodo aumenta e i nodi con il peso totale più elevato vengono selezionati come i più preferiti.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obbligatorio
Un termine di affinità dei pod, associato al peso corrispondente.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Facoltativo
Una query sulle etichette per un insieme di risorse, in questo caso i pod.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Facoltativo
Affinché si verifichi una corrispondenza, tutte le espressioni matchExpressions nell'elenco devono essere vere.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obbligatorio
La chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Facoltativo
Una query sulle etichette per l'insieme di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi selezionati da questo campo e di quelli elencati nel campo namespaces. Un selettore null e un elenco di spazi dei nomi null o vuoto indicano "lo spazio dei nomi di questo pod". Un selettore vuoto ("{}") corrisponde a tutti gli spazi dei nomi.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Facoltativo
namespaces specifica un elenco statico di nomi di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi elencati in questo campo e di quelli selezionati da namespaceSelector. Un elenco di spazi dei nomi null o vuoto e un namespaceSelector null indicano "lo spazio dei nomi di questo pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obbligatorio
Questo pod deve essere co-allocato (affinità) o non co-allocato (anti-affinità) con i pod corrispondenti a labelSelector negli spazi dei nomi specificati. Con co-located si intende l'esecuzione su un nodo il cui valore dell'etichetta con chiave topologyKey corrisponde a quello di qualsiasi nodo su cui è in esecuzione uno dei pod selezionati. Non è consentito un valore topologyKey vuoto.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obbligatorio
Il peso associato alla corrispondenza del termine podAffinity corrispondente, nell'intervallo 1-100.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Se i requisiti di affinità specificati da questo campo non vengono soddisfatti al momento della pianificazione, il pod non verrà pianificato sul nodo. Se i requisiti di affinità specificati da questo campo non vengono soddisfatti in un determinato momento durante l'esecuzione del pod, ad esempio a causa di un aggiornamento dell'etichetta del pod, il sistema potrebbe o meno provare a sfollare il pod dal suo nodo. Quando sono presenti più elementi, gli elenchi di nodi corrispondenti a ogni podAffinityTerm vengono intersecati, il che significa che tutti i termini devono essere soddisfatti.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facoltativo
Una query sulle etichette per un insieme di risorse, in questo caso i pod.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facoltativo
Una query sulle etichette per un insieme di risorse, in questo caso i pod.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Facoltativo
Affinché si verifichi una corrispondenza, tutte le espressioni matchExpressions nell'elenco devono essere vere.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Facoltativo
Una query sulle etichette per l'insieme di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi selezionati da questo campo e di quelli elencati nel campo namespaces. Un selettore null e un elenco di spazi dei nomi null o vuoto indicano "lo spazio dei nomi di questo pod". Un selettore vuoto ("{}") corrisponde a tutti gli spazi dei nomi.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists, DoesNotExist, Gt e Lt.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Facoltativo
namespaces specifica un elenco statico di nomi di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi elencati in questo campo e di quelli selezionati da namespaceSelector. Un elenco di spazi dei nomi null o vuoto e un namespaceSelector null indicano "lo spazio dei nomi di questo pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obbligatorio
Questo pod deve essere co-allocato (affinità) o non co-allocato (anti-affinità) con i pod corrispondenti a labelSelector negli spazi dei nomi specificati. Con co-located si intende l'esecuzione su un nodo il cui valore dell'etichetta con chiave topologyKey corrisponde a quello di qualsiasi nodo su cui è in esecuzione uno dei pod selezionati. Non è consentito un valore topologyKey vuoto.
podSpec.schedulingConfig.podAntiAffinity
object
Facoltativo
PodAntiAffinity descrive le regole di pianificazione dell'anti-affinità dei pod per l'istanza.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Lo scheduler preferisce pianificare i pod sui nodi che soddisfano le espressioni di anti-affinità specificate da questo campo, ma potrebbe scegliere un nodo che viola una o più espressioni. Il nodo più preferito è quello con la somma maggiore dei pesi, in altre parole, per ogni nodo che soddisfa tutti i requisiti di pianificazione (richiesta di risorse, espressioni di anti-affinità requiredDuringScheduling e così via), calcola una somma iterando gli elementi di questo campo e aggiungendo "weight" alla somma, se il nodo ha pod corrispondenti al podAffinityTerm corrispondente. I nodi con la somma più alta sono i più preferiti.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obbligatorio
Un termine di affinità dei pod, associato al peso corrispondente.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Facoltativo
Una query sulle etichette per un insieme di risorse, in questo caso i pod.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Facoltativo
Una query sulle etichette per l'insieme di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi selezionati da questo campo e di quelli elencati nel campo namespaces. Un selettore null e un elenco di spazi dei nomi null o vuoto indicano "lo spazio dei nomi di questo pod". Un selettore vuoto ("{}") corrisponde a tutti gli spazi dei nomi.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Facoltativo
Una mappa di coppie chiave-valore. Ogni coppia chiave-valore funge da requisito. Lo scheduler abbina i pod ai nodi che hanno tutte le etichette specificate in matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Facoltativo
namespaces specifica un elenco statico di nomi di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi elencati in questo campo e di quelli selezionati da namespaceSelector. Un elenco di spazi dei nomi null o vuoto e un namespaceSelector null indicano "lo spazio dei nomi di questo pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obbligatorio
Questo pod deve essere co-allocato (affinità) o non co-allocato (anti-affinità) con i pod corrispondenti a labelSelector negli spazi dei nomi specificati. Con co-located si intende l'esecuzione su un nodo il cui valore dell'etichetta con chiave topologyKey corrisponde a quello di qualsiasi nodo su cui è in esecuzione uno dei pod selezionati. Non è consentito un valore topologyKey vuoto.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obbligatorio
Il peso associato alla corrispondenza del termine podAffinity corrispondente, nell'intervallo 1-100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facoltativo
Se i requisiti di anti-affinità specificati da questo campo non sono soddisfatti al momento della pianificazione, il pod non viene pianificato sul nodo. Se i requisiti di anti-affinità specificati da questo campo non vengono più soddisfatti in un determinato momento durante l'esecuzione del pod (ad esempio a causa di un aggiornamento dell'etichetta del pod), il sistema potrebbe o meno provare a espellere il pod dal relativo nodo. Quando sono presenti più elementi, gli elenchi di nodi corrispondenti a ogni podAffinityTerm vengono intersecati, il che significa che tutti i termini devono essere soddisfatti.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facoltativo
Una query sulle etichette per un insieme di risorse, in questo caso i pod.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Facoltativo
Una query sulle etichette per l'insieme di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi selezionati da questo campo e di quelli elencati nel campo namespaces. Un selettore null e un elenco di spazi dei nomi null o vuoto indicano "lo spazio dei nomi di questo pod". Un selettore vuoto ("{}") corrisponde a tutti gli spazi dei nomi.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Facoltativo
matchExpressions è un elenco di requisiti del selettore di etichette. I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obbligatorio
key è la chiave dell'etichetta a cui si applica il selettore.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obbligatorio
L'operatore rappresenta la relazione di una chiave con un insieme di valori. Gli operatori validi sono In, NotIn, Exists e DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Facoltativo
values è un array di valori di stringa. Se l'operatore è In o NotIn, l'array di valori non deve essere vuoto. Se l'operatore è Exists o DoesNotExist, l'array di valori deve essere vuoto. Questo array viene sostituito durante un patch di unione strategica.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facoltativo
matchLabels è una mappa di coppie {key,value}. Un singolo {key,value} nella mappa matchLabels è equivalente a un elemento di matchExpressions, il cui campo chiave è "key", l'operatore è "In" e l'array di valori contiene solo "value". I requisiti sono AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Facoltativo
namespaces specifica un elenco statico di nomi di spazi dei nomi a cui si applica il termine. Il termine viene applicato all'unione degli spazi dei nomi elencati in questo campo e di quelli selezionati da namespaceSelector. Un elenco di spazi dei nomi null o vuoto e un namespaceSelector null indicano "lo spazio dei nomi di questo pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obbligatorio
Questo pod deve essere co-allocato (affinità) o non co-allocato (anti-affinità) con i pod corrispondenti a labelSelector negli spazi dei nomi specificati. Con co-located si intende l'esecuzione su un nodo il cui valore dell'etichetta con chiave topologyKey corrisponde a quello di qualsiasi nodo su cui è in esecuzione uno dei pod selezionati. Non è consentito un valore topologyKey vuoto.
podSpec.schedulingConfig.tolerations
object
Facoltativo
Le tolleranze consentono di gestire la possibilità di consentire o meno la pianificazione di un'istanza su un nodo Kubernetes a cui è stato applicato un taint specifico.
podSpec.schedulingConfig.tolerations.effect
string
Facoltativo
Effect indica l'effetto di contaminazione da associare. Se il campo è vuoto, corrisponde a tutti gli effetti di contaminazione. Se specificato, i valori consentiti sono NoSchedule, PreferNoSchedule e NoExecute.
podSpec.schedulingConfig.tolerations.key
string
Facoltativo
Key è la chiave di incompatibilità a cui si applica la tolleranza. Se il valore è vuoto, corrisponde a tutte le chiavi di contaminazione. Se la chiave è vuota, l'operatore deve essere Exists. Questa combinazione indica la corrispondenza di tutti i valori e di tutte le chiavi.
podSpec.schedulingConfig.tolerations.operator
string
Facoltativo
L'operatore rappresenta la relazione di una chiave con il valore. Gli operatori validi sono Exists e Equal. Il valore predefinito è Equal. Exists è equivalente al carattere jolly per il valore, in modo che un pod possa tollerare tutti gli errori di una determinata categoria.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Facoltativo
TolerationSeconds rappresenta il periodo di tempo durante il quale la tolleranza (che deve avere l'effetto NoExecute, altrimenti questo campo viene ignorato) tollera l'incompatibilità. Per impostazione predefinita, questo campo non è impostato, il che significa che l'incompatibilità viene tollerata per sempre (non viene eseguita l'espulsione). I valori zero e negativi vengono considerati pari a 0 (espulsione immediata) dal sistema.
podSpec.schedulingConfig.tolerations.value
string
Facoltativo
Valore è il valore dell'alterazione a cui corrisponde la tolleranza. Se l'operatore è Esiste, il valore deve essere vuoto; in caso contrario, deve essere una stringa regolare.
replicaCount
integer
Facoltativo
ReplicaCount definisce il numero di repliche di PgBouncer da implementare.
serverTLS
object
Facoltativo
ServerTLSSpec definisce il segreto del certificato per la comunicazione criptata utilizzata da PgBouncer per connettersi al cluster di database per la query di autenticazione.
serverTLS.certSecret
object
Facoltativo
CertSecret fa riferimento al secret del certificato nello stesso spazio dei nomi. Il segreto deve contenere le voci ca.crt (certificato CA), tls.key (chiave privata) e tls.crt (certificato finale). I valori all'interno di questo segreto vengono utilizzati per compilare i file server_tls_ca_file, server_tls_cert_file e server_tls_key_file in pgbouncer.ini. Il certificato CA deve corrispondere a quello che ha firmato il certificato finale del cluster di database. Il certificato finale deve contenere il CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Facoltativo
"Nome del referente. Scopri di più: Lavorare con gli oggetti#Nomi.
serviceOptions
object
Obbligatorio
ServiceOptions definisce le opzioni di connettività per accedere ai pod PgBouncer.
serviceOptions.annotations
object
Facoltativo
L'annotazione fornita dal cliente verrà aggiunta all'oggetto del servizio di tipo loadbalancer.
serviceOptions.gcp
object
Facoltativo
Google Cloud contiene attributi specifici di Google Cloud per il bilanciatore del carico Kubernetes.
serviceOptions.gcp.loadBalancerIP
integer or string
Facoltativo
LoadBalancerIP è un indirizzo IP statico, consulta Prenota indirizzo IP esterno statico.
serviceOptions.gcp.loadBalancerType
string
Facoltativo
Un bilanciatore del carico può essere interno o esterno. Consulta Bilanciatore del carico interno.
serviceOptions.type
string
Obbligatorio
Tipo di servizio Kubernetes per accedere al pod PgBouncer. Può avere i seguenti valori: LoadBalancer o ClusterIP.

Schema dello stato

PgBouncerStatus definisce lo stato osservato di PgBouncer.

ipAddress: string
phase: string

Campo

Tipo
Obbligatorio o facoltativo

 

Descrizione
ipAddress
string
Obbligatorio
ipAddress è l'endpoint PgBouncer a cui è possibile connettersi per accedere al database.
phase
string
Obbligatorio
La fase descrive lo stato del deployment di PgBouncer. Qui vengono visualizzati valori come WaitingForDeploymentReady, Acquiring IP, Ready.