google-kubernetes-engine - 如何在 GCE 中的 pod 失败后防止 pod 调度到节点?
问题描述
我有一个在 pod 和节点之间进行 1 对 1 映射的设置,其中每个节点都有一个本地 ssd,每个 pod 都将自定义数据写入该 ssd。如果一个 pod 不正常地死掉,它可能会使本地 ssd 处于无法预测的状态,如果其他 pod 安装在它上面。
我打算使用集群自动缩放,所以我的想法是,如果我可以阻止容器在节点上调度,GCE 将删除节点,并创建一个新的干净节点?如何防止节点安排新的 pod?
解决方案
我会运行一个检查卷状态的计划任务(可能是cronjob )。如果卷损坏 - 向节点添加标签- (例如 - volume-state=corrupted
)
使用nodeAffinity和nodeSelectorrequiredDuringSchedulingRequiredDuringExecution
按您的标签安排您的 Pod
它将从不再满足 pod 的节点亲和性要求的节点中驱逐 pod。
推荐阅读
- java - 在不控制底层协议的情况下确保套接字连接
- vba - 通过宏重新启动 PowerPoint 演示文稿
- amcharts - AmCharts如何防止数据标签溢出?
- google-cloud-platform - GKE 上的 Knative 无法处理某些图像,显示 RevisionMissing 错误
- c# - 如何修复 JPG 文件中的 EXIF 方向数据
- node.js - 我如何将 jsdoc 参数发送到 Web 请求?
- flutter - Flutter:使用固定的 tabBar 折叠应用栏
- java - Eclipse Maven 依赖 - weaveDependency 问题
- janusgraph - 已超过最大帧长度 65536
- python - 如何在 jinja2 模板中运行 python 追加列表