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 die Zugriffsmodi read-write oder read-only für PgBouncer-Verbindungen. Der Standardwert ist read-only .
|
allowSuperUserAccess
| |
boolean Optional | AllowSuperUserAccess kann auf „true“ oder „false“ gesetzt werden. |
dbclusterRef
| |
string Erforderlich |
DBClusterRef ist der Name des DBCluster, für den PgBouncer die Verbindungen poolt.
Sie müssen das PgBouncer -Objekt im selben Namespace wie der DBCluster erstellen, auf den es verweist. Dieses Feld ist für das PgBouncer-Verbindungspooling erforderlich.
|
parameters
| |
object Optional | Parameter enthalten Schlüssel/Wert-Paare verschiedener PgBouncer-Konfigurationen, die festgelegt werden können. Unter https://www.pgbouncer.org/config.html finden Sie verschiedene verfügbare Optionen. Unter PgBouncer-Dienst erstellen finden Sie einige Beispiele für diese Spezifikation. |
podspec
| |
object Erforderlich | PodSpec enthält die Spezifikationen des PgBouncer-Pods. Sie enthält die Bild-, Rechen- und Speicherressourcen, die für den PgBouncer-Pod bereitgestellt werden, sowie Planungsoptionen. |
podSpec.image
| |
string Erforderlich | „Image“ ist der Uniform Resource Identifier eines benutzerdefinierten Pgbouncer-Images in der Artifact Registry. |
podSpec.resources
| |
object Erforderlich | „Resources“ (Ressourcen) stellt die aktuelle Konfiguration von Arbeitsspeicher und CPU dar. |
podSpec.resources.cpu
| |
integer or string Erforderlich | Die Menge an CPU, 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 es sein, dass Kubernetes den Pod je nach neuer Konfiguration auf einem anderen Knoten neu plant. |
podSpec.schedulingConfig.nodeAffinity
| |
object Optional | NodeAffinity beschreibt die Planungsregeln für die Knotenaffinität für die 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“, das angibt, 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 Knotenselektorausdruck, der dem entsprechenden Gewicht zugeordnet ist. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
object Optional | Eine Liste der Anforderungen an den Knotenselektor 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 Array „values“ nicht leer sein. Wenn der Operator Exists oder DoesNotExist ist, muss das Array „values“ 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 Array „values“ 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.weight
| |
integer Erforderlich | Die Gewichtung, die dem Abgleich des entsprechenden „nodeSelectorTerm“ zugeordnet 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, plant der Scheduler den Pod nicht auf dem Knoten. Wenn die in diesem Feld angegebenen Affinitätsanforderungen zu einem bestimmten Zeitpunkt während der Ausführung des Pods nicht erfüllt werden, z. B. aufgrund einer Aktualisierung, versucht das System möglicherweise, den Pod von seinem Knoten zu entfernen. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
object Erforderlich | Eine Liste mit Begriffen für die Knotenauswahl. Die Begriffe werden mit ODER verknüpft. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
object Optional | Eine Liste der Anforderungen an den Knotenselektor 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 Array „values“ 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.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 Array „values“ 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.podAffinity
| |
object Optional | PodAffinity beschreibt die Planungsregeln für die Pod-Affinität für die Instanz. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Der Scheduler priorisiert Knoten, die die in diesem Feld angegebenen Affinitätsausdrücke erfüllen, wenn er Pods plant. Der Scheduler wählt möglicherweise einen Knoten aus, der die Kriterien nicht vollständig erfüllt. Der bevorzugteste Knoten ist der mit dem höchsten Gesamtgewicht. Dieses Gewicht wird berechnet, indem die Werte für jeden Knoten addiert werden, der alle Planungsanforderungen erfüllt, z. B. Ressourcenanfragen oder Affinity-Ausdrücke vom Typ „requiredDuringScheduling“. Für jeden übereinstimmenden „podAffinityTerm“ wird das Gewicht des Knotens erhöht. Die Knoten mit dem höchsten Gesamtgewicht werden als die bevorzugtesten ausgewählt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object Erforderlich | Ein Pod-Affinitätsterm, der mit dem entsprechenden Gewicht verknüpft ist. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object Optional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object Optional | Alle „matchExpressions“ in der Liste müssen „true“ sein, damit eine Übereinstimmung erfolgt. |
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 |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die durch dieses Feld ausgewählt werden, und der Namespaces, die im Feld „namespaces“ aufgeführt sind. Ein Null-Selektor und eine Null- oder leere Namespaceliste bedeuten „der Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string Optional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und der durch namespaceSelector ausgewählten Namespaces angewendet. „null“ oder eine leere Liste von Namespaces und „null“ für namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string Erforderlich | Dieser Pod muss sich in den angegebenen Namespaces am selben Ort (Affinität) oder nicht am selben Ort (Anti-Affinität) wie die Pods befinden, die dem LabelSelector entsprechen. „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem eines beliebigen 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 für die Übereinstimmung mit dem entsprechenden podAffinityTerm im Bereich von 1 bis 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 zu einem bestimmten Zeitpunkt während der Pod-Ausführung nicht erfüllt werden, z. B. aufgrund einer Aktualisierung des Pod-Labels, versucht das System möglicherweise, den Pod von seinem Knoten zu entfernen. Wenn es mehrere Elemente gibt, werden die Listen der Knoten, die den einzelnen „podAffinityTerm“-Elementen entsprechen, überschnitten. Das bedeutet, dass alle Bedingungen erfüllt sein müssen. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object Optional | Alle „matchExpressions“ in der Liste müssen „true“ sein, damit eine Übereinstimmung erfolgt. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string Erforderlich | „key“ ist der Labelschlüssel, auf den sich der Selektor bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die durch dieses Feld ausgewählt werden, und der Namespaces, die im Feld „namespaces“ aufgeführt sind. Ein Null-Selektor und eine Null- oder leere Namespaceliste bedeuten „der Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.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.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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string Optional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und der durch namespaceSelector ausgewählten Namespaces angewendet. „null“ oder eine leere Liste von Namespaces und „null“ für namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string Erforderlich | Dieser Pod muss sich in den angegebenen Namespaces am selben Ort (Affinität) oder nicht am selben Ort (Anti-Affinität) wie die Pods befinden, die dem LabelSelector entsprechen. „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem eines beliebigen Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer „topologyKey“ ist nicht zulässig. |
podSpec.schedulingConfig.podAntiAffinity
| |
object Optional | PodAntiAffinity beschreibt die Planungsregeln für die Anti-Affinität von Pods für die Instanz. |
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 aber auch einen Knoten auswählen, der einen oder mehrere der Ausdrücke verletzt. Der Knoten, der am meisten bevorzugt wird, ist der mit der größten Summe der Gewichte. Das heißt, 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 „weight“ zur Summe addiert wird, wenn der Knoten Pods hat, die dem entsprechenden podAffinityTerm entsprechen. Die Knoten mit der höchsten Summe werden am meisten bevorzugt. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object Erforderlich | Ein Pod-Affinitätsterm, der mit dem entsprechenden Gewicht verknüpft ist. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object Optional | Eine Label-Abfrage 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 für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die durch dieses Feld ausgewählt werden, und der Namespaces, die im Feld „namespaces“ aufgeführt sind. Ein Null-Selektor und eine Null- oder leere Namespaceliste bedeuten „der Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 fungiert als Anforderung. Der Scheduler ordnet Pods Knoten zu, die alle im Feld matchLabels angegebenen Labels haben.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string Optional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und der durch namespaceSelector ausgewählten Namespaces angewendet. „null“ oder eine leere Liste von Namespaces und „null“ für namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string Erforderlich | Dieser Pod muss sich in den angegebenen Namespaces am selben Ort (Affinität) oder nicht am selben Ort (Anti-Affinität) wie die Pods befinden, die dem LabelSelector entsprechen. „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem eines beliebigen 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 für die Übereinstimmung mit dem entsprechenden podAffinityTerm im Bereich von 1 bis 100. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object Optional | Wenn die in diesem Feld angegebenen Anti-Affinitätsanforderungen zum Zeitpunkt der Planung nicht erfüllt sind, 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 Aktualisierung des Pod-Labels), versucht das System möglicherweise, den Pod von seinem Knoten zu entfernen. Wenn es mehrere Elemente gibt, werden die Listen der Knoten, die den einzelnen „podAffinityTerm“-Elementen entsprechen, überschnitten. Das bedeutet, dass alle Bedingungen erfüllt sein müssen. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object Optional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object Optional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der Namespaces angewendet, die durch dieses Feld ausgewählt werden, und der Namespaces, die im Feld „namespaces“ aufgeführt sind. Ein Null-Selektor und eine Null- oder leere Namespaceliste bedeuten „der Namespace dieses Pods“. Eine leere Auswahl ({}) entspricht allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object Optional | „matchExpressions“ ist eine Liste von Anforderungen für 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 der Selektor bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string Erforderlich |
stellt die Beziehung eines Schlüssels zu einer Reihe von Werten dar. 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 Array „values“ 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 matchLabels-Zuordnung entspricht einem Element von matchExpressions, dessen Schlüsselfeld „key“ ist, dessen Operator „In“ ist und dessen Werte-Array nur „value“ enthält. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string Optional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Vereinigung der in diesem Feld aufgeführten Namespaces und der durch namespaceSelector ausgewählten Namespaces angewendet. „null“ oder eine leere Liste von Namespaces und „null“ für namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string Erforderlich | Dieser Pod muss sich in den angegebenen Namespaces am selben Ort (Affinität) oder nicht am selben Ort (Anti-Affinität) wie die Pods befinden, die dem LabelSelector entsprechen. „Co-located“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem eines beliebigen 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 kann festgelegt werden, ob eine Instanz auf einem Kubernetes-Knoten mit einem bestimmten Taint geplant werden darf. |
podSpec.schedulingConfig.tolerations.effect
| |
string Optional | „Effect“ gibt den Markierungseffekt an, der abgeglichen werden soll. Wenn Sie das Feld leer lassen, werden alle Markierungseffekte berücksichtigt. Wenn angegeben, sind die zulässigen Werte „NoSchedule“, „PreferNoSchedule“ und „NoExecute“. |
podSpec.schedulingConfig.tolerations.key
| |
string Optional | „Key“ ist der Taint-Schlüssel, auf den sich die Toleranz bezieht. Wenn Sie das Feld leer lassen, werden alle Taint-Schlüssel berücksichtigt. 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 Taints einer bestimmten Kategorie tolerieren kann.
|
podSpec.schedulingConfig.tolerations.tolerationSeconds
| |
integer Optional | „TolerationSeconds“ gibt den Zeitraum an, in dem die Toleranz (die den Effekt „NoExecute“ haben muss, da dieses Feld andernfalls ignoriert wird) die Beeinträchtigung toleriert. Standardmäßig ist dieses Feld nicht festgelegt. Das bedeutet, dass die Markierung unbegrenzt toleriert wird (kein Ausschluss). Nullwerte und negative Werte werden vom System als 0 (sofort löschen) behandelt. |
podSpec.schedulingConfig.tolerations.value
| |
string Optional | „Value“ ist der Markierungswert, mit dem die Toleranz übereinstimmt. Wenn der Operator „Exists“ ist, muss der Wert leer sein. Andernfalls muss er ein regulärer String sein. |
replicaCount
| |
integer Optional | Mit „ReplicaCount“ wird die Anzahl der PgBouncer-Replikate definiert, die bereitgestellt werden sollen. |
serverTLS
| |
object Optional | ServerTLSSpec definiert das Zertifikatsgeheimnis für die verschlüsselte Kommunikation, die von PgBouncer verwendet wird, um eine Verbindung zum Datenbankcluster für die Authentifizierungsanfrage herzustellen. |
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“ (Leaf-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 CA übereinstimmen, die das Leaf-Zertifikat des Datenbankclusters signiert hat. Das Leaf-Zertifikat muss den CommonName „alloydbpgbouncer“ enthalten. |
serverTLS.certSecret.name
| |
string Optional | Name des Referenten. Weitere Informationen: Mit Objekten arbeiten#Namen. |
serviceOptions
| |
object Erforderlich | ServiceOptions definiert die Verbindungsoptionen für den Zugriff auf die PgBouncer-Pods. |
serviceOptions.annotations
| |
object Optional | Die vom Kunden bereitgestellte Annotation wird dem Dienstobjekt vom Typ „loadbalancer“ hinzugefügt. |
serviceOptions.gcp
| |
object Optional | GCP enthält Google Cloud-spezifische Attribute für den Kubernetes-LoadBalancer. |
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 LoadBalancer 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 folgenden Werte haben: LoadBalancer oder ClusterIP .
|
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, mit dem eine Verbindung hergestellt werden kann, um auf die Datenbank zuzugreifen. |
phase
| |
string Erforderlich | „phase“ beschreibt den Status des PgBouncer-Deployments. Hier werden Werte wie „WaitingForDeploymentReady“, „Acquiring IP“ und „Ready“ angezeigt. |