如果我事先不知道节点的名称(因此不能在每个节点上预先创建pv),如何将hostpath装载到statefulset中的每个pod中?我想在多个节点上建立一个elasticsearch集群,将每个elasticsearch数据目录挂载到主机节点的ssd上。。。如何使用statefulset实现这一点?
lztngnrs1#
对于这种用例,应该使用本地持久卷,而不是hostpath卷。最大的区别是kubernetes调度器了解本地持久卷属于哪个节点。对于hostpath卷,调度器可能会将引用hostpath卷的pod移动到不同的节点,从而导致数据丢失。但是对于本地持久卷,kubernetes调度程序确保使用本地持久卷的pod总是调度到同一节点。考虑为此使用本地静态provisioner,它有针对裸机环境的说明。
1条答案
按热度按时间lztngnrs1#
对于这种用例,应该使用本地持久卷,而不是hostpath卷。
最大的区别是kubernetes调度器了解本地持久卷属于哪个节点。对于hostpath卷,调度器可能会将引用hostpath卷的pod移动到不同的节点,从而导致数据丢失。但是对于本地持久卷,kubernetes调度程序确保使用本地持久卷的pod总是调度到同一节点。
考虑为此使用本地静态provisioner,它有针对裸机环境的说明。