kuberneters采用helm部署sig-storage-local-static-provisioner

7 篇文章 0 订阅

https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/tags

 下载并解压tar包

wget https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/archive/v2.3.4.tar.gz
tar -zxvf v2.3.4.tar.gz

进入解压目录后创建storageclass

kubectl create -f deployment/kubernetes/example/default_example_storageclass.yaml
# Only create this for K8s 1.9+
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-disks
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
# Supported policies: Delete, Retain
reclaimPolicy: Delete

查看storageclass

kubectl get sc

创建目录/mnt/fast-disks

mkdir /mnt/fast-disks

安装local-volume-provisioner

查看文件系统

df -h -T

修改helm/provisioner/values.yaml

fsTyp默认为ext4格式,默认hostDir为/mnt/fast-disks,所有的文件系统都要挂载到该目录下

生成yaml文件

helm template ./helm/provisioner > deployment/kubernetes/provisioner_generated.yaml

部署provisioner

kubectl apply -f deployment/kubernetes/provisioner_generated.yaml

查看部署pod

kubectl get pods -o wide

由于一个挂载点对应一个pv,为了创建多个pv可以使用mount --bind方式,mount bind方式挂载

mount bind的一种用法,用于本地没有多余磁盘的情况

创建mount-bind.sh  shell脚本执行,配置完成后会自动创建pv

for i in $(seq 1 5); do
  mkdir -p /mnt/fast-disks-bind/vol${i}
  mkdir -p /mnt/fast-disks/vol${i}
  mount --bind /mnt/fast-disks-bind/vol${i} /mnt/fast-disks/vol${i}
done

# 配置/etc/fstab永久挂载
for i in $(seq 1 5); do
  echo /mnt/fast-disks-bind/vol${i} /mnt/fast-disks/vol${i} none bind 0 0 | sudo tee -a /etc/fstab
done

kubectl get pv

验证 创建pod,定义pvc申请使用pv 

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: local-test
spec:
  serviceName: "local-service"
  replicas: 1
  selector:
    matchLabels:
      app: local-test
  template:
    metadata:
      labels:
        app: local-test
    spec:
      containers:
      - name: test-container
        image: busybox
        command:
        - "/bin/sh"
        args:
        - "-c"
        - "sleep 100000"
        volumeMounts:
        - name: local-vol
          mountPath: /tmp
  volumeClaimTemplates:
  - metadata:
      name: local-vol
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "fast-disks"
      resources:
        requests:
          storage: 2Gi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值