需要说明:在prem设置中安装elk stack,并使用helm图表使用持久卷

xnifntxz  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(369)

在设置elk堆栈以监视kubernetes集群时,我需要有关持久卷设置的帮助。
我累了

helm install elasticsearch elasticsearch

错误:0/2个节点可用:2个pod具有未绑定的立即PersistentVolumeClaimes。
但由于我是在prem上运行,所以持久的voumles并没有被创建。如何在helm install命令中指定持久卷?

ars1skjm

ars1skjm1#

在浏览图表时,它看起来像是在statefulset中使用持久卷声明模板。
volumeclaimtemplates将使用persistentvolume provisioner提供的persistentvolumes提供稳定的存储。
图表检查persistence.labels.enabled是否为true,如果为true,则添加标签,然后添加注解,最后使用.values.volumeclaimtemplate。因此,最后,如果您不更改值中的任何内容,它似乎会尝试使用默认provisioner创建具有这些规范的持久卷:

volumeClaimTemplate:
  accessModes: [ "ReadWriteOnce" ]
  resources:
    requests:
      storage: 30Gi

所以,您应该检查默认的provisioner是什么

kubectl get storageclasses

例如,我的是aws ebs,因此在我的示例中,它将创建aws ebs卷。本文档说明了如果您的存储类未设置为所需的内容,如何更改默认存储类。
根据安装方法的不同,kubernetes群集可能使用标记为默认的现有storageclass进行部署。然后使用此默认storageclass为不需要任何特定存储类的PersistentVolumeClaimes动态调配存储。有关详细信息,请参阅persistentvolumeclaim文档
您还应该能够指定要使用的存储类,然后在单独的值文件中传入如下内容:

volumeClaimTemplate:
  accessModes: [ "ReadWriteOnce" ]
  storageClassName: "my-storage-class"
  resources:
    requests:
      storage: 30Gi
helm install --name elasticsearch elastic/elasticsearch -f values.yaml -f custom-values.yaml

相关问题