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
| |
stringOptional |
Definiert die Zugriffsmodi read-write oder read-only für PgBouncer-Verbindungen. Der Standardwert ist read-only.
|
allowSuperUserAccess
| |
booleanOptional | AllowSuperUserAccess kann auf „true“ oder „false“ gesetzt werden. |
dbclusterRef
| |
stringErforderlich |
DBClusterRef ist der Name des DBCluster, für den PgBouncer die Verbindungen in einem Pool zusammenfasst.
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
| |
objectOptional | 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
| |
objectErforderlich | PodSpec enthält die Spezifikationen des PgBouncer-Pods. Sie enthält die Bild-, Rechen- und Speicherressourcen, die den PgBouncer-Pod bereitstellen, sowie Planungsoptionen. |
podSpec.image
| |
stringErforderlich | „Image“ ist der Uniform Resource Identifier eines benutzerdefinierten Pgbouncer-Images in der Artifact Registry. |
podSpec.resources
| |
objectErforderlich | „Resources“ stellt die aktuelle Konfiguration von Arbeitsspeicher und CPU dar. |
podSpec.resources.cpu
| |
integer or stringErforderlich | Der Umfang an CPU-Kapazität, der dem PgBouncer-Container zugewiesen ist. |
podSpec.resources.memory
| |
integer or stringErforderlich | Die Menge an Arbeitsspeicher, die dem PgBouncer-Container zugewiesen ist. |
podSpec.schedulingConfig
| |
objectOptional | 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
| |
objectOptional | NodeAffinity beschreibt die Planungsregeln zur Knotenaffinität dieser Instanz. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | 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 Planer berechnet für jeden Knoten eine „Gewichtung“, die angibt, wie gut er Ihren Einstellungen entspricht, und wählt den Knoten mit der höchsten Gewichtung aus. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
| |
objectErforderlich | Ein Knotenselektorbegriff, der dem entsprechenden Gewicht zugeordnet ist. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
objectOptional | Eine Liste der Anforderungen an Knotenselektoren gemäß den Labels des Knotens. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
| |
stringErforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
| |
stringErforderlich |
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
| |
stringOptional |
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
| |
objectOptional | Eine Liste der Anforderungen an die Knotenauswahl gemäß den Feldern des Knotens. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
| |
stringErforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
| |
stringErforderlich |
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
| |
stringOptional | 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
| |
integerErforderlich | Die Gewichtung, die dem Abgleich des entsprechenden „nodeSelectorTerm“ zugeordnet ist, liegt im Bereich von 1 bis einschließlich 100. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | Wenn die Affinitätsanforderungen dieses Felds nicht erfüllt sind, plant der Planer den Pod nicht auf dem Knoten. 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 eines Updates, versucht das System möglicherweise, den Pod von seinem Knoten zu entfernen. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
objectErforderlich | Eine Liste mit Knoten-Selector-Begriffen. Die Begriffe werden mit ODER verknüpft. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
objectOptional | Eine Liste der Anforderungen an Knotenselektoren gemäß den Labels des Knotens. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
| |
stringErforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
| |
stringErforderlich |
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
| |
stringOptional | 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
| |
objectOptional | Eine Liste der Anforderungen an die Knotenauswahl gemäß den Feldern des Knotens. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
| |
stringErforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
| |
stringErforderlich |
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
| |
stringOptional | 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
| |
objectOptional | PodAffinity beschreibt die Planungsregeln für die Pod-Affinität für die Instanz. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | Der Planer priorisiert bei der Pod-Planung Knoten, die den in diesem Feld angegebenen Affinitätsausdrücken entsprechen. Der Planer kann dennoch einen Knoten auswählen, der die Kriterien nicht vollständig erfüllt. Der bevorzugteste Knoten ist der mit der höchsten Gesamtgewichtung. Diese Gewichtung wird durch Addieren der Werte für jeden Knoten berechnet, der alle Planungsanforderungen erfüllt, z. B. Ressourcenanfragen oder Affinity-Ausdrücke vom Typ „requiredDuringScheduling“. Für jeden übereinstimmenden „podAffinityTerm“ erhöht sich die Gewichtung des Knotens. Die Knoten mit der höchsten Gesamtgewichtung werden als die bevorzugtesten ausgewählt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
objectErforderlich | Ein Pod-Affinitätsbegriff, der mit der entsprechenden Gewichtung verknüpft ist. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
objectOptional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
objectOptional | Alle „matchExpressions“ in der Liste müssen „true“ sein, damit eine Übereinstimmung erfolgt. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
stringErforderlich | Der Labelschlüssel, auf den sich die Auswahl bezieht. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
objectOptional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld ausgewählten Namespaces sowie der im Feld „namespaces“ aufgeführten Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces bedeuten „der Namespace dieses Pods“. Ein leerer Selector ({}) erzeugt Übereinstimmungen mit allen Namespaces. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
objectOptional | „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
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
stringOptional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld sowie durch namespaceSelector ausgewählte Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces und ein leerer namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
stringErforderlich | 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. „Am selben Ort“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem Wert 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
| |
integerErforderlich | Gewichtung für die Übereinstimmung mit dem entsprechenden podAffinityTerm im Bereich von 1 bis 100. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | 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 vom Knoten zu entfernen. Wenn es mehrere Elemente gibt, überschneiden sich die Listen der den einzelnen podAffinityTerms entsprechenden Knoten. Das bedeutet, dass alle Begriffe erfüllt sein müssen. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
objectOptional | Alle „matchExpressions“ in der Liste müssen „true“ sein, damit eine Übereinstimmung erfolgt. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
objectOptional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld ausgewählten Namespaces sowie der im Feld „namespaces“ aufgeführten Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces bedeuten „der Namespace dieses Pods“. Ein leerer Selector ({}) erzeugt Übereinstimmungen mit allen Namespaces. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
objectOptional | „matchExpressions“ ist eine Liste von Anforderungen für die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
stringOptional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld sowie durch namespaceSelector ausgewählte Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces und ein leerer namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
stringErforderlich | 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. „Am selben Ort“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem Wert eines beliebigen Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer „topologyKey“ ist nicht zulässig. |
podSpec.schedulingConfig.podAntiAffinity
| |
objectOptional | PodAntiAffinity beschreibt die Planungsregeln für die Anti-Affinität von Pods für die Instanz. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | Der Scheduler plant Pods bevorzugt auf Knoten, die die in diesem Feld angegebenen Antiaffinitätsausdrücke erfüllen. Er kann aber auch einen Knoten auswählen, der einen oder mehrere der Ausdrücke nicht erfüllt. Am meisten wird der Knoten mit der größten Summe von Gewichtungen bevorzugt. Das bedeutet: Für jeden Knoten, der alle Planungsanforderungen erfüllt (Ressourcenanfrage, Anti-Affinitätsausdrücke zu requiredDuringScheduling usw.), wird eine Summe berechnet. Dazu werden die Elemente dieses Felds durchlaufen und die „Gewichtung“ zur Summe addiert, wenn der Knoten den entsprechenden podAffinityTerm erfüllt. Die Knoten mit der höchsten Summe werden am meisten bevorzugt. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
objectErforderlich | Ein Pod-Affinitätsbegriff, der mit der entsprechenden Gewichtung verknüpft ist. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
objectOptional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
objectOptional | „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
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
objectOptional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld ausgewählten Namespaces sowie der im Feld „namespaces“ aufgeführten Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces bedeuten „der Namespace dieses Pods“. Ein leerer Selector ({}) erzeugt Übereinstimmungen mit allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
objectOptional | „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
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional |
Eine Zuordnung von Schlüssel/Wert-Paaren. Jedes Schlüssel/Wert-Paar fungiert als Anforderung. Der Planer ordnet Pods Knoten zu, die alle im Feld matchLabels angegebenen Labels haben.
|
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
stringOptional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld sowie durch namespaceSelector ausgewählte Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces und ein leerer namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
stringErforderlich | 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. „Am selben Ort“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem Wert 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
| |
integerErforderlich | Gewichtung für die Übereinstimmung mit dem entsprechenden podAffinityTerm im Bereich von 1 bis 100. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
objectOptional | 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 zu einem bestimmten Zeitpunkt während der Pod-Ausführung nicht länger erfüllt werden, z. B. aufgrund einer Aktualisierung des Pod-Labels, versucht das System möglicherweise, den Pod vom Knoten zu entfernen. Wenn es mehrere Elemente gibt, überschneiden sich die Listen der den einzelnen podAffinityTerms entsprechenden Knoten. Das bedeutet, dass alle Begriffe erfüllt sein müssen. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
objectOptional | Eine Label-Abfrage für eine Reihe von Ressourcen, in diesem Fall Pods. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
objectOptional | „matchExpressions“ ist eine Liste von Anforderungen für die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
objectOptional | Eine Labelabfrage für die Gruppe von Namespaces, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld ausgewählten Namespaces sowie der im Feld „namespaces“ aufgeführten Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces bedeuten „der Namespace dieses Pods“. Ein leerer Selector ({}) erzeugt Übereinstimmungen mit allen Namespaces. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
objectOptional | „matchExpressions“ ist eine Liste von Anforderungen für die Labelauswahl. Die Anforderungen werden mit AND verknüpft. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
stringErforderlich | „key“ ist der Labelschlüssel, auf den sich der Selector bezieht. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
stringErforderlich |
„operator“ 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
| |
stringOptional | „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
| |
objectOptional | „matchLabels“ ist eine Zuordnung von {key,value}-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
| |
stringOptional | namespaces gibt eine statische Liste von Namespace-Namen an, auf die sich der Begriff bezieht. Der Begriff wird auf die Union der durch dieses Feld sowie durch namespaceSelector ausgewählte Namespaces angewendet. Ein Null-Selector und eine leere Liste von Namespaces und ein leerer namespaceSelector bedeuten „der Namespace dieses Pods“. |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
stringErforderlich | 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. „Am selben Ort“ bedeutet, dass die Pods auf einem Knoten ausgeführt werden, dessen Wert des Labels mit dem Schlüssel „topologyKey“ mit dem Wert eines beliebigen Knotens übereinstimmt, auf dem einer der ausgewählten Pods ausgeführt wird. Ein leerer „topologyKey“ ist nicht zulässig. |
podSpec.schedulingConfig.tolerations
| |
objectOptional | Mit Toleranzen kann festgelegt werden, ob eine Instanz auf einem Kubernetes-Knoten mit einer bestimmten Markierung geplant werden darf oder nicht. |
podSpec.schedulingConfig.tolerations.effect
| |
stringOptional | „Effect“ gibt den Markierungseffekt an, der berücksichtigt werden soll. Wenn Sie das Feld leer lassen, werden alle Markierungseffekte berücksichtigt. Bei Angabe sind die zulässigen Werte „NoSchedule“, „PreferNoSchedule“ und „NoExecute“. |
podSpec.schedulingConfig.tolerations.key
| |
stringOptional | „Key“ ist der Markierungsschlüssel, auf den sich die Toleranz bezieht. Wenn Sie das Feld leer lassen, werden alle Markierungsschlü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
| |
stringOptional |
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 Markierungen einer bestimmten Kategorie tolerieren kann.
|
podSpec.schedulingConfig.tolerations.tolerationSeconds
| |
integerOptional | „TolerationSeconds“ gibt den Zeitraum für die Toleranz der Beeinträchtigung an. Die Toleranz muss den Effekt „NoExecute“ haben, da dieses Feld andernfalls ignoriert wird. Standardmäßig ist dieses Feld nicht festgelegt. Das bedeutet, dass die Markierung unbegrenzt toleriert wird (kein Entfernen). Nullwerte und negative Werte werden vom System als 0 (sofortiges Entfernen) behandelt. |
podSpec.schedulingConfig.tolerations.value
| |
stringOptional | „Value“ ist der Markierungswert, welchen die Toleranz berücksichtigt. Wenn der Operator „Exists“ ist, muss der Wert leer sein. Andernfalls muss er ein regulärer String sein. |
replicaCount
| |
integerOptional | Mit „ReplicaCount“ wird die Anzahl der PgBouncer-Replikate definiert, die bereitgestellt werden sollen. |
serverTLS
| |
objectOptional | ServerTLSSpec definiert das Zertifikat-Secret für die verschlüsselte Kommunikation, das von PgBouncer verwendet wird, um eine Verbindung zum Datenbankcluster für die Authentifizierungsanfrage herzustellen. |
serverTLS.certSecret
| |
objectOptional | CertSecret verweist auf das Zertifikat-Secret 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“ auszufü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
| |
stringOptional | Name des Referenten. Weitere Informationen: Mit Objekt#Namen arbeiten. |
serviceOptions
| |
objectErforderlich | ServiceOptions definiert die Verbindungsoptionen für den Zugriff auf die PgBouncer-Pods. |
serviceOptions.annotations
| |
objectOptional | Die vom Kunden bereitgestellte Annotation wird dem Serviceobjekt vom Typ „loadbalancer“ hinzugefügt. |
serviceOptions.gcp
| |
objectOptional | GCP enthält Google Cloud-spezifische Attribute für den Kubernetes-LoadBalancer. |
serviceOptions.gcp.loadBalancerIP
| |
integer or stringOptional | LoadBalancerIP ist eine statische IP-Adresse. Weitere Informationen finden Sie unter Statische externe IP-Adresse reservieren. |
serviceOptions.gcp.loadBalancerType
| |
stringOptional | Ein LoadBalancer kann intern oder extern sein. Weitere Informationen finden Sie unter Interner Load Balancer. |
serviceOptions.type
| |
stringErforderlich |
Typ des Kubernetes-Services für den Zugriff auf den PgBouncer-Pod. 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
| |
stringErforderlich | „ipAddress“ ist der PgBouncer-Endpunkt, mit dem eine Verbindung hergestellt werden kann, um auf die Datenbank zuzugreifen. |
phase
| |
stringErforderlich | „phase“ beschreibt den Status des PgBouncer-Deployments. Hier werden Werte wie „WaitingForDeploymentReady“, „Acquiring IP“ und „Ready“ angezeigt. |