DBInstance v1.2.0 カスタム リソース定義

仕様スキーマ

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
省略可
dbcParent は、この 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
省略可
resources には、この 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、In、NotIn、Exists、DoesNotExist です。
resources.disks.selector.matchExpressions.values
string
省略可
values は文字列値の配列です。演算子が In または NotIn の場合、values は空の配列にできません。演算子が Exists または DoesNotExist の場合、値の配列は空にする必要があります。この配列は、戦略的マージパッチ中に置き換えられます。
resources.disks.selector.matchLabels
object
省略可
matchLabels は {key,value} ペアのマップです。matchLabels マップ内の単一の {key,value} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
resources.disks.size
string
必須
ディスクサイズ(バイト単位)。10 ギビバイトの場合は「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 と一致する場合は、「重み」を合計に加算することで合計をコンピューティングします。合計が最も大きいノードが最も優先されます。
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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
その条件が適用される一連の名前空間に対するラベルクエリ。このキーワードは、このフィールドによって選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
省略可
namespaces は、この条件が適用される名前空間名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
必須
この Pod は、指定された名前空間内の 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
その条件が適用される一連の名前空間に対するラベルクエリ。このキーワードは、このフィールドによって選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は 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 は、指定された名前空間内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。空の topologyKey は使用できません。
schedulingConfig.podAntiAffinity
string
必須
この Pod は、指定された名前空間内の 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
省略可
その条件が適用される一連の名前空間に対するラベルクエリ。このキーワードは、このフィールドによって選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
省略可
その条件が適用される一連の名前空間に対するラベルクエリ。このキーワードは、このフィールドによって選択された Namespace と namespaces フィールドにリストされている Namespace のユニオンに対して適用されます。null のセレクタと null または空の namespaces リストは、「この 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
必須
operator は、キーと値のセットの関連を表します。有効な演算子は、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} は、matchExpressions の要素と同等です。そのキーフィールドは「key」、演算子は「In」で、値の配列には「value」のみが含まれます。要件は AND 結合されます。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
省略可
namespaces は、この条件が適用される名前空間名の静的リストを指定します。このキーワードは、このフィールドにリストされている Namespace と namespaceSelector によって選択された Namespace のユニオンに対して適用されます。null または空の Namespace リストと null の namespaceSelector は、「この Pod の Namespace」を意味します。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必須
この Pod は、指定された名前空間内の labelSelector に一致する Pod と同じ場所に配置されるか(アフィニティ)、同じ場所に配置されない(アンチアフィニティ)必要があります。「同じ場所に配置される」とは、「キー topologyKey を持つラベルの値が、選択された Pod のいずれかが実行されているいずれかのノードの値と一致しているノードで実行されること」と定義されます。空の topologyKey は使用できません。
schedulingConfig.tolerations
object
省略可
適用される特定の taint を持つ Kubernetes ノードへのインスタンスのスケジューリングを許可するか拒否するかを管理できる tolerations。
schedulingConfig.tolerations.effect
string
省略可
effect は、一致する taint 効果を示します。空にすると、すべての taint 効果に一致します。指定する場合、有効な値は NoSchedule、PreferNoSchedule、NoExecute です。
schedulingConfig.tolerations.key
string
省略可
key は、toleration が適用される taint キーです。空にすると、すべての taint キーに一致します。キーが空の場合は、演算子を Exists にする必要があります。この組み合わせは、すべての値とすべてのキーを照合することを意味します。
schedulingConfig.tolerations.operator
string
省略可
operator は、値に対するキーの関係を表します。有効な演算子は Exists と Equal です。デフォルトは Equal です。Exists は値のワイルドカードと同等であるため、Pod は特定のカテゴリのすべての taint を許容できます。
schedulingConfig.tolerations.tolerationSeconds
integer
省略可
tolerationSeconds は、toleration が taint を許容する時間の長さを表します(effect が 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
必須
条件のタイプ(CamelCase または 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 リソースのグループ名です。
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
省略可
endpoints は、DBInstance 内の DBNode にアクセスできるエンドポイントです。
endpoints.name
string
必須
name には、エンドポイントの名前を指定します。
endpoints.value
string
省略可
value にはエンドポイント情報が含まれます。
observedGeneration
integer
省略可
コントローラによって検出された世代。
reconciled
boolean
省略可
リソースがコントローラによって調整されているかどうかを示します。