kubernetes - 当 kube 节点消失时 StatefulSet 和 Local Persistent Volume
问题描述
这个问题是关于 StatefulSet 和 Local Persistent Volume 的。
如果我们使用本地持久卷部署带有 pod 的 StatefulSet,当托管持久卷的 Kube 节点消失时,相应的 pod 变得不可调度。我的问题是操作员如何可靠地检测到这个问题?
我找不到任何有关此的文档。操作员可以收到通知吗?
我观察到的是,当托管 PV 的节点被删除时,相应的 pod 卡在挂起阶段。我能想到的检测这个问题的一种方法是找到 pod 的 PVC,然后找到 PVC 的 PV,然后找到 PV 所在的节点,然后查询该节点是否存在。但问题是,检查 PV 和节点需要集群级别的权限,理想情况下不应该授予只应该管理命名空间级别资源的操作员。
另外,我不确定(按照 Pod->PVC->PV->Node 顺序)是否捕捉到物理存储变得无法访问的所有可能情况。
检测情况的正确方法是什么?一旦检测到这种情况,就很容易修复。
非常感谢!
解决方案
推荐阅读
- java - 我如何为以下问题编写一个java程序?
- java - 对象二分查找
- facebook - 如何找到新 Instagram 帖子的最大分辨率链接?
- java - Swagger CodeGen swagger-codegen-cli-3.0.25.jar| 问题:无法加载名称为 jaxrs-jersey 的配置类
- php - Laravel 7 在绝对路径中存储文件
- c# - System.Runtime.InteropServices.COMException: '远程过程调用失败。(来自 HRESULT 的异常:0x800706BE)' 使用 ChartObject.Add() 时
- azure-ad-b2c - 在 azure ad b2c 中,有没有办法知道用户是否选择了让我保持登录选项
- javascript - 将数据导出到文件 docx、node.js 和 react js
- wordpress - 如何在 Wordpress 中不存在的 /page/ URL 上强制执行 404?
- java - presto + 如何将默认 java 版本设置为 JDK11 并验证 java11 是否真的被 presto 使用