Ceph

    PLEASE NOTE: This document applies to v0.7 version and not to the latest stable release v1.9

    Flex Volume Configuration

    Rook uses FlexVolume to integrate with Kubernetes for performing storage operations. In some operating systems where Kubernetes is deployed, the default Flexvolume plugin directory (the directory where flexvolume drivers are installed) is read-only.

    This is the case for Kubernetes deployments on CoreOS and Rancher. In these environments, the Kubelet needs to be told to use a different flexvolume plugin directory that is accessible and writeable. To do this, you will need to first add the --volume-plugin-dir flag to the Kubelet and then restart the Kubelet process. These steps need to be carried out on all nodes in your cluster.

    CoreOS Container Linux

    In CoreOS, our recommendation is to specify the flag as shown below:

    --volume-plugin-dir=/var/lib/kubelet/volumeplugins
    

    Restart Kubelet in order for this change to take effect.

    In Kubernetes 1.9.x, you must provide this directory when deploying the rook-operator by setting the environment variable FLEXVOLUME_DIR_PATH. For example:

    - name: FLEXVOLUME_DIR_PATH
      value: "/var/lib/kubelet/volumeplugins"
    

    Rancher

    Rancher provides an easy way to configure Kubelet. This flag can be provided to the Kubelet configuration template at deployment time or by using the up to date feature if Kubernetes is already deployed.

    To configure Flexvolume in Rancher, specify this Kubelet flag as shown below:

    --volume-plugin-dir=/var/lib/kubelet/volumeplugins
    

    Restart Kubelet in order for this change to take effect.

    In Kubernetes 1.9.x, you must provide this directory when deploying the rook-operator by setting the environment variable FLEXVOLUME_DIR_PATH. For example:

    - name: FLEXVOLUME_DIR_PATH
      value: "/var/lib/kubelet/volumeplugins"
    

    Tectonic

    Follow these instructions to configure Rook on Tectonic.