【问题标题】:How to create AWS spot instances with Kops or Kubernetes?如何使用 Kops 或 Kubernetes 创建 AWS Spot 实例?
【发布时间】:2018-06-19 01:54:36
【问题描述】:

我目前正在使用 kops 创建 AWS EC2 集群。但它似乎没有指定“现货”实例的选项。

有人知道如何使用 kops 或 kubernetes 创建“spot”类型的实例吗?

【问题讨论】:

    标签: amazon-web-services kubernetes kops


    【解决方案1】:

    来自文档 https://github.com/kubernetes/kops/blob/master/docs/instance_groups.md#converting-an-instance-group-to-use-spot-instances

    遵循重新配置 InstanceGroup 的正常程序,但是 将 maxPrice 属性设置为您的出价。例如,“0.10”代表 每小时 0.10 美元(10 美分)的现货价出价。

    所以在 kops create cluster 之后但在 kops update cluster --yes 之前运行 kops edit ig nodes --name $NAME 并将 maxPrice 设置为您的最高出价。

    metadata:
      creationTimestamp: "2016-07-10T15:47:14Z"
      name: nodes
    spec:
      machineType: t2.medium
      maxPrice: "0.01"
      maxSize: 3
      minSize: 3
      role: Node
    

    【讨论】:

      【解决方案2】:

      看来gardener/machine-controller-manager 可以相当容易地学习 Spot 实例,并且有 an existing issue 可以做这样的事情。如果那是我记得看到的 节点控制器管理器,或者它只是 一个 节点控制器管理器,因此可能有其他实现这个想法已经包括现场支持。

      这假设您实际上是指 workers 的位置,而不是整个集群。如果您指的是整个集群,那么您可能会对kubespray 之类的东西更满意,并使用它在现有机器上放置一个正常运行的集群。请记住,虽然 kubernetes 肯定能够抵御“损害”,包括失去 master、etcd 成员,毫无疑问失去 Node,但如果一个巨大的它的一部分机器立即消失了。换句话说:使用 Spot 可能意味着您需要花费更多的程序员/devops/glucose 来对 Spot 消失进行分类,或者您必须大量过度配置副本,以至于它首先开始消耗来自 Spot 的节省.

      【讨论】:

      • 感谢您的信息。我需要能够创建至少 1 个节点作为“AWS EC2 OnDemand”实例,其余节点作为“AWS EC2 Spot”实例。你知道“Kubespray”是否允许这样做吗?
      • 所以简短版本是肯定的,但星号是 kubespray 本身并不 provision 机器。它只是将其他空白机器配置为集群主机、集群成员、etcd 成员、保险库或您希望的任何组合。这就是为什么我开始与节点控制器管理器进行讨论的原因,因此集群可以向自身添加更多节点。该项目当然不是唯一的方法——即使使用 awscli 和正确的用户数据也可以很好地完成这项工作
      猜你喜欢
      • 2018-07-02
      • 2020-08-01
      • 2018-07-12
      • 2021-05-04
      • 2020-01-19
      • 2016-06-13
      • 2016-06-30
      • 2019-05-22
      • 2018-07-10
      相关资源
      最近更新 更多