仕様スキーマ
PgBouncerSpec は、PgBouncer の選択された状態を定義します。
accessMode: string
allowSuperUserAccess: boolean
dbclusterRef: string
parameters: object
podSpec:
image: string
resources:
cpu: integer or string
memory: integer or string
schedulingconfig:
nodeaffinity:
preferredDuringSchedulingIgnoredDuringExecution:
preference:
matchExpressions:
- key: string
operator: string
values: string
matchFields:
- key: string
operator: string
values: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
matchExpressions:
- key: string
operator: string
values: string
matchFields:
- key: string
operator: string
values: string
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
podAffinityTerm:
labelSelector:
matchExpressions:
- key: string
operator: string
type: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaces: string
topologyKey: string
weight: integer
requiredDuringSchedulingIgnoredDuringExecution:
labelSelector:
matchExpressions:
- key: string
operator: string
values: string
matchLabels: object
namespaceSelector:
matchExpressions:
- key: string
operator: string
type: string
matchLabels: object
namespaces: string
topologyKey: string
tolerations:
- effect: string
key: string
operator: string
tolerationSeconds: integer
value: string
replicaCount: integer
serverTLS:
certSecret:
name: string
serviceOptions:
annotations: object
gcp:
loadBalancerIP: string
loadBalancerType: string
loadBalancerSourceRanges: array
items: string
type: object
フィールド タイプ必須または省略可 |
説明 |
---|---|
accessMode
| |
string 省略可 |
PgBouncer 接続の read-write または read-only アクセスモードを定義します。デフォルト値は read-only です。 |
allowSuperUserAccess
| |
boolean 省略可 | allowSuperUserAccess は true または false に設定できます。 |
dbclusterRef
| |
string 必須 |
dbclusterRef は、PgBouncer がその接続をプールする DBCluster の名前です。PgBouncer オブジェクトは、参照する DBCluster と同じ名前空間に作成する必要があります。このフィールドは、PgBouncer 接続プーリングに必須です。 |
parameters
| |
object 省略可 | parameters には、設定可能なさまざまな PgBouncer 構成の Key-Value ペアが保持されます。使用可能な各種オプションについては、https://www.pgbouncer.org/config.html をご覧ください。PgBouncer Service を作成するに、この仕様を使用した例がいくつか掲載されています。 |
podspec
| |
object 必須 | podSpec には、PgBouncer Pod の仕様が含まれています。これには、PgBouncer Pod を提供するイメージ、コンピューティング リソース、ストレージ リソースや、スケジューリング オプションが含まれます。 |
podSpec.image
| |
string 必須 | image は、Artifact Registry にあるカスタマイズされた pgbouncer イメージの Uniform Resource Identifier です。 |
podSpec.resources
| |
object 必須 | resources は、メモリと CPU の現在の構成を表します。 |
podSpec.resources.cpu
| |
integer or string 必須 | pgbouncer コンテナに割り当てられる CPU の量。 |
podSpec.resources.memory
| |
integer or string 必須 | PgBouncer コンテナに割り当てられるメモリの量。 |
podSpec.schedulingConfig
| |
object 省略可 | schedulingConfig フィールドでは、このインスタンスの Kubernetes ノードへのスケジュール方法を指定します。schedulingConfig 内のフィールドを変更すると、新しい構成に応じて Pod が別のノードに再スケジュールされる場合があります。 |
podSpec.schedulingConfig.nodeAffinity
| |
object 省略可 | nodeAffinity には、このインスタンスのノード アフィニティ スケジューリング ルールを記述します。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | このフィールドでは、Pod のスケジューリングに使用するアフィニティ設定を指定できます。スケジューラは、ここに指定された設定に一致するノードに Pod を配置しようとします。ただし、これは常に可能であるとは限りません。そのノードが設定とどれだけ一致しているかに基づいて各ノードの「重み」が計算され、重みが最も大きいノードが選択されます。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
| |
object 必須 | 対応する重みに関連付けられた、ノードセレクタのキーワード。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
| |
object 省略可 | ノードのラベルごとのノードセレクタの要件のリスト。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
| |
string 必須 | このセレクタが適用されるラベルキー。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
| |
string 必須 |
キーと値のセットの関係を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist 、Gt 、Lt です。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
| |
string 省略可 |
文字列値の配列。operator が In または NotIn の場合、値の配列は空でない必要があります。operator が Exists または DoesNotExist の場合、値の配列は空にする必要があります。operator が Gt または Lt の場合、値の配列には、整数として解釈される単一の要素が含まれている必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
| |
object 省略可 | ノードのフィールドごとのノードセレクタの要件のリスト。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
| |
string 必須 | このセレクタが適用されるラベルキー。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
| |
string 必須 |
キーと値のセットの関係を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist 、Gt 、Lt です。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
| |
string 省略可 | 文字列値の配列。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には、整数として解釈される単一の要素が含まれている必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 必須 | 対応する nodeSelectorTerm と一致した場合に加算される重み。範囲は 1~100(両端を含む)です。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | このフィールドのアフィニティ要件が満たされていない場合、Pod はノードにスケジュールされません。たとえば更新が原因で、このフィールドで指定されたアフィニティ要件が Pod の実行中に満たされなかった場合、システムは最終的に Pod をノードから強制排除することがあります。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
| |
object 必須 | ノードセレクタのキーワードのリスト。これらのキーワードは OR 条件として扱われます。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
| |
object 省略可 | ノードのラベルごとのノードセレクタの要件のリスト。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
| |
string 必須 | このセレクタが適用されるラベルキー。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
| |
string 必須 |
キーと値のセットの関係を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist 、Gt 、Lt です。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
| |
string 省略可 | 文字列値の配列。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には、整数として解釈される単一の要素が含まれている必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
| |
object 省略可 | ノードのフィールドごとのノードセレクタの要件のリスト。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
| |
string 必須 | このセレクタが適用されるラベルキー。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
| |
string 必須 |
キーと値のセットの関係を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist 、Gt 、Lt です。 |
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
| |
string 省略可 | 文字列値の配列。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には、整数として解釈される単一の要素が含まれている必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAffinity
| |
object 省略可 | podAffinity には、このインスタンスの Pod アフィニティ スケジューリング ルールを記述します。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | スケジューラは、Pod のスケジューリング時に、このフィールドで指定されたアフィニティ式を満たすノードを優先します。それでも、基準を完全に満たしていないノードが選択されることがあります。最も優先されるノードは、重みの合計が最も大きいノードです。この重みは、すべてのスケジューリング要件(リソース リクエストや requiredDuringScheduling アフィニティ式など)を満たす各ノードの値を加算して計算されます。一致する podAffinityTerm ごとに、そのノードの重みが増加し、重みの合計が最も大きいノードが最優先ノードとして選択されます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object 必須 | 対応する重みに関連付けられた Pod アフィニティのキーワード。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object 省略可 | 一連のリソース(この場合は Pod)に対するラベルクエリ。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object 省略可 | 一致と見なされるには、リスト内のすべての matchExpressions が true である必要があります。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string 必須 | このセレクタが適用されるラベルキー。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object 省略可 | このキーワードが適用される一連の Namespace に対するラベルクエリ。このキーワードは、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string 省略可 | namespaces には、このキーワードが適用される Namespace 名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string 必須 | この Pod は、指定された Namespace 内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。topologyKey を空にすることはできません。 |
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 必須 | 対応する podAffinityTerm と一致した場合に加算される重み。範囲は 1~100 です。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | このフィールドで指定されたアフィニティ要件がスケジューリング時に満たされていない場合、Pod はノードにスケジュールされません。Pod の実行中に、このフィールドで指定されたアフィニティ要件が満たされなかった場合(Pod ラベルの更新などが原因で)、システムは最終的に Pod をノードから強制排除することを試みる可能性があります。要素が複数ある場合、各 podAffinityTerm に対応するノードのリストは交差しており、すべての条件を満たす必要があることを意味します。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 省略可 | 一連のリソース(この場合は Pod)に対するラベルクエリ。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 省略可 | 一連のリソース(この場合は Pod)に対するラベルクエリ。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object 省略可 | 一致と見なされるには、リスト内のすべての matchExpressions が true である必要があります。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object 省略可 | このキーワードが適用される一連の Namespace に対するラベルクエリ。このキーワードは、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist 、Gt 、Lt です。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string 省略可 | namespaces には、このキーワードが適用される Namespace 名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。 |
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string 必須 | この Pod は、指定された Namespace 内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。topologyKey を空にすることはできません。 |
podSpec.schedulingConfig.podAntiAffinity
| |
object 省略可 | podAntiAffinity は、インスタンスの Pod アンチアフィニティ スケジューリング ルールを記述します。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | スケジューラは、このフィールドによって指定されたアンチアフィニティ式を満たすノードに Pod をスケジュールすることを優先しますが、1 つ以上の式に違反するノードを選択することもあります。最も優先されるノードは、重みの合計が最も大きいノードです。つまり、すべてのスケジューリング要件(リソース リクエスト、requiredDuringScheduling アンチアフィニティ式など)を満たすノードごとに、このフィールドの要素を反復処理し、対応する podAffinityTerm と一致する Pod がそのノードに存在していれば weight を加算して、重みの合計を計算します。合計が最も大きいノードが最優先されます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
| |
object 必須 | 対応する重みに関連付けられた Pod アフィニティのキーワード。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
| |
object 省略可 | 一連のリソース(この場合は Pod)に対するラベルクエリ。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
| |
object 省略可 | このキーワードが適用される一連の Namespace に対するラベルクエリ。このキーワードは、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
| |
object 省略可 |
Key-Value ペアのマップ。各 Key-Value ペアが 1 つの要件となります。スケジューラは、matchLabels で指定されたすべてのラベルを持つノードに Pod をマッチングします。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
| |
string 省略可 | namespaces には、このキーワードが適用される Namespace 名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
| |
string 必須 | この Pod は、指定された Namespace 内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。topologyKey を空にすることはできません。 |
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
| |
integer 必須 | 対応する podAffinityTerm と一致した場合に加算される重み。範囲は 1~100 です。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
| |
object 省略可 | このフィールドによって指定されたアンチアフィニティの要件がスケジュール時に満たされていない場合、Pod はノードにスケジュールされません。このフィールドで指定されたアンチアフィニティ要件が Pod の実行中に(Pod ラベルの更新などにより)満たされなくなった場合、システムは最終的に Pod をノードから強制排除することを試みる可能性があります。要素が複数ある場合、各 podAffinityTerm に対応するノードのリストは交差しており、すべての条件を満たす必要があることを意味します。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
| |
object 省略可 | 一連のリソース(この場合は Pod)に対するラベルクエリ。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
| |
object 省略可 | このキーワードが適用される一連の Namespace に対するラベルクエリ。このキーワードは、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
| |
object 省略可 | matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
| |
string 必須 | key は、このセレクタが適用されるラベルキーです。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
| |
string 必須 |
operator は、キーと値のセットの関連を表します。有効な演算子は In 、NotIn 、Exists 、DoesNotExist です。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
| |
string 省略可 | values は文字列値の配列です。operator が In または NotIn の場合、values の配列は空にはなりません。operator が Exists または DoesNotExist の場合、values の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
| |
object 省略可 | matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同じです。key フィールドは key、演算子は In で、値の配列には value のみが含まれます。要件は AND 結合されます。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
| |
string 省略可 | namespaces には、このキーワードが適用される Namespace 名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。 |
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
| |
string 必須 | この Pod は、指定された Namespace 内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。topologyKey を空にすることはできません。 |
podSpec.schedulingConfig.tolerations
| |
object 省略可 | tolerations では、適用される特定の taint を持つ Kubernetes ノードへのインスタンスのスケジューリングを許可するか拒否するかを管理できます。 |
podSpec.schedulingConfig.tolerations.effect
| |
string 省略可 | effect は、一致する taint 効果を示します。空にすると、すべての taint 効果に一致します。指定する場合、有効な値は NoSchedule、PreferNoSchedule、NoExecute です。 |
podSpec.schedulingConfig.tolerations.key
| |
string 省略可 | key は、toleration が適用される taint キーです。空にすると、すべての taint キーに一致します。key が空の場合は、operator を Exists にする必要があります。この組み合わせは、すべての値とすべてのキーを照合することを意味します。 |
podSpec.schedulingConfig.tolerations.operator
| |
string 省略可 |
operator は、値に対するキーの関係を表します。有効な演算子は Exists と Equal です。デフォルトは Equal です。Exists は値のワイルドカードに相当し、Pod は特定のカテゴリのすべての taint を許容できます。 |
podSpec.schedulingConfig.tolerations.tolerationSeconds
| |
integer 省略可 | tolerationSeconds は、toleration が taint を許容する時間の長さを表します(effect が NoExecute である必要があります。それ以外の場合、このフィールドは無視されます)。デフォルトでは、このフィールドは設定されていません。つまり、taint は永続的に許容されます(強制排除されません)。0 と負の値は 0 として扱われます(直ちに強制排除されます)。 |
podSpec.schedulingConfig.tolerations.value
| |
string 省略可 | value は、この toleration によって照合される taint 値です。演算子が Exists の場合は空にする必要があります。それ以外の場合は、通常の文字列にする必要があります。 |
replicaCount
| |
integer 省略可 | replicaCount は、デプロイする PgBouncer レプリカの数を定義します。 |
serverTLS
| |
object 省略可 | serverTLS は、PgBouncer が認証クエリのためにデータベース クラスタに接続する際に使用する暗号化された通信の証明書 Secret を定義します。 |
serverTLS.certSecret
| |
object 省略可 | certSecret は、同じ名前空間内の証明書 Secret を参照します。この Secret には、ca.crt(CA 証明書)、tls.key(秘密鍵)、tls.crt(リーフ証明書)のエントリが含まれている必要があります。この Secret 内の値は、pgbouncer.ini の server_tls_ca_file、server_tls_cert_file、server_tls_key_file への値の設定に使用されます。CA 証明書は、データベース クラスタのリーフ証明書に署名した CA と一致している必要があります。リーフ証明書には、CommonName「alloydbpgbouncer」が含まれている必要があります。 |
serverTLS.certSecret.name
| |
string 省略可 | 参照先の名前。詳細については、オブジェクトの操作#名前をご覧ください。 |
serviceOptions
| |
object 必須 | serviceOptions は、PgBouncer Pod にアクセスするための接続オプションを定義します。 |
serviceOptions.annotations
| |
object 省略可 | ユーザーが指定したアノテーションは、loadbalancer タイプの Service オブジェクトに追加されます。 |
serviceOptions.gcp
| |
object 省略可 | gcp には、Google Cloud に固有の Kubernetes LoadBalancer の属性が含まれます。 |
serviceOptions.gcp.loadBalancerIP
| |
integer or string 省略可 | loadBalancerIP は静的 IP アドレスです。静的外部 IP アドレスの予約をご覧ください。 |
serviceOptions.gcp.loadBalancerType
| |
string 省略可 | loadBalancer は内部または外部に配置できます。内部ロードバランサをご覧ください。 |
serviceOptions.loadBalancerSourceRanges
| |
array 省略可 |
クライアントに許可されている送信元 IP アドレスの CIDR 範囲。このパラメータは LoadBalancer にのみ適用されます。 |
serviceOptions.loadBalancerSourceRanges.items
| |
string 省略可 | 送信元 IP アドレスの各 CIDR 範囲。 |
serviceOptions.type
| |
string 必須 |
この PgBouncer Pod にアクセスする Kubernetes Service のタイプ。有効な値は LoadBalancer または ClusterIP です。 |
ステータス スキーマ
PgBouncerStatus は、PgBouncer の観測された状態を定義します。
ipAddress: string
phase: string
フィールド タイプ必須または省略可 |
説明 |
---|---|
ipAddress
| |
string 必須 | ipAddress は、データベースにアクセスするために接続できる PgBouncer エンドポイントです。 |
phase
| |
string 必須 | phase は、PgBouncer Deployment の状態を表します。ここには、WaitingForDeploymentReady、Acquiring IP、Ready などの値が表示されます。 |