I have a gluster node and i did test heketi and it is creating volumes using it's cli.
This is my storage class:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: myglusterfs
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/glusterfs
allowVolumeExpansion: true
reclaimPolicy: Retain
parameters:
resturl: "http://x.x.x:8080"
restuser: "admin"
secretName: "heketi-secret"
secretNamespace: "default"
volumetype: "replicate:0"
volumenameprefix: "k8s-dev"
clusterid: "4d9a77f712zb12x57dd42477b993e9af"
When i create a sample PVC it will stuck on pending state:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
mypvc Pending myglusterfs 5m11s
# kubectl describe pvc mypvc
Name: mypvc
Namespace: default
StorageClass: myglusterfs
Status: Pending
Volume:
Labels: <none>
Annotations: volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/glusterfs
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode: Filesystem
Mounted By: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning ProvisioningFailed 14s (x10 over 6m9s) persistentvolume-controller Failed to provision volume with StorageClass "myglusterfs": failed to create volume: failed to create volume: see kube-controller-manager.log for details
When i see kube-controller-manager
pod logs it's looks like this:
1 event.go:291] "Event occurred" object="default/mypvc" kind="PersistentVolumeClaim" apiVersion="v1" type="Warning" reason="ProvisioningFailed" message="Failed to provision volume with StorageClass \"myglusterfs\": failed to create volume: failed to create volume: see kube-controller-manager.log for details"
The question is: How i can find out why the pvc is in pending mode for ever? where is detailed logs?