PgBouncer v1.4.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
  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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
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
必須
キーと値のセットの関係を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExistGtLt です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、キーと値のセットの関連を表します。有効な演算子は InNotInExistsDoesNotExist です。
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 は、値に対するキーの関係を表します。有効な演算子は ExistsEqual です。デフォルトは 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 などの値が表示されます。