仕様スキーマ
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 などの値が表示されます。 |