Définition de ressource personnalisée PgBouncer v1.4.0

Sélectionnez une version de la documentation :

Schéma de spécification

PgBouncerSpec définit l'état sélectionné 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
  loadBalancerSourceRanges: array
    items: string
  type: object

Champ

Type
Obligatoire ou facultatif

 

Description
accessMode
string
Facultatif
Définit les modes d'accès read-write ou read-only pour les connexions PgBouncer. La valeur par défaut est read-only.
allowSuperUserAccess
boolean
Facultatif
AllowSuperUserAccess peut être défini sur "true" ou "false".
dbclusterRef
string
Obligatoire
DBClusterRef est le nom DBCluster pour lequel PgBouncer regroupe les connexions. Vous devez créer l'objet PgBouncer dans le même espace de noms que le DBCluster auquel il fait référence. Ce champ est obligatoire pour le pooling de connexions PgBouncer.
parameters
object
Facultatif
Les paramètres contiendront des paires clé-valeur de différentes configurations PgBouncer pouvant être définies. Consultez https://www.pgbouncer.org/config.html pour découvrir les différentes options disponibles. La section Créer un service PgBouncer fournit des exemples avec cette spécification.
podspec
object
Obligatoire
PodSpec contient les spécifications du pod PgBouncer. Il contient les ressources de calcul, de stockage et d'image qui desservent le pod PgBouncer, ainsi que les options de planification.
podSpec.image
string
Obligatoire
"Image" correspond à l'URI (Uniform Resource Identifier) d'une image pgbouncer personnalisée dans le registre d'artefacts.
podSpec.resources
object
Obligatoire
Les ressources représentent la configuration actuelle de la mémoire et du processeur.
podSpec.resources.cpu
integer or string
Obligatoire
Quantité de ressources processeur allouée au conteneur pgbouncer.
podSpec.resources.memory
integer or string
Obligatoire
Quantité de mémoire allouée au conteneur PgBouncer.
podSpec.schedulingConfig
object
Facultatif
Utilisez le champ "SchedulingConfig" pour spécifier comment l'instance est planifiée sur les nœuds Kubernetes. Si vous modifiez un champ de la configuration de planification, Kubernetes peut reprogrammer le pod sur un autre nœud, en fonction de la nouvelle configuration.
podSpec.schedulingConfig.nodeAffinity
object
Facultatif
NodeAffinity décrit les règles de planification de l'affinité de nœud pour l'instance.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Ce champ vous permet de spécifier des préférences d'affinité pour la planification des pods. Le planificateur tente de placer les pods sur des nœuds correspondant à vos préférences. Toutefois, ce n'est pas toujours possible. Le programmeur calcule une "pondération" pour chaque nœud en fonction de sa correspondance avec vos préférences et choisit le nœud ayant la pondération la plus élevée.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
Obligatoire
Terme de sélecteur de nœud, associé à la pondération correspondante.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
Facultatif
Liste des exigences du sélecteur de nœuds par libellés de nœuds.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obligatoire
Clé du libellé auquel s'applique le sélecteur.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
Obligatoire
Représente la relation d'une clé avec un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists, DoesNotExist, Gt et Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
Facultatif
Tableau de valeurs de chaîne. Si l'opérateur est In ou NotIn, le tableau des valeurs ne doit pas être vide. Si l'opérateur est Exists ou DoesNotExist, le tableau des valeurs doit être vide. Si l'opérateur est Gt ou Lt, le tableau de valeurs doit comporter un seul élément, qui est interprété comme un entier. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
Facultatif
Liste des exigences de sélecteur de nœuds par champ de nœud.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
Obligatoire
Clé du libellé auquel s'applique le sélecteur.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
Obligatoire
Représente la relation d'une clé avec un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists, DoesNotExist, Gt et Lt.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
Facultatif
Tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Si l'opérateur est Gt ou Lt, le tableau de valeurs doit comporter un seul élément, qui est interprété comme un entier. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
La pondération associée à la correspondance du nodeSelectorTerm correspondant est comprise entre 1 et 100 (inclus).
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Si les exigences d'affinité de ce champ ne sont pas respectées, le planificateur ne planifie pas le pod sur le nœud. Si les exigences d'affinité spécifiées par ce champ ne sont pas respectées à un moment donné de l'exécution du pod, par exemple en raison d'une mise à jour, le système peut ou non essayer d'expulser le pod de son nœud.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obligatoire
Liste des termes du sélecteur de nœuds. Les termes sont combinés avec un OU.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
Facultatif
Liste des exigences du sélecteur de nœuds par libellés de nœuds.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obligatoire
Clé du libellé auquel s'applique le sélecteur.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
Obligatoire
Représente la relation d'une clé avec un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists, DoesNotExist, Gt et Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
Facultatif
Tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Si l'opérateur est Gt ou Lt, le tableau de valeurs doit comporter un seul élément, qui est interprété comme un entier. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
Facultatif
Liste des exigences de sélecteur de nœuds par champ de nœud.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
Obligatoire
Clé du libellé auquel s'applique le sélecteur.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
Obligatoire
Représente la relation d'une clé avec un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists, DoesNotExist, Gt et Lt.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
Facultatif
Tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Si l'opérateur est Gt ou Lt, le tableau de valeurs doit comporter un seul élément, qui est interprété comme un entier. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity
object
Facultatif
PodAffinity décrit les règles de planification de l'affinité des pods pour l'instance.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Lors de la planification des pods, le planificateur donne la priorité aux nœuds qui répondent aux expressions d'affinité spécifiées dans ce champ. Le planificateur peut toujours choisir un nœud qui ne répond pas entièrement aux critères. Le nœud préféré est celui dont le poids total est le plus élevé. Cette pondération est calculée en additionnant les valeurs de chaque nœud qui répond à toutes les exigences de planification (comme les demandes de ressources ou les expressions d'affinité "requiredDuringScheduling"). Pour chaque podAffinityTerm correspondant, le poids du nœud augmente. Les nœuds ayant le poids total le plus élevé sont sélectionnés comme les plus préférés.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatoire
Terme d'affinité de pod, associé à la pondération correspondante.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Facultatif
Requête de libellé sur un ensemble de ressources, dans ce cas, des pods.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Facultatif
Pour qu'une correspondance se produise, toutes les matchExpressions de la liste doivent être définies sur "true".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatoire
Clé du libellé auquel s'applique le sélecteur.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Facultatif
Requête de libellé sur l'ensemble des espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "espaces de noms". Un sélecteur nul et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) correspond à tous les espaces de noms.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Facultatif
namespaces spécifie une liste statique de noms d'espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms listés dans ce champ et de ceux sélectionnés par namespaceSelector. Une liste d'espaces de noms vide ou nulle et un namespaceSelector nul signifient "l'espace de noms de ce pod".
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatoire
Ce pod doit être colocalisé (affinité) ou non colocalisé (anti-affinité) avec les pods correspondant au labelSelector dans les espaces de noms spécifiés. La colocation est définie comme l'exécution sur un nœud dont la valeur du libellé avec la clé topologyKey correspond à celle de n'importe quel nœud sur lequel l'un des pods sélectionnés est en cours d'exécution. La clé de topologie ne peut pas être vide.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
Pondération associée à la correspondance du podAffinityTerm correspondant, dans la plage de 1 à 100.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Si les exigences d'affinité spécifiées par ce champ ne sont pas respectées au moment de la planification, le pod ne sera pas planifié sur le nœud. Si les exigences d'affinité spécifiées par ce champ ne sont pas respectées à un moment donné de l'exécution du pod (par exemple, en raison d'une mise à jour du libellé du pod), le système peut ou non essayer d'évincer le pod de son nœud. Lorsqu'il existe plusieurs éléments, les listes de nœuds correspondant à chaque podAffinityTerm sont croisées, ce qui signifie que tous les termes doivent être satisfaits.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facultatif
Requête de libellé sur un ensemble de ressources, dans ce cas, des pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facultatif
Requête de libellé sur un ensemble de ressources, dans ce cas, des pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Facultatif
Pour qu'une correspondance se produise, toutes les matchExpressions de la liste doivent être définies sur "true".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Facultatif
Requête de libellé sur l'ensemble des espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "espaces de noms". Un sélecteur nul et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) correspond à tous les espaces de noms.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists, DoesNotExist, Gt et Lt.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Facultatif
namespaces spécifie une liste statique de noms d'espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms listés dans ce champ et de ceux sélectionnés par namespaceSelector. Une liste d'espaces de noms vide ou nulle et un namespaceSelector nul signifient "l'espace de noms de ce pod".
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatoire
Ce pod doit être colocalisé (affinité) ou non colocalisé (anti-affinité) avec les pods correspondant au labelSelector dans les espaces de noms spécifiés. La colocation est définie comme l'exécution sur un nœud dont la valeur du libellé avec la clé topologyKey correspond à celle de n'importe quel nœud sur lequel l'un des pods sélectionnés est en cours d'exécution. La clé de topologie ne peut pas être vide.
podSpec.schedulingConfig.podAntiAffinity
object
Facultatif
PodAntiAffinity décrit les règles de planification d'anti-affinité de pod pour l'instance.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Le planificateur préfère planifier les pods sur des nœuds qui satisfont les expressions d'antiaffinité spécifiées par ce champ, mais il peut choisir un nœud qui ne respecte pas une ou plusieurs expressions. Le nœud le plus adapté est celui dont la somme des pondérations est la plus élevée. En d'autres termes, pour chaque nœud qui répond à toutes les exigences de planification (demande de ressources, expressions d'anti-affinité requiredDuringScheduling, etc.), calculez une somme en parcourant les éléments de ce champ et en ajoutant "weight" à la somme, si le nœud comporte des pods correspondant au podAffinityTerm correspondant. Le ou les nœuds dont la somme est la plus élevée sont les plus préférés.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatoire
Terme d'affinité de pod, associé à la pondération correspondante.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
Facultatif
Requête de libellé sur un ensemble de ressources, dans ce cas, des pods.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
Facultatif
Requête de libellé sur l'ensemble des espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "espaces de noms". Un sélecteur nul et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) correspond à tous les espaces de noms.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
Facultatif
Carte de paires clé/valeur. Chaque paire clé/valeur agit comme une exigence. Le planificateur associe les pods aux nœuds qui comportent tous les libellés spécifiés dans matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
Facultatif
namespaces spécifie une liste statique de noms d'espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms listés dans ce champ et de ceux sélectionnés par namespaceSelector. Une liste d'espaces de noms vide ou nulle et un namespaceSelector nul signifient "l'espace de noms de ce pod".
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
Obligatoire
Ce pod doit être colocalisé (affinité) ou non colocalisé (anti-affinité) avec les pods correspondant au labelSelector dans les espaces de noms spécifiés. La colocation est définie comme l'exécution sur un nœud dont la valeur du libellé avec la clé topologyKey correspond à celle de n'importe quel nœud sur lequel l'un des pods sélectionnés est en cours d'exécution. La clé de topologie ne peut pas être vide.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
Pondération associée à la correspondance du podAffinityTerm correspondant, dans la plage de 1 à 100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
Facultatif
Si les exigences d'antiaffinité spécifiées par ce champ ne sont pas respectées au moment de la planification, le pod n'est pas planifié sur le nœud. Si les exigences d'antiaffinité spécifiées par ce champ cessent d'être respectées à un moment donné pendant l'exécution du pod (par exemple, en raison d'une mise à jour du libellé du pod), le système peut ou non essayer d'évincer le pod de son nœud. Lorsqu'il existe plusieurs éléments, les listes de nœuds correspondant à chaque podAffinityTerm sont croisées, ce qui signifie que tous les termes doivent être satisfaits.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
Facultatif
Requête de libellé sur un ensemble de ressources, dans ce cas, des pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
Facultatif
Requête de libellé sur l'ensemble des espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "espaces de noms". Un sélecteur nul et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) correspond à tous les espaces de noms.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
Facultatif
matchExpressions est une liste d'exigences de sélecteur de libellés. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé de libellé à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatoire
représente la relation entre une clé et un ensemble de valeurs. Les opérateurs valides sont In, NotIn, Exists et DoesNotExist.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
Facultatif
"values" est un tableau de valeurs de chaîne. Si l'opérateur est "In" ou "NotIn", le tableau de valeurs ne doit pas être vide. Si l'opérateur est "Exists" ou "DoesNotExist", le tableau des valeurs doit être vide. Ce tableau est remplacé lors d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
Facultatif
matchLabels est une carte de paires {clé,valeur}. Une seule {clé,valeur} dans le mappage matchLabels équivaut à un élément de matchExpressions, dont le champ de clé est "clé", l'opérateur est "In" et le tableau de valeurs ne contient que "valeur". Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
Facultatif
namespaces spécifie une liste statique de noms d'espaces de noms auxquels le terme s'applique. Le terme s'applique à l'union des espaces de noms listés dans ce champ et de ceux sélectionnés par namespaceSelector. Une liste d'espaces de noms vide ou nulle et un namespaceSelector nul signifient "l'espace de noms de ce pod".
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
Obligatoire
Ce pod doit être colocalisé (affinité) ou non colocalisé (anti-affinité) avec les pods correspondant au labelSelector dans les espaces de noms spécifiés. La colocation est définie comme l'exécution sur un nœud dont la valeur du libellé avec la clé topologyKey correspond à celle de n'importe quel nœud sur lequel l'un des pods sélectionnés est en cours d'exécution. La clé de topologie ne peut pas être vide.
podSpec.schedulingConfig.tolerations
object
Facultatif
Les tolérances permettent de gérer l'autorisation ou l'interdiction de planifier une instance sur un nœud Kubernetes auquel une contamination spécifique est appliquée.
podSpec.schedulingConfig.tolerations.effect
string
Facultatif
"Effect" indique l'effet de rejet à mettre en correspondance. Une valeur vide signifie que tous les effets de rejet correspondent. Si spécifié, les valeurs autorisées sont "NoSchedule", "PreferNoSchedule" et "NoExecute".
podSpec.schedulingConfig.tolerations.key
string
Facultatif
"Key" est la clé de rejet à laquelle s'applique la tolérance. Une valeur vide signifie que toutes les clés de taint correspondent. Si la clé est vide, l'opérateur doit être "Exists". Cette combinaison signifie que toutes les valeurs et toutes les clés doivent correspondre.
podSpec.schedulingConfig.tolerations.operator
string
Facultatif
L'opérateur représente la relation entre une clé et la valeur. Les opérateurs valides sont Exists et Equal. La valeur par défaut est Equal. Exists équivaut à un caractère générique pour la valeur, de sorte qu'un pod peut tolérer toutes les contaminations d'une catégorie particulière.
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
Facultatif
TolerationSeconds représente la période pendant laquelle la tolérance (qui doit être de type NoExecute, sinon ce champ est ignoré) tolère le rejet. Par défaut, ce champ n'est pas défini, ce qui signifie que le rejet est toléré indéfiniment (aucune expulsion). Les valeurs nulles et négatives sont traitées comme des valeurs nulles (exclusion immédiate) par le système.
podSpec.schedulingConfig.tolerations.value
string
Facultatif
La valeur correspond à la valeur de rejet à laquelle la tolérance correspond. Si l'opérateur est "Exists", la valeur doit être vide. Sinon, il doit s'agir d'une chaîne normale.
replicaCount
integer
Facultatif
ReplicaCount définit le nombre de répliques PgBouncer à déployer.
serverTLS
object
Facultatif
ServerTLSSpec définit le secret du certificat pour la communication chiffrée utilisée par PgBouncer pour se connecter au cluster de base de données pour la requête d'authentification.
serverTLS.certSecret
object
Facultatif
CertSecret fait référence au secret du certificat dans le même espace de noms. Le secret doit contenir les entrées ca.crt (certificat de l'autorité de certification), tls.key (clé privée) et tls.crt (certificat de feuille). Les valeurs de ce secret sont utilisées pour renseigner server_tls_ca_file, server_tls_cert_file et server_tls_key_file dans pgbouncer.ini. Le certificat CA doit correspondre à l'autorité de certification qui a signé le certificat de feuille du cluster de bases de données. Le certificat de feuille doit contenir le CommonName "alloydbpgbouncer".
serverTLS.certSecret.name
string
Facultatif
Nom du référent. Pour en savoir plus, consultez Travailler avec des objets#Noms.
serviceOptions
object
Obligatoire
ServiceOptions définit les options de connectivité pour accéder aux pods PgBouncer.
serviceOptions.annotations
object
Facultatif
L'annotation fournie par le client sera ajoutée à l'objet de service de type "loadbalancer".
serviceOptions.gcp
object
Facultatif
GCP contient des attributs Google Cloud spécifiques au LoadBalancer Kubernetes.
serviceOptions.gcp.loadBalancerIP
integer or string
Facultatif
LoadBalancerIP est une adresse IP statique. Pour en savoir plus, consultez Réserver une adresse IP externe statique.
serviceOptions.gcp.loadBalancerType
string
Facultatif
Un LoadBalancer peut être interne ou externe. Consultez la page Équilibreur de charge interne.
serviceOptions.loadBalancerSourceRanges
array
Facultatif
Plages CIDR des adresses IP sources autorisées pour un client. Ce paramètre ne s'applique qu'à LoadBalancer.
serviceOptions.loadBalancerSourceRanges.items
string
Facultatif
Chaque plage CIDR pour une adresse IP source.
serviceOptions.type
string
Obligatoire
Type de service Kubernetes permettant d'accéder au pod PgBouncer. Il peut avoir les valeurs LoadBalancer ou ClusterIP.

Schéma d'état

PgBouncerStatus définit l'état observé de PgBouncer.

ipAddress: string
phase: string

Champ

Type
Obligatoire ou facultatif

 

Description
ipAddress
string
Obligatoire
ipAddress est le point de terminaison PgBouncer auquel vous pouvez vous connecter pour accéder à la base de données.
phase
string
Obligatoire
La phase décrit l'état du déploiement PgBouncer. Les valeurs telles que "WaitingForDeploymentReady", "Acquiring IP" et "Ready" s'affichent ici.