kubernetes - 如果 pod 死亡并在另一个节点上再次上升,kubernetes 的 HostPath 卷会发生什么情况?
问题描述
如果 pod 死亡并在另一个节点上再次上升,kubernetes 的 HostPath 卷会发生什么情况?
我猜一个新上升节点上的新 pod 不会看到它?卷会永远存在并泄漏磁盘空间吗?
什么是防止这种情况的正确解决方案?
解决方案
主机路径卷是一种“逃生舱”。没有特别的持久性、生命周期或任何与它们相关的东西。如果一个 pod 被重新调度到另一个节点上,那么
它将在另一个节点上看到相同主机目录的内容,这些内容可能相同也可能不同,并且
如果您将应用程序数据存储在第一个节点上的该主机目录中,它实际上将成为“孤立的”。
这使得主机路径卷不能很好地匹配正常的应用程序数据;选择几乎任何其他存储类型。
我看到它们被有效使用的地方是你确实需要管理一些通常存在于主机系统上的数据。例如,标准的 fluentd Kubernetes 部署/var/lib/docker/containers
在一个守护进程集中运行 fluentd,以从集群中的每个节点上收集日志;这是由主机 Docker 守护进程管理的数据,而不是由任何特定容器管理的数据。因为它由一个守护程序集管理,所以它在每个节点上运行,所以如果一个节点删除了它的日志,它的日志转发器也将随之消失,这是意料之中的。
推荐阅读
- fusion360 - Fushion 360:如何将圆的边缘限制为距边缘一定距离?
- javascript - 将带有onclick事件的按钮添加到react js中数据表中的每一行
- javascript - 通过 AJAX 从数据库和 DOM 中删除对象
- android - 获取BLE广告数据-Android scanRecord to Flutter Blue ScanResult
- python - 如何遍历自制字典并在 DJANGO 模板中访问其属性。?
- javascript - 如何修复单元格笔记中的单元格历史记录?
- database - 任何人都知道一种将 txt 文件连接到数据库的方法,每次请求刷新 30 秒
- javascript - React - 画布渲染,单独的绘制逻辑和输入逻辑
- flutter - 颤振/飞镖 - 下拉值不变
- php - 我在 $_SERVER['PHP_SELF'] 中得到了一个绝对路径