Définition de ressource personnalisée PgBouncer v1.3.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
  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 du 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)
"Parameters" contient 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 Artifact Registry.
podSpec.resources
object
Obligatoire
"Resources" représente 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 planificateur calcule une "pondération" pour chaque nœud en fonction de son adéquation 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
Condition de sélecteur de nœud, associée à la pondération correspondante.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
(facultatif)
Liste des exigences du sélecteur de nœuds par étiquettes de nœuds.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
Obligatoire
Clé d'étiquette à laquelle 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 de valeurs ne doit pas être vide. Si l'opérateur est Exists ou DoesNotExist, le tableau de 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 de l'application 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é d'étiquette à laquelle 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 de 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 de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
La pondération associée à la mise en 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'exclure le pod de son nœud.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
Obligatoire
Liste des conditions du sélecteur de nœuds. Les conditions sont combinées avec un opérateur OR.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
(facultatif)
Liste des exigences du sélecteur de nœuds par étiquettes de nœuds.
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
Obligatoire
Clé d'étiquette à laquelle 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 de 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 de l'application 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é d'étiquette à laquelle 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 de 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 de l'application 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 la pondération totale est la plus élevée. Cette pondération est calculée en additionnant les valeurs pour chaque nœud qui répond à toutes les exigences de planification (comme les demandes de ressources ou les expressions d'affinité "requiredDuringScheduling"). Pour chaque condition "podAffinityTerm" correspondante, la pondération du nœud augmente. Les nœuds ayant la pondération totale la plus élevée sont sélectionnés en tant que nœuds privilégiés.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatoire
Condition d'affinité de pod, associée à la pondération correspondante.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
(facultatif)
Requête d'étiquette sur un ensemble de ressources, dans le cas présent, 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é d'étiquette à laquelle s'applique le sélecteur.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 d'étiquette sur l'ensemble des espaces de noms auxquels la condition s'applique. La condition s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "namespaces". Une sélection nulle et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) fait référence à tous les espaces de noms.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 la condition s'applique. La condition 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. Colocalisation : exécution du pod sur un nœud dont la valeur de l'étiquette 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é topologyKey ne peut pas être vide.
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
Pondération associée à la mise en 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 de la mise à jour d'une étiquette 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 toutes les conditions doivent être satisfaites.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
(facultatif)
Requête d'étiquette sur un ensemble de ressources, dans le cas présent, des pods.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
(facultatif)
Requête d'étiquette sur un ensemble de ressources, dans le cas présent, 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é d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 d'étiquette sur l'ensemble des espaces de noms auxquels la condition s'applique. La condition s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "namespaces". Une sélection nulle et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) fait référence à tous les espaces de noms.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 correspondance de paires {clé,valeur}. Une seule paire {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 la condition s'applique. La condition 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. Colocalisation : exécution du pod sur un nœud dont la valeur de l'étiquette 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é topologyKey ne peut pas être vide.
podSpec.schedulingConfig.podAntiAffinity
object
(facultatif)
"PodAntiAffinity" décrit les règles de planification de l'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'anti-affinité spécifiées par ce champ, mais il peut choisir un nœud qui ne respecte pas une ou plusieurs expressions. Le nœud privilégié 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 la "pondération" à la somme, si le nœud comporte des pods qui correspondent au "podAffinityTerm" correspondant. Le ou les nœuds dont la somme est la plus élevée sont privilégiés.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
Obligatoire
Condition d'affinité de pod, associée à la pondération correspondante.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
(facultatif)
Requête d'étiquette sur un ensemble de ressources, dans le cas présent, des pods.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 d'étiquette sur l'ensemble des espaces de noms auxquels la condition s'applique. La condition s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "namespaces". Une sélection nulle et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) fait référence à tous les espaces de noms.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
(facultatif)
Carte de correspondance de paires clé/valeur. Chaque paire clé/valeur agit comme une exigence. Le planificateur associe les pods aux nœuds qui comportent toutes les étiquettes spécifiées dans matchLabels.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
(facultatif)
"namespaces" spécifie une liste statique de noms d'espaces de noms auxquels la condition s'applique. La condition 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. Colocalisation : exécution du pod sur un nœud dont la valeur de l'étiquette 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é topologyKey ne peut pas être vide.
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Obligatoire
Pondération associée à la mise en correspondance du "podAffinityTerm" correspondant, dans la plage de 1 à 100.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
(facultatif)
Si les exigences d'anti-affinité 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'anti-affinité 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 d'une étiquette 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 toutes les conditions doivent être satisfaites.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
(facultatif)
Requête d'étiquette sur un ensemble de ressources, dans le cas présent, des pods.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 d'étiquette sur l'ensemble des espaces de noms auxquels la condition s'applique. La condition s'applique à l'union des espaces de noms sélectionnés par ce champ et de ceux listés dans le champ "namespaces". Une sélection nulle et une liste d'espaces de noms nulle ou vide signifient "l'espace de noms de ce pod". Un sélecteur vide ({}) fait référence à tous les espaces de noms.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
(facultatif)
"matchExpressions" est une liste d'exigences de sélecteur d'étiquettes. Les exigences sont combinées par un opérateur AND.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
Obligatoire
"key" est la clé d'étiquette à laquelle le sélecteur s'applique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
Obligatoire
"operator" 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 de valeurs doit être vide. Ce tableau est remplacé lors de l'application d'un correctif de fusion stratégique.
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
(facultatif)
"matchLabels" est une carte de correspondance de paires {clé,valeur}. Une seule paire {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 la condition s'applique. La condition 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. Colocalisation : exécution du pod sur un nœud dont la valeur de l'étiquette 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é topologyKey ne peut pas être vide.
podSpec.schedulingConfig.tolerations
object
(facultatif)
Les tolérances permettent de gérer s'il est autorisé ou interdit de planifier une instance sur un nœud Kubernetes auquel un rejet spécifique est appliqué.
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 ce paramètre est 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 rejet 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)
"Operator" 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 tous les rejets 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 éviction). Les valeurs nulles et négatives sont traitées comme des valeurs nulles (éviction immédiate) par le système.
podSpec.schedulingConfig.tolerations.value
string
(facultatif)
La valeur est 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 standard.
replicaCount
integer
(facultatif)
"ReplicaCount" définit le nombre d'instances répliquées 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 bases 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 d'entité finale). 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 d'entité finale du cluster de bases de données. Le certificat d'entité finale 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 spécifiques à Google Cloud pour l'équilibreur de charge 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 équilibreur de charge peut être interne ou externe. Consultez Équilibreur de charge interne.
serviceOptions.type
string
Obligatoire
Type de service Kubernetes permettant d'accéder au pod PgBouncer. Il peut avoir les valeurs suivantes : 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
"phase" décrit l'état du déploiement PgBouncer. Les valeurs telles que "WaitingForDeploymentReady", "Acquiring IP" et "Ready" s'affichent ici.