規格結構定義
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 中的 DBNodes。這個欄位預設為 false。停止 DBCluster 的主要 DBNode 不會自動停止 ReadPool DBInstance 的 DBNodes。停止執行個體時,系統會釋出執行個體的運算資源 (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 必填 | 鍵是選取器套用的標籤鍵。 |
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)。總和最高的節點是首選。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 位於同一位置 (親和性) 或不同位置 (反親和性)。共置是指在節點上執行,而節點的標籤值 (含拓撲鍵) 與任何所選 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 必填 | 鍵是選取器套用的標籤鍵。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 位於同一位置 (親和性) 或不同位置 (反親和性)。共置是指在節點上執行,而節點的標籤值 (含拓撲鍵) 與任何所選 Pod 執行的節點相符。拓撲鍵不得為空。 |
schedulingConfig.podAntiAffinity
| |
string 必填 | 這個 Pod 必須與指定命名空間中符合 labelSelector 的 Pod 位於同一位置 (親和性) 或不同位置 (反親和性)。共置是指在節點上執行,而節點的標籤值 (含拓撲鍵) 與任何所選 Pod 執行的節點相符。拓撲鍵不得為空。 |
schedulingConfig.podAntiAffinity
| |
object 選填 | PodAntiAffinity 會說明執行個體的 Pod 反相依性排程規則。 |
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
| |
object 選填 | 排程器會優先將 Pod 排程至符合這個欄位指定反親和性運算式的節點,但排程器可能會選擇違反一或多個運算式的節點。 最優先的節點是權重總和最大的節點。換句話說,對於符合所有排程需求 (資源要求、requiredDuringScheduling 反親和性運算式等) 的每個節點,請逐一疊代這個欄位的元素,並將「權重」加到總和中 (如果節點有符合對應 podAffinityTerm 的 Pod)。總和最高的節點是首選。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 執行的節點相符。拓撲鍵不得為空。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 必填 | 鍵是選取器套用的標籤鍵。 |
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 位於同一位置 (親和性) 或不同位置 (反親和性)。共置是指在節點上執行,而節點的標籤值 (含拓撲鍵) 與任何所選 Pod 執行的節點相符。拓撲鍵不得為空。 |
schedulingConfig.tolerations
| |
object 選填 | 容許事項:可管理是否允許在已套用特定汙點的 Kubernetes 節點上排程執行個體。 |
schedulingConfig.tolerations.effect
| |
string 選填 | 效果表示要比對的汙染效果。如果為空白,則表示符合所有汙染效果。如有指定,允許的值為 NoSchedule、PreferNoSchedule 和 NoExecute。 |
schedulingConfig.tolerations.key
| |
string 選填 | Key 是容許事項適用的污點鍵。如果為空白,則表示比對所有汙染鍵。如果金鑰為空白,運算子必須為 Exists。這個組合表示要比對所有值和所有鍵。 |
schedulingConfig.tolerations.operator
| |
string 選填 | 運算子代表鍵與值之間的關係。有效運算子為「存在」和「等於」。預設值為「Equal」。「Exists」等同於值的萬用字元,因此 Pod 可以容許特定類別的所有汙點。 |
schedulingConfig.tolerations.tolerationSeconds
| |
integer 選填 | TolerationSeconds 代表容許條件容許汙染的時間長度 (必須是 NoExecute 效果,否則系統會忽略這個欄位)。預設不會設定,表示永遠容許汙染 (不會移除)。系統會將零和負值視為 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。值須為 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 必填 | 「代碼」是這項特定錯誤的錯誤代碼。錯誤代碼為 DBSE+數字字串,例如「DBSE1012」。 |
criticalIncidents.createTime
| |
string 必填 | CreateTime 是指在來源建立這個事件的時間戳記。 |
criticalIncidents.message
| |
string 選填 | 訊息會說明發生的事件或錯誤。 |
criticalIncidents.messageTemplateParams
| |
object 選填 | MessageTemplateParams 包含鍵/值組合,用於在使用者介面中產生易於使用的資料驅動型 Message 版本。 |
criticalIncidents.resource
| |
object 必填 | 資源包含回報事件的資料庫服務元件相關資訊,以及 Kubernetes 資源的相關資訊。 |
criticalIncidents.resource.component
| |
string 必填 | Component 是回報事件的資料庫服務子系統內部 ID。 |
criticalIncidents.resource.location
| |
object 選填 | 位置 |
criticalIncidents.resource.location.cluster
| |
string 選填 | 叢集是受影響 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 中 DBNodes 的端點。 |
endpoints.name
| |
string 必填 | 名稱包含端點名稱。 |
endpoints.value
| |
string 選填 | 值包含端點資訊。 |
observedGeneration
| |
integer 選填 | 控制器觀察到的世代。 |
reconciled
| |
boolean 選填 | 指出控制器是否已協調資源。 |