为Kubernetes开发TDengine(一个物联网时间序列数据库)集群
- 对普通pod使用statfulset
- 使用helm进行部署。
现在我想将pod放置到特定的节点上,例如pod-0到node-0, pod-1到node-1,并且即使在pod重新启动或重新创建之后也要保留它。
这样做的最好方法是什么?
这不是一个好方法
但如果你仍然坚持
,这是不推荐的,你可以使用labels
标记你的节点,然后使用节点选择器(动态),例如标记每个节点与pod名称,它将是顺序的,因为它是有状态的,所以你可以知道pod名称
# Mark your desired nodes
kubectl label node xxxxxxxx deployedName=pod-0
# for example assume that you have marked your nodes with pod-0
# In your StatefulSet:
node selector:
deployedName: pod-0
这只是一个例子。
更高级的选项是使用
affinity:
nodeAffinity:
当然还有更多的选项