kubernetes - kubernetes 卷:复制的 Pod 之间的一个共享卷和一个专用卷
问题描述
我是 Kubernetes 的新手并且正在学习它。有部署类型的 pod 和 replcas=3。
有什么方法可以为每个 pod 安装单独的卷,为所有 pod 安装一个卷。要求:
案例 1- 我的应用程序正在生成一些临时文件名 tempfile.txt,因此有三个副本 pod,每个副本都会生成 tempfile.txt,但内容可能不同。因此,如果我使用将相互覆盖的共享卷。
case-2:我有一个不属于图像的公共文件,所有启动应用程序的 pod 都将使用该文件,即将文件从主机复制到所有 pod 的容器
提前致谢。
解决方案
有多种方法可以实现第一部分。这是我的:
代替部署,使用 statefulSet 创建副本。statefulSets 允许您包含每个 pod 使用它创建的卷模板,因此每个新 pod 都会有一个专门为其创建的新 PV。
这确实需要您的集群允许动态供应卷。
根据 tempfile.txt 的大小、用例和集群/节点配置,您可能还需要考虑使用将使用节点本地存储的hostPath
卷。
对于您问题的第二部分,使用任何 readWriteMany 卷都可以(例如任何 NFS 选项)。
在 subPath 的注释中,这也应该有效,只要您为每个 pod 定义不同的 subPath。DT 提供的链接中的示例通过基于 pod 名称创建子路径来做到这一点。
推荐阅读
- javascript - 在我的网站中使用 localStorage 进行翻译,而不是每次我再次访问该页面时都加载它们
- powershell - 脚本属性返回类型的 Pester 测试
- c# - 使用我在列表中使用 Lambda 表达式找到的对象
- c# - WPF 应用程序 - 在运行时请求管理员权限
- python - TensorFlow 多 GPU - NCCL
- java - 如何解决 ORA-12514、TNS:k8s 上的侦听器 - oracle 12
- css - 如何更改 Bootstrap 4 模态标题的字体粗细?
- html - 带箭头的号召性用语按钮
- google-sheets - 查找函数返回无效的整数值
- apache-kafka - 处理器 API:存储在 KeyValueStore 中的事件的批量 POST 请求