apiVersion: node.k8s.io/v1
import "k8s.io/api/node/v1"
RuntimeClass 定义了集群中支持的容器运行时类。RuntimeClass 用于确定使用哪个容器运行时来运行 Pod 中的所有容器。RuntimeClass 由用户或集群配置人员手动定义,并在 PodSpec 中引用。Kubelet 负责在运行 Pod 之前解析 RuntimeClassName 引用。更多详细信息,请参阅 https://kubernetes.ac.cn/docs/concepts/containers/runtime-class/
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata (ObjectMeta)
更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
handler (string), 必需
handler 指定 CRI 实现将用于处理此类 Pod 的底层运行时和配置。可能的值特定于节点和 CRI 配置。假设所有处理器在每个节点上都可用,且同名的处理器在每个节点上是等效的。例如,名为“runc”的处理器可能指定将使用 runc OCI 运行时(使用原生 Linux 容器)来运行 Pod 中的容器。Handler 必须是小写,符合 DNS 标签 (RFC 1123) 要求,并且是不可变的。
overhead (Overhead)
overhead 表示与为给定 RuntimeClass 运行 Pod 相关联的资源开销。更多详细信息,请参阅 https://kubernetes.ac.cn/docs/concepts/scheduling-eviction/pod-overhead/
Overhead 结构表示与运行 Pod 相关联的资源开销。
overhead.podFixed (map[string]Quantity)
podFixed 表示与运行 Pod 相关联的固定资源开销。
scheduling (Scheduling)
scheduling 包含调度约束,以确保使用此 RuntimeClass 运行的 Pod 被调度到支持它的节点上。如果 scheduling 为 nil,则假定所有节点都支持此 RuntimeClass。
Scheduling 指定支持 RuntimeClass 的节点的调度约束。
scheduling.nodeSelector (map[string]string)
nodeSelector 列出了支持此 RuntimeClass 的节点上必须存在的标签。使用此 RuntimeClass 的 Pod 只能调度到与此选择器匹配的节点上。RuntimeClass 的 nodeSelector 将与 Pod 现有的 nodeSelector 合并。任何冲突都会导致 Pod 在准入阶段被拒绝。
scheduling.tolerations ([]Toleration)
原子:将在合并期间被替换
tolerations 在准入期间会被附加(排除重复项)到使用此 RuntimeClass 运行的 Pod 上,实际上是将 Pod 和 RuntimeClass 所容忍的节点集合进行了并集操作。
此 Toleration 附加到的 Pod 容忍任何使用匹配运算符
scheduling.tolerations.key (string)
Key 是容忍度所适用的污点键。空值表示匹配所有污点键。如果 key 为空,operator 必须为 Exists;这种组合意味着匹配所有值和所有键。
scheduling.tolerations.operator (string)
Operator 表示键与值的关系。有效的运算符有 Exists、Equal、Lt 和 Gt。默认为 Equal。Exists 等同于值的通配符,以便 Pod 可以容忍特定类别的所有污点。Lt 和 Gt 执行数值比较(需要开启特性门控 TaintTolerationComparisonOperators)。
可能的枚举值
"Equal""Exists""Gt""Lt"scheduling.tolerations.value (string)
Value 是容忍度所匹配的污点值。如果运算符是 Exists,则值应该是空的,否则只需是一个常规字符串。
scheduling.tolerations.effect (string)
Effect 指示要匹配的污点效果。空值表示匹配所有污点效果。指定时,允许的值为 NoSchedule、PreferNoSchedule 和 NoExecute。
可能的枚举值
"NoExecute" 驱逐任何不容忍该污点的已运行 Pod。目前由 NodeController 强制执行。"NoSchedule" 除非容忍该污点,否则不允许新 Pod 调度到节点上,但允许所有提交给 Kubelet 而未通过调度程序的 Pod 启动,并允许所有已在运行的 Pod 继续运行。由调度程序强制执行。"PreferNoSchedule" 类似于 TaintEffectNoSchedule,但调度程序会尝试不将新 Pod 调度到该节点上,而不是完全禁止新 Pod 调度到该节点上。由调度程序强制执行。scheduling.tolerations.tolerationSeconds (int64)
TolerationSeconds 表示容忍度(必须具有 NoExecute 效果,否则此字段被忽略)容忍污点的时间段。默认情况下未设置,这意味着永久容忍该污点(不驱逐)。系统会将零值和负值视为 0(立即驱逐)。
RuntimeClassList 是 RuntimeClass 对象列表。
apiVersion: node.k8s.io/v1
kind: RuntimeClassList
metadata (ListMeta)
标准列表元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]RuntimeClass), 必需
items 是一个模式对象列表。
get 读取指定的 RuntimeClassGET /apis/node.k8s.io/v1/runtimeclasses/{name}
name (在路径中): string, 必需
RuntimeClass 的名称
pretty (在查询中): string
200 (RuntimeClass): 成功
401: 未授权
list 列出或监视 RuntimeClass 类型的对象GET /apis/node.k8s.io/v1/runtimeclasses
allowWatchBookmarks (in query): boolean
continue (in query): string
fieldSelector (in query): string
labelSelector (in query): string
limit (in query): integer
pretty (在查询中): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
watch (in query): boolean
200 (RuntimeClassList): 成功
401: 未授权
create 创建一个 RuntimeClassPOST /apis/node.k8s.io/v1/runtimeclasses
body: RuntimeClass, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
200 (RuntimeClass): 成功
201 (RuntimeClass): 已创建
202 (RuntimeClass): 已接受
401: 未授权
update 替换指定的 RuntimeClassPUT /apis/node.k8s.io/v1/runtimeclasses/{name}
name (在路径中): string, 必需
RuntimeClass 的名称
body: RuntimeClass, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
200 (RuntimeClass): 成功
201 (RuntimeClass): 已创建
401: 未授权
patch 局部更新指定的 RuntimeClassPATCH /apis/node.k8s.io/v1/runtimeclasses/{name}
name (在路径中): string, 必需
RuntimeClass 的名称
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (in query): boolean
pretty (在查询中): string
200 (RuntimeClass): 成功
201 (RuntimeClass): 已创建
401: 未授权
delete 删除一个 RuntimeClassDELETE /apis/node.k8s.io/v1/runtimeclasses/{name}
name (在路径中): string, 必需
RuntimeClass 的名称
body: DeleteOptions
dryRun (在查询中): string
gracePeriodSeconds (in query): integer
ignoreStoreReadErrorWithClusterBreakingPotential (in query): boolean
pretty (在查询中): string
propagationPolicy (in query): string
200 (Status): 确定
202 (Status): 已接受
401: 未授权
deletecollection 删除 RuntimeClass 集合DELETE /apis/node.k8s.io/v1/runtimeclasses
body: DeleteOptions
continue (in query): string
dryRun (在查询中): string
fieldSelector (in query): string
gracePeriodSeconds (in query): integer
ignoreStoreReadErrorWithClusterBreakingPotential (in query): boolean
labelSelector (in query): string
limit (in query): integer
pretty (在查询中): string
propagationPolicy (in query): string
resourceVersion (in query): string
resourceVersionMatch (in query): string
sendInitialEvents (in query): boolean
timeoutSeconds (in query): integer
200 (Status): 确定
401: 未授权
本页面是自动生成的。
如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。