DBinstance v1.1.1 自定义资源定义

规范架构

DBInstanceSpec 定义 DBInstance 的期望状态。

conditions:
- lastTransactionTime: string
  message: string
  observedGeneration: integer
  reason: string
  status: string
  type: string
criticalIncidents:
- code: string
  createTime: string
  message: string
  messageTemplateParams: object
  resource:
    component: string
    location:
      cluster: string
      group: string
      kind: string
      name: string
      namespace: string
      version: string
  stackTrace:
  - component: string
    message: string
  transientUntil: string
lastBackupTime: string
nextBackupTime: string
observedGeneration: integer
dbcParent:
  name: string
instanceType: string
isStopped: boolean
nodeCount: integer
progressTimeout: string
resources:
  cpu:
  - disks:
    accessModes: string
    annotations: object
    name: string
    selector:
      matchExpressions:
      - key: string
        operator: string
        values: string
        matchLabels: object
    size: string
    storageClass: string
    volumeName: string
  memory: integer or string
schedulingconfig:
  nodeaffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      preference:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchFields:
        - key: string
          operator: string
          values: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchFields:
        - key: string
          operator: string
          values: string
  podAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      podAffinityTerm:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels:
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaces: string
        topologyKey: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      labelSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaceSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaces: string
      topologyKey: string
  podAntiAffinity:
    preferredDuringSchedulingIgnoredDuringExecution:
      podAffinityTerm:
        labelSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels:
        namespaceSelector:
          matchExpressions:
          - key: string
            operator: string
            values: string
          matchLabels: object
        namespaces: string
        topologyKey: string
      weight: integer
    requiredDuringSchedulingIgnoredDuringExecution:
      labelSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaceSelector:
        matchExpressions:
        - key: string
          operator: string
          values: string
        matchLabels: object
      namespaces: string
      topologyKey: string
  tolerations:
  - effect: string
    key: string
    operator: string
    tolerationSeconds: integer
    value: string

字段

类型
必填或可选

 

说明
dbcParent
object
可选
DBClusterParent 是此 DBInstance 从中复制的 DBCluster。
dbcParent.name
string
可选
被指称对象的名称。如需了解详情,请参阅名称
instanceType
string
可选
InstanceType 表示 DBInstance 的类型。目前仅支持“ReadPool”类型。
isStopped
boolean
可选
如果 IsStopped 为 true,则会停止此 DBInstance 中的 DBNode。此字段默认为 false。停止 DBCluster 的主 DBNode 不会自动停止 ReadPool DBInstance 的 DBNode。停止实例后,系统会释放实例的计算资源(CPU、内存)。不过,DBNode 仍会保留存储资源。
nodeCount
integer
必填
NodeCount 用于确定必须为此 DBInstance 创建的 DBNode 数量。
progressTimeout
string
可选
ProgressTimeout 用于确定控制器尝试预配 DBNode 或 DBNode 可能处于未就绪状态的时长,超出此时长后,控制器会将 DBNode 视为失败。值为 0 表示不使用超时。
resources
object
可选
Resource 用于指定此 DBInstance 所属实例(即 DBNode)使用的资源。如果省略,实例将使用与 DBCluster 的主实例相同的资源。
resources.cpu
integer or string
必填
分配给数据库容器的 CPU 量。
resources.disks
object
必填
分配给数据库容器的磁盘的规格。
resources.disks.accessModes
string
可选
AccessModes 包含所需的卷访问模式。如需了解详情,请参阅访问模式
resources.disks.annotations
object
可选
向永久性卷声明添加了其他注解。这样便可与其他工具集成。
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 吉比字节。允许的大小单位前缀为:对于二进制,“Ki”“Mi”“Gi”“Ti”“Pi”和“Ei”;对于十进制,还可以使用“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 匹配,则通过迭代此字段的元素并将“weight”添加到总和中来计算总和;总和最高的节点是首选节点。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
必填
节点选择器字词,与相应的权重相关联。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
object
可选
按节点标签列出的节点选择器要求。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key
string
必填
选择器应用到的标签键。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator
string
必填
表示键与一组值的关系。有效运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
string
可选
字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。如果运算符为 Gt 或 Lt,则值数组必须包含一个元素,该元素被解读为整数。此数组会在策略合并补丁期间替换。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
object
可选
按节点字段列出的节点选择器要求。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key
string
必填
选择器应用到的标签键。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator
string
必填
表示键与一组值的关系。有效运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
string
可选
字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。如果运算符为 Gt 或 Lt,则值数组必须包含一个元素,该元素被解读为整数。此数组会在策略合并补丁期间替换。
schedulingConfig.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
必填
与与相应 nodeSelectorTerm 匹配相关联的权重,介于 1 到 100 之间。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
可选
如果在调度时不满足此字段指定的亲和性要求,系统将不会将 pod 调度到该节点。如果 Pod 执行期间某个时间点未满足此字段指定的相似性要求(例如,由于更新),系统可能会或可能不会最终尝试将 Pod 从其节点中驱逐。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
object
必填
节点选择器字词列表。这些字词通过 OR 进行组合。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
object
可选
按节点标签列出的节点选择器要求。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key
string
必填
选择器应用到的标签键。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator
string
必填
表示键与一组值的关系。有效运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
string
可选
字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。如果运算符为 Gt 或 Lt,则值数组必须包含一个元素,该元素被解读为整数。此数组会在策略合并补丁期间替换。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
object
可选
按节点字段列出的节点选择器要求。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key
string
必填
选择器应用到的标签键。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator
string
必填
表示键与一组值的关系。有效运算符包括 In、NotIn、Exists、DoesNotExist、Gt 和 Lt。
schedulingConfig.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
string
可选
字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。如果运算符为 Gt 或 Lt,则值数组必须包含一个元素,该元素被解读为整数。此数组会在策略合并补丁期间替换。
schedulingConfig.podAffinity
object
可选
PodAffinity 描述了实例的 pod 亲和性调度规则。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
object
可选
调度器会优先将 pod 调度到满足此字段指定的亲和性表达式的节点。调度程序可能会选择违反一个或多个表达式的节点。 权重和最高的节点是首选节点。对于满足所有调度要求(例如资源请求和 requiredDuringScheduling 亲和度表达式)的每个节点,如果该节点包含与相应 podAffinityTerm 匹配的 Pod,您可以通过迭代此字段的元素并将“权重”添加到总和中来计算总和。总和最高的节点是首选。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必填
与相应权重关联的 pod 亲和性字词。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
可选
对一组资源(在本例中为 Pod)的标签查询。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
可选
matchExpressions 是标签选择器要求的列表。这些要求之间是 AND 关系。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
必填
key 是选择器应用到的标签键。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
必填
运算符表示键与一组值的关系。有效运算符包括 In、NotIn、Exists 和 DoesNotExist。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
可选
values 是字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组会在策略合并补丁期间替换。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
可选
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 相当于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。这些要求之间是 AND 关系。
schedulingConfig.podAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
可选
针对术语应用到的一组命名空间的标签查询。该术语适用于此字段选择的命名空间与命名空间字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 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 选择的命名空间的并集。null 或空命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。
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
必填
运算符表示键与一组值的关系。有效运算符包括 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
可选
针对术语应用到的一组命名空间的标签查询。该术语适用于此字段选择的命名空间与命名空间字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 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 选择的命名空间的并集。null 或空命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。
schedulingConfig.podAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
string
可选
namespaces 用于指定该术语适用的命名空间名称的静态列表。该术语适用于此字段中列出的命名空间与由 namespaceSelector 选择的命名空间的并集。null 或空命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。
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 调度到满足此字段指定的反亲和性表达式的节点,但也可能会选择违反一个或多个表达式的节点。最优节点是权重总和最大的节点,换句话说,对于满足所有调度要求(资源请求、requiredDuringScheduling 反亲和性表达式等)的每个节点,如果该节点包含与相应 podAffinityTerm 匹配的 pod,则通过迭代此字段的元素并将“weight”添加到总和中来计算总和。总和最高的节点是首选。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm
object
必填
与相应权重关联的 pod 亲和性字词。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector
object
可选
对一组资源(在本例中为 Pod)的标签查询。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions
object
可选
matchExpressions 是标签选择器要求的列表。这些要求之间是 AND 关系。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.key
string
必填
key 是选择器应用到的标签键。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.operator
string
必填
运算符表示键与一组值的关系。有效运算符包括 In、NotIn、Exists 和 DoesNotExist。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchExpressions.values
string
可选
values 是字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组会在策略合并补丁期间替换。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.labelSelector.matchLabels
object
可选
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 相当于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。这些要求之间是 AND 关系。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.namespaceSelector
object
可选
针对术语应用到的一组命名空间的标签查询。该术语适用于此字段选择的命名空间与命名空间字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 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 选择的命名空间的并集。null 或空命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.podAffinityTerm.topologyKey
string
必填
此 Pod 必须与指定命名空间中的 Pod 共存(亲和性)或不共存(反亲和性),并且与 labelSelector 匹配。同处部署是指在键为 topologyKey 的标签的值与所选任何 Pod 正在运行的任何节点的值匹配的节点上运行。不允许使用空的 topologyKey。
schedulingConfig.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
必填
与匹配相应 podAffinityTerm 相关联的权重,介于 1 到 100 之间。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
可选
如果在调度时不满足此字段指定的反亲和性要求,系统将不会将 pod 调度到该节点上。如果在 Pod 执行期间的某个时间点未满足此字段指定的反相似性要求(例如,由于 Pod 标签更新),系统可能会或可能不会最终尝试从其节点中驱逐该 Pod。如果有多个元素,则系统会对每个 podAffinityTerm 对应的节点列表进行交集,这意味着必须满足所有术语。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
可选
对一组资源(在本例中为 Pod)的标签查询。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
object
可选
matchExpressions 是标签选择器要求的列表。这些要求之间是 AND 关系。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key
string
必填
key 是选择器应用到的标签键。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator
string
必填
运算符表示键与一组值的关系。有效运算符包括 In、NotIn、Exists 和 DoesNotExist。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
string
可选
values 是字符串值的数组。如果运算符为“In”或“NotIn”,则值数组不得为空。如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。此数组会在策略合并补丁期间替换。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.matchLabels
object
可选
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 相当于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。这些要求之间是 AND 关系。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
可选
针对术语应用到的一组命名空间的标签查询。该术语适用于此字段选择的命名空间与命名空间字段中列出的命名空间的并集。null 选择器和 null 或空的命名空间列表表示“此 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 选择的命名空间的并集。null 或空命名空间列表和 null namespaceSelector 表示“此 Pod 的命名空间”。
schedulingConfig.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey
string
必填
此 Pod 必须与指定命名空间中与 labelSelector 匹配的 Pod 共存(亲和性)或不共存(反亲和性)。同处部署是指在键为 topologyKey 的标签的值与所选任何 Pod 正在运行的任何节点的值匹配的节点上运行。不允许使用空的 topologyKey。
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 效果,否则系统会忽略此字段)容忍污染的时间段。默认情况下,此属性未设置,这意味着永久容忍污染(不驱逐)。系统会将零值和负值视为 0(立即驱逐)。
schedulingConfig.tolerations.value
string
可选
值是容忍度匹配的污点值。如果运算符为“存在”,则值必须为空,否则它只是一个普通字符串。

状态架构

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 包含一个程序化标识符,用于指明条件上次转换的原因。特定条件类型的生产者可以定义此字段的预期值和含义,以及这些值是否被视为保证 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
可选
Message 用于描述发生的突发事件或错误。
criticalIncidents.messageTemplateParams
object
可选
MessageTemplateParams 包含在界面中生成简单易用的数据驱动型消息版本所需的键值对。
criticalIncidents.resource
object
必填
资源包含报告了相应事故的数据库服务组件的信息,以及 Kubernetes 资源的信息。
criticalIncidents.resource.component
string
必填
组件是报告了相应问题的数据库服务子系统的内部标识符。
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
可选
名称是受影响 Kubernetes 资源的名称。
criticalIncidents.resource.location.namespace
string
可选
命名空间是受影响 Kubernetes 资源的命名空间。
criticalIncidents.resource.location.version
string
可选
Group 是 Kubernetes 资源的版本。
criticalIncidents.stackTrace
object
可选
StackTrace 包含堆栈轨迹中的消息的非结构化列表。
criticalIncidents.stackTrace.component
string
可选
组件是记录消息的数据库服务组件的名称。
criticalIncidents.stackTrace.message
string
可选
记录的消息。
criticalIncidents.transientUntil
string
可选
如果存在 TransientUntil,则表示在指定时间之前必须将问题视为暂时性问题。
endpoints
object
可选
端点是指可用于访问 DBInstance 中的 DBNode 的端点。
endpoints.name
string
必填
名称包含端点的名称。
endpoints.value
string
可选
值包含端点信息。
observedGeneration
integer
可选
控制器观察到的生成。
reconciled
boolean
可选
指示控制器是否已对资源进行协调。