Search code examples
kubernetesglusterfs

Kubernetes and storageclass gluster heketi


I am try setup StorageClass and PersistanceVolumeClaim in Kubernetes and right now I have problem that's not working.

what I have:

glusterfs-sc.yaml

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gluster-heketi
provisioner: kubernetes.io/glusterfs
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
parameters:
  resturl: "http://server_ip:8080"
  restuser: "admin"
  restuserkey: "key"
  volumetype: "replicate:3"
  volumenameprefix: "vol"
  clusterid: "cluster_id"

glusterfs-pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
 name: gluster-pvc
spec:
 storageClassName: gluster-heketi
 accessModes:
  - ReadWriteMany
 resources:
   requests:
     storage: 1Gi

pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: gluster-pod
  labels:
    name: gluster-pod
spec:
  containers:
  - name: gluster-pod
    image: busybox
    command: ["sleep", "60000"]
    volumeMounts:
    - name: gluster-vol
      mountPath: /usr/share/busybox
      readOnly: false
  volumes:
  - name: gluster-vol
    persistentVolumeClaim:
      claimName: gluster-pvc

And PersistentVolumeClaim is still pending and pod show me message '0/5 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod..'

I am looking to this tutorial https://computingforgeeks.com/configure-kubernetes-dynamic-volume-provisioning-with-heketi-glusterfs/


Solution

  • SOLVED!

    apiVersion: v1
    kind: Endpoints
    metadata:
      name: glusterfs-cluster
      labels:
        storage.k8s.io/name: glusterfs
        storage.k8s.io/part-of: kubernetes-complete-reference
        storage.k8s.io/created-by: ssbostan
    subsets:
     - addresses:
      - ip: ipserver
    ports:
      - port: port_number
    

    and after this..

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: glusterfs-volume
      labels:
        storage.k8s.io/name: glusterfs
        storage.k8s.io/part-of: kubernetes-complete-reference
        storage.k8s.io/created-by: ssbostan
    spec:
      accessModes:
        - ReadWriteOnce
        - ReadOnlyMany
        - ReadWriteMany
      capacity:
        storage: 10Gi
      storageClassName: ""
      persistentVolumeReclaimPolicy: Recycle
      volumeMode: Filesystem
      glusterfs:
        endpoints: glusterfs-cluster
        path: k8s-volume
        readOnly: no