在kubernetes中创建另一个隔离的集群

时间:2016-08-25 23:04:14

标签: google-compute-engine kubernetes

我有一个kubernetes集群,我运行很多pod,问题来自于开发更多繁重的应用程序,这些应用程序几乎占用了节点的所有资源。我想为这些应用程序创建一个隔离的集群,我将拥有更大的节点并在轻量级计算机上运行其他pod。有没有办法创建另一个与我运行的集群隔离的集群?或者是否有其他方法可以告诉kubernetes在某些节点中部署某些应用程序?

3 个答案:

答案 0 :(得分:2)

@areed提到的

Resource quotas是这里的第一步。它们应该允许您通过限制容器在上限之前可以消耗多少CPU和/或RAM,或者在RAM被杀死的情况下,防止您的环境相互碰撞太多。但是,如果这不能满足您的迷信,您完全可以在Google Cloud Engine的Google容器引擎中创建异构群集。

要通过GUI执行此操作(注意;如果您在首次创建群集时对其进行了自定义,则此方法无法正确设置VM权限。如果您添加了额外的权限,例如云存储访问,你需要这样做via the gcloud command line tool.

首先,打开云控制台,然后浏览到容器引擎管理页面。在这种情况下,我们有一个包含两个节点的池。

cluster administration page

单击顶部的编辑按钮,然后向下滚动到节点池。您将看到现在可以添加一个新池,在该过程中指定它的机器类型。 Give this new pool a descriptive name, so that you can build a selector for these nodes.

editing the cluster creating the new pool

现在,您可以使用node selectors来定义应分配哪些节点资源。希望这有帮助!

答案 1 :(得分:0)

您可以在节点上使用标签。然后,在部署时,您应该将pod限制为具有这些特定标签的节点。因此,您可以根据硬件或位置的特征安排pod计划,这些都取决于您应用于节点的标签。

有关详细信息,请参阅:

答案 2 :(得分:0)

由于您标记了GCE,我假设您正在使用GKE。您需要启动具有不同实例类型的另一个群集,因为不直接支持同一群集中的混合实例类型。通过将命名空间与Resource Quotas一起使用,您可以在同一个集群中实现所需的功能。