Kubernetes/Helm/Helm部署OpenEBS存储.md
offends 7a2f41e7d6
All checks were successful
continuous-integration/drone Build is passing
synchronization
2024-08-07 18:54:39 +08:00

2.5 KiB
Raw Blame History

本文作者:丁辉

Helm部署OpenEBS存储

介绍

OpenEBS是一种开源云原生存储解决方案托管于CNCF基金会。OpenEBS 管理每个 Kubernetes 节点上可用的存储,并使用该存储为有状态工作负载提供本地分布式(也称为复制)持久卷。

安装 OpenEBS

官方主页

Github仓库

Helm安装文档

  1. 添加仓库

    helm repo add openebs https://openebs.github.io/charts
    helm repo update
    
  2. 编辑 values.yaml 文件

    vi openebs-values.yaml
    

    内容如下

    localprovisioner:
      enableDeviceClass: false
    
  3. 安装

    Github-Charts参数文档

    helm install openebs --namespace openebs openebs/openebs --create-namespace -f openebs-values.yaml
    
  4. 检查 storageclass

    kubectl get sc
    

    存在 openebs-hostpath 则👌

  5. 运行容器使用 openebs-hostpath 测试

    openebs-hostpath官方文档

    kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/openebs-pod.yaml
    

    容器启动后查看结果

    kubectl exec hello-local-hostpath-pod -- cat /mnt/store/greet.txt
    

    卸载测试容器

    kubectl delete -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/openebs-pod.yaml
    

设置 openebs-hostpath 为默认存储类

kubectl patch storageclass openebs-hostpath  -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' 

取消 openebs-hostpath 为默认存储类

kubectl patch storageclass openebs-hostpath -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'

卸载 OpenEBS

helm uninstall openebs -n openebs

问题记录

MountVolume.NewMounter initialization failed for volume "pvc-某某" : path "/var/openebs/local/pvc-某某" does not exist

在将创建本地 PV 主机路径的节点上设置目录, 该目录将被称为 BasePath 默认位置是 /var/openebs/local

  • Rke1 集群配置

    修改 cluster.yml 文件, 后更新 rke 集群

    services:
      kubelet:
        extra_binds:
          - /var/openebs/local:/var/openebs/local