PgBouncer v1.3.0 カスタム リソース定義

仕様スキーマ

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
  type: object

フィールド

タイプ
必須または省略可

 

説明
accessMode
string
省略可
PgBouncer 接続の read-write または read-only アクセス モードを定義します。デフォルト値は read-only です。
allowSuperUserAccess
boolean
省略可
AllowSuperUserAccess は true または false に設定できます。
dbclusterRef
string
必須
DBClusterRef は、PgBouncer が接続をプーリングする DBCluster 名です。PgBouncer オブジェクトは、参照する DBCluster と同じ Namespace に作成する必要があります。このフィールドは、PgBouncer 接続プーリングに必須です。
parameters
object
省略可
パラメータには、設定可能なさまざまな 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
必須
リソースは、メモリと CPU の現在の構成を表します。
podSpec.resources.cpu
integer or string
必須
pgbouncer コンテナに割り当てられる CPU の量。
podSpec.resources.memory
integer or string
必須
PgBouncer コンテナに割り当てられるメモリ量。
podSpec.schedulingConfig
object
省略可
SchedulingConfig フィールドを使用して、Kubernetes ノードでインスタンスのスケジュール設定方法を指定します。スケジューリング構成内のフィールドを変更すると、新しい構成に応じて、Kubernetes が 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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列を空にすることはできません。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が 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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
podSpec.schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が 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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が 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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
podSpec.schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
省略可
Key-Value ペアのマップ。各 Key-Value ペアは要件として機能します。スケジューラは、matchLabels で指定されたすべてのラベルを持つノードに Pod をマッチングします。
podSpec.schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この 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
必須
演算子は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。この要素のキーフィールドは「key」、演算子は「In」、値の配列には「value」のみが含まれます。要件は AND 結合されます。
podSpec.schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている 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
省略可
Toleration を使用すると、特定のタグが適用されている Kubernetes ノードでインスタンスのスケジュール設定を許可または拒否できます。
podSpec.schedulingConfig.tolerations.effect
string
省略可
Effect は、一致する taint 効果を示します。空白にすると、すべての taint 効果に一致します。指定する場合、有効な値は NoSchedule、PreferNoSchedule、NoExecute です。
podSpec.schedulingConfig.tolerations.key
string
省略可
Key は、toleration が適用される taint キーです。空は、すべての taint キーに一致することを意味します。キーが空の場合は、演算子を Exists にする必要があります。この組み合わせは、すべての値とすべてのキーを照合することを意味します。
podSpec.schedulingConfig.tolerations.operator
string
省略可
演算子は、キーと値の関係を表します。有効な演算子は ExistsEqual です。デフォルトは Equal です。 Exists は値のワイルドカードに相当するため、Pod は特定のカテゴリのすべての taint を許容できます。
podSpec.schedulingConfig.tolerations.tolerationSeconds
integer
省略可
TolerationSeconds は、toleration(効果が NoExecute である必要があります。それ以外の場合、このフィールドは無視されます)が taint を許容する期間を表します。デフォルトでは、このフィールドは設定されていません。つまり、タインを永続的に許容します(強制排除しません)。0 と負の値は、システムによって 0 として扱われます(直ちに強制排除されます)。
podSpec.schedulingConfig.tolerations.value
string
省略可
Value は、toleration が一致する taint 値です。演算子が Exists の場合は値を空にする必要があります。それ以外の場合は、通常の文字列にする必要があります。
replicaCount
integer
省略可
ReplicaCount には、デプロイする PgBouncer レプリカの数を指定します。
serverTLS
object
省略可
ServerTLSSpec は、PgBouncer が認証クエリ用にデータベース クラスタに接続するために使用する暗号化された通信の証明書シークレットを定義します。
serverTLS.certSecret
object
省略可
CertSecret は、同じ Namespace 内の証明書 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 には、Kubernetes LoadBalancer の Google Cloud 固有の属性が含まれています。
serviceOptions.gcp.loadBalancerIP
integer or string
省略可
LoadBalancerIP は静的 IP アドレスです。静的外部 IP アドレスを予約するをご覧ください。
serviceOptions.gcp.loadBalancerType
string
省略可
LoadBalancer は内部または外部に配置できます。内部ロードバランサをご覧ください。
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 などの値が表示されます。