举个例子,现在我们要编写的是一个使用 NFS 实现的 FlexVolume 插件。
对于一个 FlexVolume 类型的 PV 来说,它的 YAML 文件如下所示:
可以看到,这个 PV 定义的 Volume 类型是 flexVolume。并且,我们指定了这个
Volume 的 driver 叫作 k8s/nfs。这个名字很重要,我后面马上会为你解释它的含义。
而 Volume 的 options 字段,则是一个自定义字段。也就是说,它的类型,其实是
map[string]string。所以,你可以在这一部分自由地加上你想要定义的参数。
在我们这个例子里,options 字段指定了 NFS 服务器的地址(server: “10.10.0.25”),
以及 NFS 共享目录的名字(share: “export”)。当然,你这里定义的所有参数,后面都
会被 FlexVolume 拿到。
像这样的一个 PV 被创建后,一旦和某个 PVC 绑定起来,这个 FlexVolume 类型的
Volume 就会进入到我们前面讲解过的 Volume 处理流程。
你应该还记得,这个流程的名字叫作“两阶段处理”,即“Attach 阶段”和“Mount 阶
段”。它们的主要作用,是在 Pod 所绑定的宿主机上,完成这个 Volume 目录的持久化过
文档被以下合辑收录
评论