DBinstance v1.1.1 カスタム リソース定義

仕様スキーマ

DBInstanceSpec は、DBInstance の望ましい状態を定義します。

conditions:
- lastTransactionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
lastBackupTime: string
nextBackupTime: string
observedGeneration: integer
dbcParent:
  name: string
instanceType: string
isStopped: boolean
nodeCount: integer
progressTimeout: string
resources:
  cpu:
  - disks:
    accessModes: string
    annotations: object
    name: string
    selector:
      matchExpressions:
      - key: string
        operator: string
        values: string
        matchLabels: object
    size: string
    storageClass: string
    volumeName: 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:
        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
            values: string
          matchLabels:
        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
  tolerations:
  - effect: string
    key: string
    operator: string
    tolerationSeconds: integer
    value: string

フィールド

タイプ
必須または省略可

 

説明
dbcParent
object
省略可
DBClusterParent は、この DBInstance が複製元の DBCluster です。
dbcParent.name
string
省略可
参照対象の名前。詳細については、名前をご覧ください。
instanceType
string
省略可
InstanceType は、DBInstance のタイプを示します。現在のところ、「ReadPool」タイプのみをサポートしています。
isStopped
boolean
省略可
IsStopped が true の場合、この DBInstance の DBNode が停止します。このフィールドのデフォルトは false です。DBCluster のプライマリ DBNode を停止しても、ReadPool DBInstance の DBNode は自動的に停止されません。停止すると、インスタンスのコンピューティング リソース(CPU、メモリ)が解放されます。ただし、DBNode はストレージ リソースを保持します。
nodeCount
integer
必須
NodeCount は、この DBInstance に作成する必要がある DBNode の数を決定します。
progressTimeout
string
省略可
ProgressTimeout は、コントローラが DBNode のプロビジョニングを試行する秒数、または DBNode が準備ができていない可能性がある秒数を決定します。この秒数に達すると、DBNode は失敗と見なされます。値が 0 の場合、タイムアウトは使用されません。
resources
object
省略可
Resource には、この DBInstance に属するインスタンス(DBNode)に使用されるリソースを指定します。省略した場合、インスタンスは DBCluster のプライマリ インスタンスと同じリソースを使用します。
resources.cpu
integer or string
必須
データベース コンテナに割り当てられる CPU の量。
resources.disks
object
必須
データベース コンテナに割り当てられたディスクの仕様。
resources.disks.accessModes
string
省略可
AccessModes には、ボリュームに必要なアクセスモードが含まれます。詳細については、アクセスモードをご覧ください。
resources.disks.annotations
object
省略可
Persistent Volume Claim に追加された追加のアノテーション。これにより、他のツールとの統合が可能になります。
resources.disks.name
string
必須
ディスクの名前。有効な値は「DataDisk」、「LogDisk」、「BackupDisk」、「ObsDisk」です。
resources.disks.selector
object
省略可
バインディングの対象となるボリュームに対するラベルクエリ。このフィールドは省略可能です。このフィールドが設定されている場合、一致するラベルを持つボリュームがディスクのバッキング ボリュームとして使用されます。詳細については、PersistentVolumeClaimSpec をご覧ください。
resources.disks.selector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
resources.disks.selector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
resources.disks.selector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
resources.disks.selector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
resources.disks.selector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
resources.disks.size
string
必須
ディスクサイズ(バイト単位)。10 Gibibyte の場合は「10Gi」のように指定します。使用できるサイズ単位の接頭辞は、2 進数で「Ki」、「Mi」、「Gi」、「Ti」、「Pi」、「Ei」です。10 進数の場合は「K」、「M」、「G」、「T」、「P」、「E」も使用できます。詳細については、単位の接頭辞をご覧ください。
resources.disks.storageClass
string
省略可
StorageClass は特定の CSI ストレージ クラスを参照します。このフィールドは省略可能です。このフィールドが設定されていない場合、Kubernetes クラスタのデフォルトの CSI ストレージクラスが使用されます。Kubernetes クラスタにデフォルトがない場合、Persistence Volume Claim は失敗し、データベース クラスタのプロビジョニングに失敗します。詳細については、ストレージ クラスをご覧ください。
resources.disks.volumeName
string
省略可
VolumeName は、このディスクに関連付けられた Persistent Volume へのバインディング参照です。このフィールドは省略可能です。これにより、既存のボリュームを再利用できます。このフィールドを指定した場合は、値「storageClass」は適用されません。詳細については、バインディングをご覧ください。
resources.memory
integer or string
必須
データベース コンテナに割り振られるメモリの量。
schedulingConfig
object
省略可
SchedulingConfig には、Kubernetes ノードでインスタンスをスケジュールする方法が指定されます。省略した場合、インスタンスは DBCluster のプライマリ インスタンスと同じスケジューリング構成を使用します。スケジューリング構成内のいずれかのフィールドが変更されると、構成に基づいて Kubernetes Pod が別のノードに再スケジュールされる可能性があります。
schedulingConfig.nodeAffinity
object
省略可
NodeAffinity は、インスタンスのノード アフィニティ スケジューリング ルールを記述します。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
省略可
スケジューラは、このフィールドで指定されたアフィニティ式を満たすノードに Pod をスケジュールします。スケジューラは、1 つ以上の式に違反するノードを選択する場合があります。最も優先されるノードは、重みの合計が最も大きいノードです。つまり、すべてのスケジューリング要件(リソース リクエスト、requiredDuringScheduling アフィニティ式など)を満たすノードごとに、このフィールドの要素を反復処理し、ノードが対応する matchExpressions と一致する場合は「weight」を合計に追加して合計を計算します。合計が最も大きいノードが最も優先されます。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
必須
対応する重みに関連付けられたノードセレクタのキーワード。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
省略可
ノードのラベル別のノードセレクタの要件のリスト。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
必須
セレクタが適用されるラベルキー。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
必須
キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist、Gt、Lt です。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には整数として解釈される単一の要素が必要です。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
省略可
ノードのフィールドごとのノードセレクタの要件のリスト。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
必須
セレクタが適用されるラベルキー。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
必須
キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist、Gt、Lt です。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には整数として解釈される単一の要素が必要です。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
必須
対応する nodeSelectorTerm の一致に関連付けられた重み(1 ~ 100 の範囲)。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
省略可
このフィールドで指定されたアフィニティ要件がスケジューリング時に満たされていない場合、Pod はノードにスケジュールされません。更新が原因で、Pod の実行中にこのフィールドで指定されたアフィニティ要件が満たされなかった場合、システムは最終的に Pod をノードから強制排除することがあります。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
必須
ノードセレクタのキーワードのリスト。これらのキーワードは OR 条件として扱われます。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
省略可
ノードのラベル別のノードセレクタの要件のリスト。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
必須
セレクタが適用されるラベルキー。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
必須
キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist、Gt、Lt です。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には整数として解釈される単一の要素が必要です。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
省略可
ノードのフィールドごとのノードセレクタの要件のリスト。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
必須
セレクタが適用されるラベルキー。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
必須
キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist、Gt、Lt です。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
省略可
文字列値の配列。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。演算子が Gt または Lt の場合、値の配列には整数として解釈される単一の要素が必要です。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAffinity
object
省略可
PodAffinity は、インスタンスの Pod アフィニティ スケジューリング ルールを記述します。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
省略可
スケジューラは、このフィールドで指定されたアフィニティ式を満たすノードに Pod をスケジュールします。スケジューラは、1 つ以上の式に違反するノードを選択する場合があります。最も優先されるノードは、重みの合計が最も大きいノードです。すべてのスケジューリング要件(リソース リクエスト、requiredDuringScheduling アフィニティ式など)を満たしているノードごとに、このフィールドの要素を反復処理し、ノードに対応する podAffinityTerm と一致する Pod がある場合は合計に「重み」を加算して合計を計算します。合計が最も高いノードが最も優先されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必須
対応する重みに関連付けられた Pod アフィニティのキーワード。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
省略可
一連のリソース(この場合は Pod)に対するラベルクエリ。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに適用されます。null または空の Namespace リストと null namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
必須
この Pod は、指定された Namespace 内の labelSelector に一致する Pod と、同じ場所に配置するか(アフィニティ)、同じ場所に配置しないようにする必要があります(アンチアフィニティ)。コアロケーションとは、キー topologyKey を持つラベルの値が、選択した Pod のいずれかが実行されているノードの値と一致するノードで実行されていることを意味します。空の topologyKey は使用できません。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
必須
対応する podAffinityTerm の一致に関連付けられた重み(1 ~ 100 の範囲)。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
省略可
このフィールドで指定されたアフィニティ要件がスケジューリング時に満たされていない場合、Pod はノードにスケジュールされません。Pod の実行中に、このフィールドで指定されたアフィニティ要件が満たされなかった場合(Pod ラベルの更新など)、システムは最終的に Pod をノードから強制排除することがあります。要素が複数ある場合、各 podAffinityTerm に対応するノードのリストが交差します。つまり、すべての条件を満たす必要があります。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
省略可
一連のリソース(この場合は Pod)に対するラベルクエリ。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに適用されます。null または空の Namespace リストと null namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに適用されます。null または空の Namespace リストと null namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必須
この Pod は、指定された Namespace 内の labelSelector に一致する Pod と、同じ場所に配置するか(アフィニティ)、同じ場所に配置しないようにする必要があります(アンチアフィニティ)。コアロケーションとは、キー topologyKey を持つラベルの値が、選択した Pod のいずれかが実行されているノードの値と一致するノードで実行されていることを意味します。空の topologyKey は使用できません。
schedulingConfig.podAntiAffinity
string
必須
この Pod は、指定された Namespace 内の labelSelector に一致する Pod と、同じ場所に配置するか(アフィニティ)、同じ場所に配置しないようにする必要があります(アンチアフィニティ)。コアロケーションとは、キー topologyKey を持つラベルの値が、選択した Pod のいずれかが実行されているノードの値と一致するノードで実行されていることを意味します。空の topologyKey は使用できません。
schedulingConfig.podAntiAffinity
object
省略可
PodAntiAffinity は、インスタンスの Pod 反アフィニティ スケジューリング ルールを記述します。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
省略可
スケジューラは、このフィールドで指定されたアンチアフィニティ式を満たすノードに Pod をスケジュールすることを優先しますが、1 つ以上の式に違反するノードを選択することもあります。最も優先されるノードは、重みの合計が最も大きいノードです。つまり、すべてのスケジューリング要件(リソース リクエスト、requiredDuringScheduling アンチアフィニティ式など)を満たすノードごとに、このフィールドの要素を反復処理して合計を計算し、ノードに対応する podAffinityTerm に一致する Pod がある場合は合計に「weight」を追加します。合計が最も高いノードが最も優先されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必須
対応する重みに関連付けられた Pod アフィニティのキーワード。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
省略可
一連のリソース(この場合は Pod)に対するラベルクエリ。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector.matchLabels
string
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに適用されます。null または空の Namespace リストと null namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
必須
この Pod は、指定された Namespace の labelSelector に一致する Pod と、同じ場所に配置するか(アフィニティ)、同じ場所に配置しないようにする必要があります(アンチアフィニティ)。コアロケーションとは、キー topologyKey を持つラベルの値が、選択した Pod のいずれかが実行されているノードの値と一致するノードで実行されていることを意味します。空の topologyKey は使用できません。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
必須
対応する podAffinityTerm の一致に関連付けられた重み(1 ~ 100 の範囲)。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
省略可
このフィールドで指定されたアンチアフィニティ要件がスケジュール時に満たされていない場合、Pod はノードにスケジュールされません。Pod の実行中に、このフィールドで指定された反アフィニティ要件が満たされなかった場合(Pod ラベルの更新など)、システムは最終的に Pod をノードから強制排除することがあります。要素が複数ある場合、各 podAffinityTerm に対応するノードのリストが交差します。つまり、すべての条件を満たす必要があります。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
省略可
一連のリソース(この場合は Pod)に対するラベルクエリ。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
用語が適用される一連の名前空間に対するラベルクエリ。この用語は、このフィールドで選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに適用されます。null セレクタと null または空の Namespace リストは、「この Pod の Namespace」を意味します。空のセレクタ({})は、すべての Namespace に一致します。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
object
省略可
matchExpressions は、ラベルセレクタの要件のリストです。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key
string
必須
key は、セレクタが適用されるラベルキーです。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator
string
必須
演算子は、キーと値のセットの関係を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、値の配列は空でないこと。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージ パッチ中に置き換えられます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、キーフィールドが「key」、演算子が「In」、値の配列に「value」のみが含まれる matchExpressions の要素と同等です。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces には、用語が適用される名前空間名の静的リストを指定します。この用語は、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに適用されます。null または空の Namespace リストと null namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必須
この Pod は、指定された Namespace 内の labelSelector に一致する Pod と、同じ場所に配置するか(アフィニティ)、同じ場所に配置しないようにする必要があります(アンチアフィニティ)。コアロケーションとは、キー topologyKey を持つラベルの値が、選択した Pod のいずれかが実行されているノードの値と一致するノードで実行されていることを意味します。空の topologyKey は使用できません。
schedulingConfig.tolerations
object
省略可
特定のタグが適用されている Kubernetes ノードでインスタンスのスケジュール設定を許可または拒否するかどうかを管理する Toleration。
schedulingConfig.tolerations.effect
string
省略可
Effect は、一致する taint 効果を示します。空白にすると、すべての taint 効果に一致します。指定する場合、有効な値は NoSchedule、PreferNoSchedule、NoExecute です。
schedulingConfig.tolerations.key
string
省略可
Key は、toleration が適用される taint キーです。空の場合は、すべての taint キーに一致します。キーが空の場合は、演算子を Exists にする必要があります。この組み合わせは、すべての値とすべてのキーを照合することを意味します。
schedulingConfig.tolerations.operator
string
省略可
演算子は、キーと値の関係を表します。有効な演算子は Exists と Equal です。デフォルトは [Equal] です。Exists は値のワイルドカードと同じです。これにより、Pod は特定のカテゴリのすべての taint を許容できます。
schedulingConfig.tolerations.tolerationSeconds
integer
省略可
TolerationSeconds は、toleration(効果が NoExecute である必要があります。それ以外の場合はこのフィールドは無視されます)が taint を許容する期間を表します。デフォルトでは設定されていません。つまり、タインを永続的に許容します(強制排除しません)。0 と負の値は、システムによって 0(直ちに強制排除)として扱われます。
schedulingConfig.tolerations.value
string
省略可
Value は、toleration が一致する taint 値です。演算子が Exists の場合は値を空にする必要があります。それ以外の場合は、通常の文字列になります。

ステータス スキーマ

DBInstanceStatus は、DBInstance の観測された状態を定義します。

conditions:
- lastTransitionTime:
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
endpoints:
- name: string
  value: string
observedGeneration: integer
reconciled: boolean

フィールド

タイプ
必須または省略可

 

説明
conditions
object
省略可
Conditions は、エンティティの現在の状態に関する、利用可能な最新の観測値を表します。
conditions.lastTransitionTime
string
必須
lastTransitionTime は、あるステータスから別のステータスに条件が最後に移行した時刻です。これは、基盤となる条件が変更されたときに発生します。基になる条件が変更された時刻が不明な場合は、API フィールドが変更された時刻を使用します。
conditions.message
string
必須
message は、移行の詳細を示す人間が読めるメッセージです。空の文字列を指定できます。
conditions.observedGeneration
integer
省略可
observedGeneration は、条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 であるにもかかわらず、.status.conditions[x].observedGeneration が 9 である場合、その状態はインスタンスの現在の状態に関して古くなっています。
conditions.reason
string
必須
reason には、条件の最後の遷移の理由を示すプログラマティック ID が含まれます。特定の条件タイプのプロデューサーは、このフィールドの想定される値と意味、および値が保証付き API と見なされるかどうかを定義できます。値は CamelCase 文字列にする必要があります。このフィールドは空でないこと。
conditions.status
string
必須
条件のステータス(True、False、Unknown のいずれか)。
conditions.type
string
必須
キャメルケースまたは foo.example.com/CamelCase で条件のタイプを指定します。多くの .condition.type 値は、Available などリソース間で一貫していますが、任意の条件が有用な場合があるため(.node.status.conditions を参照)、競合を回避する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。
criticalIncidents
object
省略可
CriticalIncidents は、アクティブなすべての重大なインシデントのフラットなリストです。
criticalIncidents.code
string
必須
Code は、この特定のエラーのエラーコードです。エラーコードは DBSE と数値文字列(「DBSE1012」など)で構成されます。
criticalIncidents.createTime
string
必須
CreateTime は、このインシデントが送信元で作成されたときのタイムスタンプです。
criticalIncidents.message
string
省略可
Message には、発生したインシデントまたはエラーの説明が含まれます。
criticalIncidents.messageTemplateParams
object
省略可
MessageTemplateParams には、ユーザー インターフェースでユーザー フレンドリーなデータドリブン バージョンの Message を生成するために必要な Key-Value ペアが含まれています。
criticalIncidents.resource
object
必須
Resource には、インシデントを報告した Database Service コンポーネントに関する情報と、Kubernetes リソースに関する情報が含まれます。
criticalIncidents.resource.component
string
必須
Component は、インシデントを報告した Database Service サブシステムの内部識別子です。
criticalIncidents.resource.location
object
省略可
ロケーション
criticalIncidents.resource.location.cluster
string
省略可
Cluster は、影響を受ける Kubernetes リソースのクラスタの名前です。
criticalIncidents.resource.location.group
string
省略可
Group は、Kubernetes リソースの Group 名です。
criticalIncidents.resource.location.kind
string
省略可
Kind は Kubernetes リソースの Kind です。
criticalIncidents.resource.location.name
string
省略可
Name は、影響を受ける Kubernetes リソースの名前です。
criticalIncidents.resource.location.namespace
string
省略可
Namespace は、影響を受ける Kubernetes リソースの名前空間です。
criticalIncidents.resource.location.version
string
省略可
Group は Kubernetes リソースのバージョンです。
criticalIncidents.stackTrace
object
省略可
StackTrace には、スタック トレースからのメッセージの非構造化リストが含まれます。
criticalIncidents.stackTrace.component
string
省略可
Component は、メッセージをロギングした Database Service コンポーネントの名前です。
criticalIncidents.stackTrace.message
string
省略可
ログに記録されたメッセージ。
criticalIncidents.transientUntil
string
省略可
TransientUntil が指定されている場合、指定された時刻までは問題が一時的なものであるとみなす必要があります。
endpoints
object
省略可
エンドポイントは、DBInstance 内の DBNode にアクセスできるエンドポイントです。
endpoints.name
string
必須
Name には、エンドポイントの名前を指定します。
endpoints.value
string
省略可
Value にはエンドポイント情報が含まれます。
observedGeneration
integer
省略可
コントローラによって検出された世代。
reconciled
boolean
省略可
リソースがコントローラによって調整されているかどうかを示します。