DBInstance v1.4.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
選填
DBClusterParent 是這個 DBInstance 複製來源的 DBCluster。
dbcParent.name
string
選填
參照對象的名稱。詳情請參閱「名稱」。
instanceType
string
選填
InstanceType 表示 DBInstance 的類型。目前僅支援「ReadPool」類型。
isStopped
boolean
選填
如果設為 true,IsStopped 會停止這個 DBInstance 中的 DBNode。這個欄位預設為 false。停止 DBCluster 的主要 DBNode 時,ReadPool DBInstance 的 DBNode 不會自動停止。停止後,執行個體的運算資源 (CPU、記憶體) 會釋出。不過,DBNode 仍會保留儲存空間資源。
nodeCount
integer
必填
NodeCount 會決定必須為這個 DBInstance 建立的 DBNode 數量。
progressTimeout
string
選填
ProgressTimeout 會決定控制器嘗試佈建 DBNode 的秒數,或 DBNode 可能未準備就緒的秒數,之後控制器會將 DBNode 視為失敗。值為 0 表示不使用逾時。
resources
object
選填
資源會指定用於這個 DBInstance 所屬執行個體的資源,也就是 DBNodes。如省略,執行個體會使用與 DBCluster 主要執行個體相同的資源。
resources.cpu
integer or string
必填
分配給資料庫容器的 CPU 數量。
resources.disks
object
必填
分配給資料庫容器的磁碟規格。
resources.disks.accessModes
string
選填
AccessModes 包含磁碟區所需的存取模式。詳情請參閱「存取模式」。
resources.disks.annotations
object
選填
已在永久磁碟區要求中新增其他註解。這可與其他工具整合。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列僅包含「value」。各項條件會以 AND 邏輯運算子連結。
resources.disks.size
string
必填
磁碟大小 (以位元組為單位),例如「10Gi」代表 10 Gibibytes。允許的大小單位前置字元為:2 進位的「Ki」、「Mi」、「Gi」、「Ti」、「Pi」和「Ei」。此外,10 進位制則使用「K」、「M」、「G」、「T」、「P」和「E」。詳情請參閱「單位前置字元」。
resources.disks.storageClass
string
選填
StorageClass 指向特定 CSI 儲存空間類別。這是選填欄位。如果未設定這個欄位,系統會使用 Kubernetes 叢集的預設 CSI 儲存空間類別。如果 Kubernetes 叢集沒有預設值,永久磁碟區要求就會失敗,資料庫叢集也無法佈建。詳情請參閱「儲存空間級別」。
resources.disks.volumeName
string
選填
VolumeName 是繫結至這個磁碟的永久磁碟區繫結參照。這是選填欄位。這樣就能重複使用現有磁碟區。請注意,如果指定這個欄位,則「storageClass」值不會生效。詳情請參閱「繫結」。
resources.memory
integer or string
必填
分配給資料庫容器的記憶體量。
schedulingConfig
object
選填
SchedulingConfig 會指定執行個體在 Kubernetes 節點上的排程方式。如未指定,執行個體會使用與 DBCluster 主要執行個體相同的排程設定。排程設定中的任何欄位變更時,可能會導致 Kubernetes Pod 根據設定重新排程至不同節點。
schedulingConfig.nodeAffinity
object
選填
NodeAffinity 說明執行個體的節點相依性排程規則。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
選填
排程器會優先將 Pod 排程至滿足這個欄位所指定相依性運算式的節點。排程器可能會選擇違反一或多個運算式的節點。最優先的節點是權重總和最大的節點,換句話說,對於符合所有排程需求 (資源要求、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 排程至符合這個欄位指定親和性運算式的節點。排程器可能會選擇違反一或多個運算式的節點。 權重總和最大的節點最受青睞。如果節點符合所有排程需求 (例如資源要求和 requiredDuringScheduling 親和性運算式),系統會逐一檢查這個欄位的元素,並在節點含有符合對應 podAffinityTerm 的 Pod 時,將「weight」加到總和中,藉此計算出總和。總和最高的節點最優先。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必填
與對應權重相關聯的廣告連播親和字詞。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列只包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
選填
針對字詞適用的命名空間集,執行標籤查詢。這個詞彙適用於此欄位選取的命名空間,以及命名空間欄位中列出的命名空間。空值選取器和空值或空白命名空間清單表示「這個 Pod 的命名空間」。空白選取器 ({}) 會比對所有命名空間。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列僅包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
選填
namespaces 會指定術語適用的命名空間名稱靜態清單。這個字詞會套用至這個欄位所列命名空間和 namespaceSelector 所選命名空間的聯集。如果命名空間清單為空值或空白,且 namespaceSelector 為空值,則表示「這個 Pod 的命名空間」。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
必填
這個 Pod 必須與指定命名空間中符合 labelSelector 的 Pod 共置 (親和性) 或不共置 (反親和性)。「共置」是指在節點上執行,且該節點的標籤值 (鍵為 topologyKey) 與任何執行所選 Pod 的節點標籤值相符。拓撲鍵不得為空白。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列只包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
選填
針對字詞適用的命名空間集,執行標籤查詢。這個詞彙適用於此欄位選取的命名空間,以及命名空間欄位中列出的命名空間。空值選取器和空值或空白命名空間清單表示「這個 Pod 的命名空間」。空白選取器 ({}) 會比對所有命名空間。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列僅包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
選填
namespaces 指定了該字詞適用的命名空間名稱靜態清單。這個字詞會套用至這個欄位所列命名空間和 namespaceSelector 所選命名空間的聯集。如果命名空間清單為空值或空白,且 namespaceSelector 為空值,則表示「這個 Pod 的命名空間」。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
選填
namespaces 會指定術語適用的命名空間名稱靜態清單。這個字詞會套用至這個欄位所列命名空間和 namespaceSelector 所選命名空間的聯集。如果命名空間清單為空值或空白,且 namespaceSelector 為空值,則表示「這個 Pod 的命名空間」。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必填
這個 Pod 必須與指定命名空間中符合 labelSelector 的 Pod 共置 (親和性) 或不共置 (反親和性)。「共置」是指在節點上執行,且該節點的標籤值 (鍵為 topologyKey) 與任何執行所選 Pod 的節點標籤值相符。拓撲鍵不得為空白。
schedulingConfig.podAntiAffinity
string
必填
這個 Pod 必須與指定命名空間中符合 labelSelector 的 Pod 位於相同位置 (親和性),或位於不同位置 (反親和性)。「共置」是指在節點上執行,且該節點的標籤值 (鍵為 topologyKey) 與任何執行所選 Pod 的節點標籤值相符。拓撲鍵不得為空白。
schedulingConfig.podAntiAffinity
object
選填
PodAntiAffinity 說明執行個體的 Pod 反親和性排程規則。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
選填
排程器會優先將 Pod 排程至符合這個欄位指定反親和性運算式的節點,但排程器可能會選擇違反一或多個運算式的節點。 最優先的節點是權重總和最大的節點。換句話說,對於符合所有排程需求 (資源要求、requiredDuringScheduling 反親和性運算式等) 的每個節點,請逐一疊代這個欄位的元素,並將「權重」加到總和中 (如果節點有符合對應 podAffinityTerm 的 Pod)。總和最高的節點是首選。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必填
與對應權重相關聯的廣告連播親和字詞。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列只包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
選填
針對字詞適用的命名空間集,執行標籤查詢。這個詞彙適用於此欄位選取的命名空間,以及命名空間欄位中列出的命名空間。空值選取器和空值或空白命名空間清單表示「這個 Pod 的命名空間」。空白選取器 ({}) 會比對所有命名空間。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列僅包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaces
string
選填
namespaces 會指定術語適用的命名空間名稱靜態清單。這個字詞會套用至這個欄位所列命名空間和 namespaceSelector 所選命名空間的聯集。如果命名空間清單為空值或空白,且 namespaceSelector 為空值,則表示「這個 Pod 的命名空間」。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
必填
這個 Pod 必須與符合指定命名空間中 labelSelector 的 Pod 位於相同位置 (相似度) 或不同位置 (反相似度)。如果節點上標籤的值與任何所選 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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列只包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
選填
針對字詞適用的命名空間集,執行標籤查詢。這個詞彙適用於此欄位選取的命名空間,以及命名空間欄位中列出的命名空間。空值選取器和空值或空白命名空間清單表示「這個 Pod 的命名空間」。空白選取器 ({}) 會比對所有命名空間。
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} 相當於 matchExpressions 的元素,其鍵欄位為「key」,運算子為「In」,且值陣列僅包含「value」。各項條件會以 AND 邏輯運算子連結。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
選填
namespaces 會指定術語適用的命名空間名稱靜態清單。這個字詞會套用至這個欄位所列命名空間和 namespaceSelector 所選命名空間的聯集。如果命名空間清單為空值或空白,且 namespaceSelector 為空值,則表示「這個 Pod 的命名空間」。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必填
這個 Pod 必須與指定命名空間中符合 labelSelector 的 Pod 位於相同位置 (親和性),或位於不同位置 (反親和性)。「共置」是指在節點上執行,且該節點的標籤值 (鍵為 topologyKey) 與任何執行所選 Pod 的節點標籤值相符。拓撲鍵不得為空白。
schedulingConfig.tolerations
object
選填
容忍度:可管理是否允許在套用特定污點的 Kubernetes 節點上排定執行個體。
schedulingConfig.tolerations.effect
string
選填
「Effect」代表要比對的污點效果。留空表示比對所有污點影響。指定時,允許的值為 NoSchedule、PreferNoSchedule 和 NoExecute。
schedulingConfig.tolerations.key
string
選填
「Key」是容忍度套用的污點鍵。如果留空,則代表比對所有污點索引鍵。如果鍵為空白,運算子必須為 Exists。這個組合表示比對所有值和所有鍵。
schedulingConfig.tolerations.operator
string
選填
運算子代表鍵與值的關係。有效運算子為「存在」和「等於」。預設為「Equal」。Exists 相當於值的萬用字元,因此 Pod 可以容忍特定類別的所有污點。
schedulingConfig.tolerations.tolerationSeconds
integer
選填
TolerationSeconds 代表容許時間,容許時間必須是 NoExecute 效果,否則系統會忽略這個欄位。根據預設,系統不會設定此值,這表示永遠容許 taint (不會移除)。系統會將零值和負值視為 0 (立即清除)。
schedulingConfig.tolerations.value
string
選填
值是容忍度比對的污點值。如果運算子為「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.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。值必須是駝峰式大小寫字串。這個欄位不得留空。
conditions.status
string
必填
條件的狀態,可以是 True、False 或 Unknown。
conditions.type
string
必填
條件類型,採用駝峰式大小寫或 foo.example.com/CamelCase 格式。許多 .condition.type 值在「可用」等資源中是一致的,但由於任意條件可能很有用 (請參閱 .node.status.conditions),因此解除衝突的能力非常重要。比對的規則運算式為 (dns1123SubdomainFmt/)?(qualifiedNameFmt)。
criticalIncidents
object
選填
CriticalIncidents 是所有有效重大事件的平面清單。
criticalIncidents.code
string
必填
Code 是這項特定錯誤的錯誤代碼。錯誤代碼為 DBSE+數字字串,例如「DBSE1012」。
criticalIncidents.createTime
string
必填
CreateTime 是在來源建立這個事件的時間戳記。
criticalIncidents.message
string
選填
訊息會說明發生的事件或錯誤。
criticalIncidents.messageTemplateParams
object
選填
MessageTemplateParams 包含產生使用者介面中資料驅動型 Message 容易使用版本的必要鍵/值組合。
criticalIncidents.resource
object
必填
資源包含回報事件的資料庫服務元件相關資訊,以及 Kubernetes 資源的相關資訊。
criticalIncidents.resource.component
string
必填
元件是回報事件的資料庫服務子系統內部 ID。
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 資源的種類。
criticalIncidents.resource.location.name
string
選填
名稱是受影響的 Kubernetes 資源名稱。
criticalIncidents.resource.location.namespace
string
選填
命名空間是受影響 Kubernetes 資源的命名空間。
criticalIncidents.resource.location.version
string
選填
Group 是 Kubernetes 資源的版本。
criticalIncidents.stackTrace
object
選填
StackTrace 包含來自堆疊追蹤的非結構化訊息清單。
criticalIncidents.stackTrace.component
string
選填
Component 是記錄訊息的資料庫服務元件名稱。
criticalIncidents.stackTrace.message
string
選填
記錄訊息。
criticalIncidents.transientUntil
string
選填
如果存在 TransientUntil,表示問題必須視為暫時性問題,直到指定時間為止。
endpoints
object
選填
端點是指可存取 DBInstance 中 DBNode 的端點。
endpoints.name
string
必填
名稱包含端點名稱。
endpoints.value
string
選填
值包含端點資訊。
observedGeneration
integer
選填
控制器觀察到的世代。
reconciled
boolean
選填
指出控制器是否已協調資源。