etcd:启用:真实名称:etcd复制品计数:3 pdb:创建:假像:存储库:"milvusdb/etcd"标签:"3.5.0-r7"拉动政策:如果不存在
服务:类型:群集IP端口:2379对等端口:2380
授权:rbac:已启用:假的
持久性:已启用:真存储类:访问模式:读写一次大小:10Gi
启用自动压缩
每1000次修订压缩一次
自动压缩模式:修订版自动压缩保留:"一千"
将默认配额增加到4G
额外环境变量:
- 名称:ETCD配额后端字节值:"四二九四九六七二九六"
- 名称:ETCD心跳间期值:"五百"
- 名称:ETCD_选举_超时
enter code here
值:"两千五百"
脉冲星依赖性的配置值
参考:https://github.com/apache/pulsar-helm-chart
enter image description here
我尝试在ubuntu服务器中使用kubernete运行milvus集群。我使用了helm menifest https://milvus-io.github.io/milvus-helm/
数值. yaml https://raw.githubusercontent.com/milvus-io/milvus-helm/master/charts/milvus/values.yaml
我检查了PersistentValumeClaim,发现错误:没有可用于此声明的持久卷,并且未设置存储类
1条答案
按热度按时间y53ybaqx1#
出现此错误是因为您没有永久卷。PVC需要一个容量至少与PVC相同的PV。
这可以手动完成,也可以使用卷提供程序完成。
有人会说,最简单的方法是使用本地storageClass,它使用示例化pod的节点的磁盘空间,添加pod关联,以便pod始终在同一节点上启动,并可以使用该磁盘上的卷。在您的情况下,您正在使用3个副本。尽管可以在同一节点上启动所有3个示例,这很可能不是你想用Kubernetes实现的。如果那个节点坏了,你就不会有任何其他示例在另一个节点上运行。
您首先需要考虑群集的基础架构。卷的数据应该存储在哪里?
一个网络文件系统nfs可能是一个可行的解决方案,在这种情况下,你在你的基础设施中的某个地方有一个nfs,所有的节点都可以访问它。
因此,您可以创建一个可从所有节点访问的PV。
要不总是手动分配PV,您可以在群集内安装Volumeprovisioner。
我在某个集群中使用了这个:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
正如我所说,您必须已经有一个nfs,并使用路径配置provvisioner.yaml。
它看起来像这样:
如果您使用的是没有provisioner的nfs,则需要定义一个与nfs链接的storageClass。
有很多解决方案来保持持久的卷。
您可以在此处找到StorageClasses的列表:
最后,如果您不是自己管理集群,这还取决于集群的供应位置。