AR1*_*AR1 8 kubernetes kubectl
我们在 Kubernetes 中有两个 pod,为了便于交流,我们将它们称为 pod1 和 pod2。我在 pod 1 上创建了 pv1 和 pvc1,它工作正常。在我看来,文档对此场景不够清楚,或者我找不到正确的 wiki。如何从 pod2 访问 pv1 和 pc1?
AR1*_*AR1 13
来自 k8s 文档:
甲PersistentVolume(PV)是已被供应由管理员集群中的一块存储器。它是集群中的资源,就像节点是集群资源一样。PV 是与 Volumes 类似的卷插件,但具有独立于使用 PV 的任何单个 pod 的生命周期。此 API 对象捕获存储实现的详细信息,无论是 NFS、iSCSI 还是特定于云提供商的存储系统。
甲PersistentVolumeClaim(PVC)是由用户进行存储的请求。它类似于豆荚。Pod 消耗节点资源,PVC 消耗 PV 资源。Pod 可以请求特定级别的资源(CPU 和内存)。声明可以请求特定的大小和访问模式(例如,可以安装一次读/写或多次只读)。
这意味着在问题所示的场景中,如果 PodA_deployment.yaml 创建一个卷声明:
volumeMounts:
- name: myapp-data-pv-1
mountPath: /home/myappdata/mystuff
Run Code Online (Sandbox Code Playgroud)
然后PodB将能够安装pv,提出如下声明:
volumes:
- name: myapp-data-pv-1
persistentVolumeClaim:
claimName: myapp-data-pvc-1
Run Code Online (Sandbox Code Playgroud)
在 PodB_deployment.yaml 中。虽然它很清楚,一旦你理解它就有意义,文档可以更好地解释它。
在多个节点上访问同一个 PV 并不像看起来那么容易。首先,根据您的用例,您需要一个支持文件系统来创建此共享存储。EFS/NFS/GlusterFS 应该是理想的选择,kubernetes 卷插件支持其中的大部分。此外,如果您正在寻找多写入架构,您还需要具有正确访问模式的 PVC,例如:ReadWriteMany。同样,在微服务世界中,您应该尽量避免此类用例或找到更好的替代方案,以使您的设计在可能的范围内实现可扩展、无状态。https://12factor.net/强调其中大部分原则。
| 归档时间: |
|
| 查看次数: |
11006 次 |
| 最近记录: |