规范架构
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 可选 | 指示控制器是否已对资源进行协调。 |