这个面试题很多时候并不是我问的,而是同学们自己说漏了。其实这是很小的细节问题,本身不值得单独说,但却很容易忽略。
首先问大家一个问题,k8s里面为啥要定义PV的访问类型,这个很容易被大家忽视的问题。这是因为在k8s存储设计里面,pv是由存储管理员创建,而pvc是由开发创建,然后k8s会将pvc和pv绑定。k8s绑定的时候会根据存储的访问方式绑定,也就是是说他们两必须匹配。在pv里面声明的 accessModes 是为了告诉k8s 这个存储的类型,而pvc 里面声明的accessModes 是为了向k8s 申请一个这种类型的存储。只有在他们两匹配的时候才能成功绑定。
回到正题,k8s pv定义的存储访问方式目前支持三种:
仔细的你可能已经发现了,这里的ReadWriteOnce是只能被一个节点挂载,并非是只能被一个Pod挂载。如果两个Pod在一台主机上面,他们是完全可以共享这个存储的。为了避免这个问题,在k8s 1.21版本之后加入了一个新的访问类型 ReadWriteOncePod 。它就是严格限定这个存储只能被一个Pod使用,从而避免多写导致的数据不一致。
页面更新:2024-04-02
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号