<p>I follow the <a href="http://kubernetes.io/v1.0/examples/rbd/" rel="nofollow">example</a> to use rbd in kubernetes, but can not success. who can help me!! the error :</p>

<pre><code>Nov 09 17:58:03 core-1-97 kubelet[1254]: E1109 17:58:03.289702    1254 volumes.go:114] Could not create volume builder for pod 5df3610e-86c8-11e5-bc34-002590fdf95c: can't use volume plugins for (volume.Spec){Name:(string)rbdpd VolumeSource:(api.VolumeSource){HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; EmptyDir:(*api.EmptyDirVolumeSource)&lt;nil&gt; GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; GitRepo:(*api.GitRepoVolumeSource)&lt;nil&gt; Secret:(*api.SecretVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource){CephMonitors:([]string)[10.14.1.33:6789 10.14.1.35:6789 10.14.1.36:6789] RBDImage:(string)foo FSType:(string)ext4 RBDPool:(string)rbd RadosUser:(string)admin Keyring:(string) SecretRef:(*api.LocalObjectReference){Name:(string)ceph-secret} ReadOnly:(bool)true}} PersistentVolumeSource:(api.PersistentVolumeSource){GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt;}}: no volume plugin matched
Nov 09 17:58:03 core-1-97 kubelet[1254]: E1109 17:58:03.289770    1254 kubelet.go:1210] Unable to mount volumes for pod "rbd2_default": can't use volume plugins for (volume.Spec){Name:(string)rbdpd VolumeSource:(api.VolumeSource){HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; EmptyDir:(*api.EmptyDirVolumeSource)&lt;nil&gt; GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; GitRepo:(*api.GitRepoVolumeSource)&lt;nil&gt; Secret:(*api.SecretVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource){CephMonitors:([]string)[10.14.1.33:6789 10.14.1.35:6789 10.14.1.36:6789] RBDImage:(string)foo FSType:(string)ext4 RBDPool:(string)rbd RadosUser:(string)admin Keyring:(string) SecretRef:(*api.LocalObjectReference){Name:(string)ceph-secret} ReadOnly:(bool)true}} PersistentVolumeSource:(api.PersistentVolumeSource){GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt;}}: no volume plugin matched; skipping pod
Nov 09 17:58:03 core-1-97 kubelet[1254]: E1109 17:58:03.299458    1254 pod_workers.go:111] Error syncing pod 5df3610e-86c8-11e5-bc34-002590fdf95c, skipping: can't use volume plugins for (volume.Spec){Name:(string)rbdpd VolumeSource:(api.VolumeSource){HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; EmptyDir:(*api.EmptyDirVolumeSource)&lt;nil&gt; GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; GitRepo:(*api.GitRepoVolumeSource)&lt;nil&gt; Secret:(*api.SecretVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; PersistentVolumeClaim:(*api.PersistentVolumeClaimVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource){CephMonitors:([]string)[10.14.1.33:6789 10.14.1.35:6789 10.14.1.36:6789] RBDImage:(string)foo FSType:(string)ext4 RBDPool:(string)rbd RadosUser:(string)admin Keyring:(string) SecretRef:(*api.LocalObjectReference){Name:(string)ceph-secret} ReadOnly:(bool)true}} PersistentVolumeSource:(api.PersistentVolumeSource){GCEPersistentDisk:(*api.GCEPersistentDiskVolumeSource)&lt;nil&gt; AWSElasticBlockStore:(*api.AWSElasticBlockStoreVolumeSource)&lt;nil&gt; HostPath:(*api.HostPathVolumeSource)&lt;nil&gt; Glusterfs:(*api.GlusterfsVolumeSource)&lt;nil&gt; NFS:(*api.NFSVolumeSource)&lt;nil&gt; RBD:(*api.RBDVolumeSource)&lt;nil&gt; ISCSI:(*api.ISCSIVolumeSource)&lt;nil&gt;}}: no volume plugin matched
</code></pre>

<p>And The template file I used rbd-with-secret.json:</p>

<pre><code>core@core-1-94 ~/kubernetes/examples/rbd $ cat rbd-with-secret.json
{
"apiVersion": "v1",
"id": "rbdpd2",
"kind": "Pod",
"metadata": {
    "name": "rbd2"
},
"spec": {
    "nodeSelector": {"kubernetes.io/hostname" :"10.12.1.97"},
    "containers": [
        {
            "name": "rbd-rw",
            "image": "kubernetes/pause",
            "volumeMounts": [
                {
                    "mountPath": "/mnt/rbd",
                    "name": "rbdpd"
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "rbdpd",
            "rbd": {
                "monitors": [
            "10.14.1.33:6789",
        "10.14.1.35:6789",
            "10.14.1.36:6789"
            ],
                "pool": "rbd",
                "image": "foo",
                "user": "admin",
                "secretRef": {"name": "ceph-secret"},
                "fsType": "ext4",
                "readOnly": true
            }
        }
    ]
}
}
</code></pre>

<p>The secret:</p>

<pre><code>apiVersion: v1
kind: Secret
metadata:
  name: ceph-secret
data:
  key: QVFBemV6bFdZTXdXQWhBQThxeG1IT2NKa0QrYnE0K3RZUmtsVncK
</code></pre>

<p>the ceph config is in /etc/ceph/</p>

<pre><code>core@core-1-94 ~/kubernetes/examples/rbd $ ls -alh /etc/ceph
total 20K
drwxr-xr-x  2 root root 4.0K Nov  6 18:38 .
drwxr-xr-x 26 root root 4.0K Nov  9 17:07 ..
-rw-------  1 root root   63 Nov  4 11:27 ceph.client.admin.keyring
-rw-r--r--  1 root root  264 Nov  6 18:38 ceph.conf
-rw-r--r--  1 root root  384 Nov  6 14:35 ceph.conf.orig
-rw-------  1 root root    0 Nov  4 11:27 tmpkqDKwf
</code></pre>

<p>and the key as :</p>

<pre>
    core@core-1-94 ~/kubernetes/examples/rbd $ sudo cat              
    /etc/ceph/ceph.client.admin.keyring
    [client.admin]
          key = AQAzezlWYMwWAhAA8qxmHOcJkD+bq4+tYRklVw==
</pre>

<p>You'll get "no volume plugins matched" if the rbd command isn't installed and in the path. </p>

<p>As the example specifies, you need to ensure that ceph is installed on your Kubernetes nodes. For instance, in Fedora:
$ sudo yum -y install ceph-common</p>

<p>I'll file an issue to clarify the error messages.</p>
