测验:工作负载与调度
对于副本数为 4、maxSurge 为 2、maxUnavailable 为 0 的 Deployment 进行滚动更新时,Pod 数量的范围是多少?
- 最多 6 个,最少 4 个
- 最多 4 个,最少 2 个
- 最多 6 个,最少 2 个
- 最多 4 个,最小 4 个(Pod 数量完全不变)
在单节点集群中,CoreDNS正常,但只有新安装的Deployment处于Pending状态,并显示“untolerated taint”消息。原因是什么?
- 这是因为,与 DaemonSet 不同,Deployment 无法选择节点。
- 因为没有收到部署的镜像。
- 这是因为CNI尚未准备好,无法分配Pod网络。
- 这是因为CoreDNS容忍控制平面节点的NoSchedule标签作为基本容忍,但其部署却不能。
可以通过推出撤消返回到以前的版本的真正原因是什么?
- 这是因为之前的整个 Pod 规范都存储在 Deployment 对象中。
- 这是因为之前的 ReplicaSet 保留为副本 0 的次数与 revisionHistoryLimit 一样多,并且 undo 会再次增长它。
- 因为 etcd 永久存储所有修订。
- 这是因为 kubectl 将旧清单存储在本地缓存中。
哪种说法最准确地描述了 StatefulSet 与 Deployment 的根本区别?
- Pod 总是在它们第一次弹出的同一节点上再次弹出
- 不支持滚动更新
- Pod 名称固定为序数,保证创建/删除顺序,并且每个 pod 都有自己的 PVC。
- 副本数不能减少到0
防止需要 32GB VRAM 的训练容器部署在 8GB GPU 节点上的事件的最佳方法是什么?
- 由于扩展资源只表示数字,因此附加一个指示权重类别的节点标签,并使用nodeSelector或节点亲和力选择它。
- 重新启动设备插件即可再次识别GPU内存。
- 在 requests 中写入 nvidia.com/gpu 而不是 resources.limits
- 将 GPU Operator 升级到最新版本
拓扑SpreadConstraints中whenUnsatisfiable的两个值有什么区别?
- DoNotSchedule 删除现有 pod,ScheduleAnyway 保留它们
- 如果 maxSkew 无法维持,DoNotSchedule 将 pod 置于 Pending,而 ScheduleAnyway 只是扣除分数并放置。
- 两者动作相同,只是名称不同。
- ScheduleAnyway 完全忽略 maxSkew 值。