Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何将helm包连接到PersistentStorage卷?_Kubernetes_Redis_Kubernetes Helm_Persistent Storage_Docker Desktop - Fatal编程技术网

Kubernetes 如何将helm包连接到PersistentStorage卷?

Kubernetes 如何将helm包连接到PersistentStorage卷?,kubernetes,redis,kubernetes-helm,persistent-storage,docker-desktop,Kubernetes,Redis,Kubernetes Helm,Persistent Storage,Docker Desktop,我经常遇到这个问题,但我还没有找到一个干净、通用的解决方案。我只是在学Kubernetes,所以也许我缺少一些基本的东西。但以下是我所做的: 使用kubernetes安装docker desktop 使用yaml文件手动创建持久存储卷(如下所示) 掌舵安装redis dandydev/redis ha 或者你可以使用任何其他掌舵图,比如elasticsearch,postgres,你可以说。我总是得到pod已解除立即PersistentVolumeClaims的绑定 同样在运行时:kubectl

我经常遇到这个问题,但我还没有找到一个干净、通用的解决方案。我只是在学Kubernetes,所以也许我缺少一些基本的东西。但以下是我所做的:

  • 使用kubernetes安装docker desktop
  • 使用yaml文件手动创建持久存储卷(如下所示)
  • 掌舵安装redis dandydev/redis ha
  • 或者你可以使用任何其他掌舵图,比如elasticsearch,postgres,你可以说。我总是得到
    pod已解除立即PersistentVolumeClaims的绑定

    同样在运行时:
    kubectl get storageclasses.storage.k8s.io
    我有(默认)存储空间:

    谁能帮我用一种通用的方式解决这个问题?这样我就可以安装helm图表并让它们自动连接到一个持久性存储卷

    My volume.yaml:

    kind:PersistentVolume
    版本:v1
    元数据:
    名称:redis卷
    标签:
    类型:本地
    应用程序:redis
    规格:
    storageClassName:“
    容量:
    存储容量:5Gi
    访问模式:
    -读写
    主机路径:
    路径:“/mnt/redis”
    
    好的,我在各种定制解决方案中进行了更多的在线搜索,其中一个确实有效:

    此外,此答案还提供了有关如何在本地启用动态资源调配的更多详细信息:

    基本上(除了上面创建的卷之外),我需要手动:

  • 通过storage-class.yaml创建存储类
  • 将该存储类添加到“values.yaml”中
  • #storage-class.yaml
    apiVersion:storage.k8s.io/v1
    种类:StorageClass
    元数据:
    名称:数据存储
    供应人:kubernetes.io/no-provisioner
    volumeBindingMode:WaitForFirstConsumer
    
    此外,一些本地运行的图表需要您在
    /charts/
    下或通过
    --set=value
    自定义其配置,因为大多数头盔图表希望您使用更多节点,而本地运行的图表可能只有一个节点

    另一个选项是使用
    helm install--set replicas=1…
    ,一些图表可以很好地处理这个问题


    希望这对其他人有所帮助。

    在redis helm图表代码中,您可以看到建议您阅读的代码。让我知道它是否解决了你的问题。
    NAME                 PROVISIONER          AGE
    hostpath (default)   docker.io/hostpath   3h8m