单节点kubernetes集群扩展

时间:2019-09-17 12:53:15

标签: docker elasticsearch kubernetes google-cloud-platform

我有在GKE上运行的单节点kubenertes集群。所有负载都在由名称分隔的单个节点上运行。

现在我想实现自动缩放。我是否可以将mircoservices扩展到新节点,但一个Pod仅在运行我的主节点。

我在想什么

主节点:以1个Pod可用性运行所有内容(Redis,Elasticsearch)

按比例放大的节点:仅按比例放大无状态微服务的副本

所以我有什么方法可以使用node auto scaeler或使用affinity来实现。

问题是,现在我正在具有statefulsets并按卷支持的单个节点上运行Graylog,elasticsearch和redis和Rabbitmq,我必须重新部署一切编辑yaml文件,以便向所有人添加affinity。 / p>

2 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了您的问题,但是如果我这样理解,则您可能会尝试使用污点和公差(节点相似性)。污渍和容忍度共同作用,以确保未将豆荚安排在不适当的节点上。所有详细信息都可以在文档here中找到。

答案 1 :(得分:1)

假设您遇到的问题是绑定到StatefulSet的持久卷只能从一个节点访问,则可以使用nodeAffinity字段来约束StatefulSet Pod的调度位置。如文档中所述:

  

PV可以指定节点相似性来定义限制什么的约束   可以从中访问该卷的节点。使用PV的吊舱只会   安排到由节点相似性选择的节点上。