需求
在本地实现动态pv,创建一个stateful set,使用volumeClaimTemplates来申请存储
1、安装openebs,只安装本地的hostpath,默认的hostpath是/var/openebs/local
sudo mkdir -p /var/openebs/local
sudo chmod -R 777 /var/openebs/local
helm repo add openebs https://openebs.github.io/charts
helm install openebs openebs/openebs -n openebs --create-namespace \
--set legacy.enabled=false \
--set ndm.enabled=false \
--set ndmOperator.enabled=false \
--set localprovisioner.enableDeviceClass=false \
--set localprovisioner.basePath=/var/openebs/local
# 查看pods
-> % kubectl get pods -n openebs
NAME READY STATUS RESTARTS AGE
openebs-localpv-provisioner-6f686f7697-dvjvb 1/1 Running 0 2m16s
2、创建StorageClass,默认的是openebs-hostpath
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: sc-file-hdd
annotations:
openebs.io/cas-type: local
cas.openebs.io/config: |
- name: StorageType
value: hostpath
- name: BasePath
value: /var/openebs/local
provisioner: openebs.io/local
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
-> % kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 12m
sc-file-hdd openebs.io/local Delete WaitForFirstConsumer false 68s
standard (default