Spezifikationsschema
PgBouncerSpec definiert den ausgewählten Status von 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
Feld TypErforderlich oder optional |
Beschreibung |
---|---|
accessMode
| |
string Optional |
Definiert den Zugriffsmodus read-write oder read-only für PgBouncer-Verbindungen. Der Standardwert ist read-only .
|
allowSuperUserAccess
| |
boolean Optional | AllowSuperUserAccess kann auf „wahr“ oder „falsch“ gesetzt werden. |
dbclusterRef
| |
string Erforderlich |
DBClusterRef ist der Name des DBClusters, für das PgBouncer die Verbindungen poolt.
Sie müssen das PgBouncer -Objekt im selben Namespace wie den DBCluster erstellen, auf den es verweist. Dieses Feld ist für das PgBouncer-Verbindungs-Pooling erforderlich.
|
parameters
| |
object Optional | Die Parameter enthalten Schlüssel/Wert-Paare verschiedener PgBouncer-Konfigurationen, die festgelegt werden können. Unter https://www.pgbouncer.org/config.html finden Sie Informationen zu den verschiedenen verfügbaren Optionen. Im Artikel Einen PgBouncer-Dienst erstellen finden Sie einige Beispielbeispiele für diese Spezifikation. |
podspec
| |
object Erforderlich | PodSpec enthält die Spezifikationen des PgBouncer-Pods. Dieser enthält die Image-, Compute- und Speicherressourcen, die dem PgBouncer-Pod dienen, sowie Planungsoptionen. |
podSpec.image
| |
string Erforderlich | „Image“ ist die Uniform Resource Identifier eines benutzerdefinierten pgbouncer-Images in der Artifact Registry. |
podSpec.resources
| |
object Erforderlich | „Ressourcen“ steht für die aktuelle Konfiguration von Arbeitsspeicher und CPU. |
podSpec.resources.cpu
| |
integer or string Erforderlich | Die CPU-Kapazität, die dem pgbouncer-Container zugewiesen ist. |
podSpec.resources.memory
| |
integer or string Erforderlich | Die Menge an Arbeitsspeicher, die dem PgBouncer-Container zugewiesen ist. |
podSpec.schedulingConfig
| |
object Optional | Mit dem Feld „SchedulingConfig“ können Sie angeben, wie die Instanz auf Kubernetes-Knoten geplant wird. Wenn Sie ein Feld in der Planungskonfiguration ändern, kann Kubernetes den Pod je nach neuer Konfiguration auf einem anderen Knoten neu planen. |
podSpec.schedulingConfig.nodeAffinity
| |
object Optional | „NodeAffinity“ beschreibt Planungsregeln für die Knotenaffinität der Instanz. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object Optional | In diesem Feld können Sie Affinitätseinstellungen für die Planung von Pods angeben. Der Planer versucht, Pods auf Knoten zu platzieren, die Ihren Einstellungen entsprechen. Das ist jedoch nicht immer möglich. Der Scheduler berechnet für jeden Knoten ein „Gewicht“, je nachdem, wie gut er zu Ihren Einstellungen passt, und wählt den Knoten mit dem höchsten Gewicht aus. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
| |
object Erforderlich | Ein Knotenselektorbegriff, der mit dem entsprechenden Gewicht verknüpft ist. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
object Optional | Eine Liste der Anforderungen an Knotenselektoren nach den Labels des Knotens. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
| |
string Erforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
| |
string Erforderlich |
Stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. Gültige Operatoren sind In , NotIn , Exists , DoesNotExist , Gt und Lt .
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
| |
string Optional |
Ein Array von Stringwerten. Wenn der Operator In oder NotIn ist, darf das Wertearray nicht leer sein. Wenn der Operator Exists oder DoesNotExist ist, muss das Werte-Array leer sein. Wenn der Operator Gt oder Lt ist, muss das Array „values“ ein einzelnes Element enthalten, das als Ganzzahl interpretiert wird. Dieses Array wird bei einem strategischen Merge-Patch ersetzt.
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
| |
object Optional | Eine Liste der Anforderungen an die Knotenauswahl nach den Feldern des Knotens. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
| |
string Erforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
| |
string Erforderlich |
Stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. Gültige Operatoren sind In , NotIn , Exists , DoesNotExist , Gt und Lt .
|
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
| |
string Optional | Ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Wenn der Operator „Gt“ oder „Lt“ ist, muss das Werte-Array ein einzelnes Element enthalten, das als Ganzzahl interpretiert wird. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer Erforderlich | Das Gewicht, das mit der Übereinstimmung mit dem entsprechenden nodeSelectorTerm verknüpft ist, liegt im Bereich von 1 bis 100 (einschließlich). |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Wenn die Affinitätsanforderungen dieses Felds nicht erfüllt sind, wird der Pod vom Planer nicht auf dem Knoten geplant. Wenn die in diesem Feld angegebenen Affinitätsanforderungen während der Podausführung nicht erfüllt werden, z. B. aufgrund eines Updates, versucht das System möglicherweise, den Pod aus seinem Knoten zu entfernen. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
object Erforderlich | Eine Liste von Begriffen für die Knotenauswahl. Die Begriffe werden durch OR verknüpft. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
object Optional | Eine Liste der Anforderungen an Knotenselektoren nach den Labels des Knotens. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
| |
string Erforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
| |
string Erforderlich |
Stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. Gültige Operatoren sind In , NotIn , Exists , DoesNotExist , Gt und Lt .
|
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
| |
string Optional | Ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Wenn der Operator „Gt“ oder „Lt“ ist, muss das Werte-Array ein einzelnes Element enthalten, das als Ganzzahl interpretiert wird. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
| |
object Optional | Eine Liste der Anforderungen an die Knotenauswahl nach den Feldern des Knotens. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
| |
string Erforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
| |
string Erforderlich |
Stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. Gültige Operatoren sind In , NotIn , Exists , DoesNotExist , Gt und Lt .
|
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
| |
string Optional | Ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Wenn der Operator „Gt“ oder „Lt“ ist, muss das Werte-Array ein einzelnes Element enthalten, das als Ganzzahl interpretiert wird. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAffinity
| |
object Optional | PodAffinity beschreibt Planungsregeln für die Podaffinität der Instanz. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Der Planer priorisiert beim Planen von Pods Knoten, die die in diesem Feld angegebenen Affinitätsausdrücke erfüllen. Der Planer wählt möglicherweise trotzdem einen Knoten aus, der die Kriterien nicht vollständig erfüllt. Der bevorzugte Knoten ist derjenige mit dem höchsten Gesamtgewicht. Diese Gewichtung wird berechnet, indem die Werte für jeden Knoten addiert werden, der alle Planungsanforderungen erfüllt (z. B. Ressourcenanfragen oder Affinitätsausdrücke, die während der Planung erforderlich sind). Für jeden übereinstimmenden podAffinityTerm wird das Gewicht des Knotens erhöht. Die Knoten mit dem höchsten Gesamtgewicht werden als bevorzugt ausgewählt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object Erforderlich | Ein Pod-Affinitätsbegriff, der mit der entsprechenden Gewichtung verknüpft ist. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object Optional | Eine Labelabfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object Optional | Damit eine Übereinstimmung erfolgt, müssen alle „matchExpressions“ in der Liste wahr sein. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string Erforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Namespaces, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die in diesem Feld ausgewählt und im Feld „Namespaces“ aufgeführt sind. Wenn die Auswahl leer ist und die Liste der Namespaces null oder leer ist, bedeutet das „Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string Optional | Mit „namespaces“ wird eine statische Liste von Namespacenamen angegeben, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und derjenigen angewendet, die durch „namespaceSelector“ ausgewählt wurden. Eine leere Namespace-Liste oder ein null-Wert für „namespaceSelector“ bedeutet „Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string Erforderlich | Dieser Pod muss sich entweder an derselben Stelle wie die Pods befinden, die dem LabelSelector in den angegebenen Namespaces entsprechen (Affinität), oder nicht an derselben Stelle (Anti-Affinität). „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Labelwert mit dem Schlüssel „topologyKey“ mit dem eines Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer topologyKey ist nicht zulässig. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer Erforderlich | Gewichtung, die mit der Übereinstimmung mit dem entsprechenden „podAffinityTerm“ verbunden ist, im Bereich von 1–100. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Wenn die in diesem Feld angegebenen Affinitätsanforderungen zum Zeitpunkt der Planung nicht erfüllt sind, wird der Pod nicht auf dem Knoten geplant. Wenn die in diesem Feld angegebenen Affinitätsanforderungen während der Podausführung nicht erfüllt werden, z. B. aufgrund einer Podlabelaktualisierung, versucht das System möglicherweise, den Pod vom Knoten zu entfernen. Wenn mehrere Elemente vorhanden sind, werden die Listen der Knoten, die den einzelnen podAffinityTerm-Werten entsprechen, überschnitten. Das bedeutet, dass alle Begriffe erfüllt sein müssen. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Labelabfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Labelabfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object Optional | Damit eine Übereinstimmung erfolgt, müssen alle „matchExpressions“ in der Liste wahr sein. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Namespaces, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die in diesem Feld ausgewählt und im Feld „Namespaces“ aufgeführt sind. Wenn die Auswahl leer ist und die Liste der Namespaces null oder leer ist, bedeutet das „Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists , DoesNotExist , Gt und Lt .
|
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string Optional | Mit „namespaces“ wird eine statische Liste von Namespacenamen angegeben, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und derjenigen angewendet, die durch „namespaceSelector“ ausgewählt wurden. Eine leere Namespace-Liste oder ein null-Wert für „namespaceSelector“ bedeutet „Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string Erforderlich | Dieser Pod muss sich entweder an derselben Stelle wie die Pods befinden, die dem LabelSelector in den angegebenen Namespaces entsprechen (Affinität), oder nicht an derselben Stelle (Anti-Affinität). „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Labelwert mit dem Schlüssel „topologyKey“ mit dem eines Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer topologyKey ist nicht zulässig. |
podSpec.schedulingConfig.podAntiAffinity
| |
object Optional | Mit PodAntiAffinity werden Planungsregeln für die Anti-Affinität von Pods für die Instanz beschrieben. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Der Scheduler plant Pods bevorzugt auf Knoten, die die in diesem Feld angegebenen Anti-Affinitätsausdrücke erfüllen. Er kann jedoch auch einen Knoten auswählen, der gegen einen oder mehrere der Ausdrücke verstößt. Der bevorzugte Knoten ist derjenige mit der größten Summe der Gewichte. Mit anderen Worten: Für jeden Knoten, der alle Planungsanforderungen erfüllt (Ressourcenanfrage, requiredDuringScheduling-Anti-Affinitätsausdrücke usw.), wird eine Summe berechnet, indem die Elemente dieses Felds durchlaufen und der Summe „weight“ hinzugefügt wird, wenn der Knoten Pods hat, die mit dem entsprechenden podAffinityTerm übereinstimmen. Die Knoten mit der höchsten Summe haben die höchste Priorität. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object Erforderlich | Ein Pod-Affinitätsbegriff, der mit der entsprechenden Gewichtung verknüpft ist. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object Optional | Eine Labelabfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Namespaces, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die in diesem Feld ausgewählt und im Feld „Namespaces“ aufgeführt sind. Wenn die Auswahl leer ist und die Liste der Namespaces null oder leer ist, bedeutet das „Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object Optional |
Eine Zuordnung von Schlüssel/Wert-Paaren. Jedes Schlüssel/Wert-Paar gilt als Anforderung. Der Scheduler ordnet Pods Knoten zu, die alle in matchLabels angegebenen Labels haben.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string Optional | Mit „namespaces“ wird eine statische Liste von Namespacenamen angegeben, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und derjenigen angewendet, die durch „namespaceSelector“ ausgewählt wurden. Eine leere Namespace-Liste oder ein null-Wert für „namespaceSelector“ bedeutet „Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string Erforderlich | Dieser Pod muss sich entweder an derselben Stelle wie die Pods befinden, die dem LabelSelector in den angegebenen Namespaces entsprechen (Affinität), oder nicht an derselben Stelle (Anti-Affinität). „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Labelwert mit dem Schlüssel „topologyKey“ mit dem eines Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer topologyKey ist nicht zulässig. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer Erforderlich | Gewichtung, die mit der Übereinstimmung mit dem entsprechenden „podAffinityTerm“ verbunden ist, im Bereich von 1–100. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Wenn die in diesem Feld angegebenen Anti-Affinitätsanforderungen zum Zeitpunkt der Planung nicht erfüllt werden, wird der Pod nicht auf dem Knoten geplant. Wenn die in diesem Feld angegebenen Anti-Affinitätsanforderungen während der Pod-Ausführung nicht mehr erfüllt werden (z. B. aufgrund einer Pod-Labelaktualisierung), versucht das System möglicherweise, den Pod vom Knoten zu entfernen. Wenn mehrere Elemente vorhanden sind, werden die Listen der Knoten, die den einzelnen podAffinityTerm-Werten entsprechen, überschnitten. Das bedeutet, dass alle Begriffe erfüllt sein müssen. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Labelabfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Namespaces, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die in diesem Feld ausgewählt und im Feld „Namespaces“ aufgeführt sind. Wenn die Auswahl leer ist und die Liste der Namespaces null oder leer ist, bedeutet das „Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen an die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
Operator steht für die Beziehung eines Schlüssels zu einer Reihe von Werten. Gültige Operatoren sind In , NotIn , Exists und DoesNotExist .
|
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string Optional | „values“ ist ein Array von Stringwerten. Wenn der Operator „In“ oder „NotIn“ ist, darf das Array „values“ nicht leer sein. Wenn der Operator „Exists“ oder „DoesNotExist“ ist, muss das Werte-Array leer sein. Dieses Array wird bei einem strategischen Merge-Patch ersetzt. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object Optional | „matchLabels“ ist eine Zuordnung von {Schlüssel,Wert}-Paaren. Ein einzelnes {key,value} in der Zuordnungslabel-Zuordnung entspricht einem Element von „matchExpressions“, dessen Schlüsselfeld „key“ ist, der Operator „In“ und das Wertearray nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string Optional | Mit „namespaces“ wird eine statische Liste von Namespacenamen angegeben, auf die der Begriff angewendet wird. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und derjenigen angewendet, die durch „namespaceSelector“ ausgewählt wurden. Eine leere Namespace-Liste oder ein null-Wert für „namespaceSelector“ bedeutet „Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string Erforderlich | Dieser Pod muss sich entweder an derselben Stelle wie die Pods befinden, die dem LabelSelector in den angegebenen Namespaces entsprechen (Affinität), oder nicht an derselben Stelle (Anti-Affinität). „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Labelwert mit dem Schlüssel „topologyKey“ mit dem eines Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer topologyKey ist nicht zulässig. |
podSpec.schedulingConfig.tolerations
| |
object Optional | Mit Toleranzen können Sie steuern, ob die Planung einer Instanz auf einem Kubernetes-Knoten mit einer bestimmten Beschädigung erlaubt oder verhindert werden soll. |
podSpec.schedulingConfig.tolerations.effect
| |
string Optional | „Effect“ (Effekt) gibt den zu vergleichenden Markierungseffekt an. Wenn das Feld leer ist, entspricht das allen Markierungseffekten. Zulässige Werte sind „NoSchedule“, „PreferNoSchedule“ und „NoExecute“. |
podSpec.schedulingConfig.tolerations.key
| |
string Optional | „Key“ ist der Taint-Schlüssel, auf den sich die Toleranz bezieht. Leere Werte bedeuten, dass alle Taint-Schlüssel übereinstimmen müssen. Wenn der Schlüssel leer ist, muss der Operator „Exists“ sein. Diese Kombination bedeutet, dass alle Werte und alle Schlüssel übereinstimmen müssen. |
podSpec.schedulingConfig.tolerations.operator
| |
string Optional |
Der Operator gibt die Beziehung eines Schlüssels zum Wert an. Gültige Operatoren sind Exists und Equal . Die Standardeinstellung ist Equal . Exists entspricht dem Platzhalter für den Wert, sodass ein Pod alle Beschädigungen einer bestimmten Kategorie tolerieren kann.
|
podSpec.schedulingConfig.tolerations.tolerationSeconds
| |
integer Optional | „TolerationSeconds“ gibt den Zeitraum an, in dem die Toleranz (mit dem Effekt „NoExecute“, andernfalls wird dieses Feld ignoriert) die Beschädigung toleriert. Standardmäßig ist dieses Feld nicht festgelegt. Das bedeutet, dass die Beschädigung dauerhaft toleriert wird (nicht entfernt wird). Null- und negative Werte werden vom System als „0“ (sofort entfernen) behandelt. |
podSpec.schedulingConfig.tolerations.value
| |
string Optional | „Wert“ ist der Wert der Beschädigung, mit dem die Toleranz übereinstimmt. Wenn der Operator „Exists“ ist, muss der Wert leer sein. Andernfalls muss es sich um einen regulären String handeln. |
replicaCount
| |
integer Optional | Mit ReplicaCount wird die Anzahl der zu implementierenden PgBouncer-Replikate definiert. |
serverTLS
| |
object Optional | ServerTLSSpec definiert das Zertifikatskennwort für die verschlüsselte Kommunikation, die PgBouncer für die Verbindung zum Datenbankcluster für Authentifizierungsanfragen verwendet. |
serverTLS.certSecret
| |
object Optional | CertSecret verweist auf das Zertifikatssecret im selben Namespace. Das Secret muss die Einträge „ca.crt“ (CA-Zertifikat), „tls.key“ (privater Schlüssel) und „tls.crt“ (untergeordnetes Zertifikat) enthalten. Die Werte in diesem Secret werden verwendet, um die Dateien „server_tls_ca_file“, „server_tls_cert_file“ und „server_tls_key_file“ in „pgbouncer.ini“ zu füllen. Das CA-Zertifikat muss mit der Zertifizierungsstelle übereinstimmen, die das untergeordnete Zertifikat des Datenbankclusters signiert hat. Das untergeordnete Zertifikat muss den CommonName „alloydbpgbouncer“ enthalten. |
serverTLS.certSecret.name
| |
string Optional | 'Name des Bezugsobjekts. Weitere Informationen finden Sie unter Mit Objekten arbeiten#Namen. |
serviceOptions
| |
object Erforderlich | Mit ServiceOptions werden die Verbindungsoptionen für den Zugriff auf die PgBouncer-Pods definiert. |
serviceOptions.annotations
| |
object Optional | Die vom Kunden bereitgestellte Anmerkung wird dem Dienstobjekt vom Typ „loadbalancer“ hinzugefügt. |
serviceOptions.gcp
| |
object Optional | GCP enthält Google Cloud-spezifische Attribute für den Kubernetes-Load Balancer. |
serviceOptions.gcp.loadBalancerIP
| |
integer or string Optional | LoadBalancerIP ist eine statische IP-Adresse. Weitere Informationen finden Sie unter Statische externe IP-Adresse reservieren. |
serviceOptions.gcp.loadBalancerType
| |
string Optional | Ein Load Balancer kann intern oder extern sein. Weitere Informationen finden Sie unter Interner Load Balancer. |
serviceOptions.type
| |
string Erforderlich |
Typ des Kubernetes-Dienstes für den Zugriff auf den PgBouncer-Pod. Sie kann die Werte LoadBalancer oder ClusterIP haben.
|
Statusschema
PgBouncerStatus definiert den beobachteten Status von PgBouncer.
ipAddress: string
phase: string
Feld TypErforderlich oder optional |
Beschreibung |
---|---|
ipAddress
| |
string Erforderlich | „ipAddress“ ist der PgBouncer-Endpunkt, über den eine Verbindung zum Zugriff auf die Datenbank hergestellt werden kann. |
phase
| |
string Erforderlich | „phase“ beschreibt den Status des PgBouncer-Deployments. Hier werden Werte wie „WaitingForDeploymentReady“, „Acquiring IP“ und „Ready“ angezeigt. |