規格結構定義
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選填 | Location | 
| 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選填 | 指出控制器是否已協調資源。 |