TreeviewCopyright © Pengfei Ni all right reserved, powered by aleen42

Volume插件扩展

Kubernetes已经提供丰富的VolumePersistent Volume插件,可以根据需要使用这些插件给容器提供持久化存储。

如果内置的这些Volume还不满足要求,则可以使用FlexVolume实现自己的Volume插件。

FlexVolume

实现一个FlexVolume包括两个步骤

  • 实现FlexVolume插件接口,包括init/attach/detach/mount/umount等命令(可参考lvm示例NFS示例
  • 将插件放到/usr/libexec/kubernetes/kubelet-plugins/volume/exec/<vendor~driver>/<driver>目录中

而在使用flexVolume时,需要指定卷的driver,格式为<vendor~driver>/<driver>,如下面的例子使用了kubernetes.io/lvm

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: default
spec:
  containers:
  - name: nginx
    image: nginx
    volumeMounts:
    - name: test
      mountPath: /data
    ports:
    - containerPort: 80
  volumes:
  - name: test
    flexVolume:
      driver: "kubernetes.io/lvm"
      fsType: "ext4"
      options:
        volumeID: "vol1"
        size: "1000m"
        volumegroup: "kube_vg"

results matching ""

    No results matching ""