当你上下旋转时会发生什么?

当你上下旋转时会发生什么?

我正在研究基于 Amazon Kubernetes 服务 EKS 构建的应用程序的演示。但是,由于我无法直接访问 AWS,因此我很难理解底层使用了哪些基础设施。

我的理解。

  1. 您定义一个集群,无论您是否使用它都会有成本,所以我怀疑有一个主节点始终处于启动状态。
  2. 在作业运行时,您需要支付虚拟机费用,因此很明显它在虚拟机上运行

现在我的问题是:

当你上下旋转时会发生什么?

首先,虚拟机的转速是否完全根据您的需要而定,或者是否总是有一些部分允许您快速扩展?

其次,如果虚拟机停止运行,是否意味着实例已终止或只是停止了。


我注意到扩大规模只需要几秒钟,所以这让我怀疑每次启动时是否真的会生成虚拟机。

答案1

您的理解大致正确。有一个由 Amazon 使用 EKS(实际上是 Kubernetes 集群的主节点)管理的“控制平面”。作为 AWS 账户持有人,您看不到它,并且您无法亲自访问这些底层机器。Amazon 对此收取固定费用,您无法缩减/降低成本。

您为每个创建的 Amazon EKS 集群每小时支付 0.20 美元。

您关于作业运行的第二点不太清楚。您不一定要在 Kubernetes 中运行作业 - 您可以在 pod 中运行容器(您还可以运行“作业”,这些作业也是根据进程完成时间具有有限生命周期的 pod)。

默认情况下,您需要为 EKS 集群创建“工作组”。如何创建这些由您决定。

通常,您会为每个工作组创建一个自动缩放组,并且可以自己定义该自动缩放组如何扩展和缩减集群中的工作节点。正如您所猜测的,这些是经典的 EC2 VM,您可以使用 SSH 或 SSM 访问它们。(由您管理)。

因此,要扩展运行容器工作负载的工作组,您可以手动对其进行扩展或缩减,依靠自动扩展组指标对其进行扩展或缩小,或者您可以使用定制解决方案,例如集群自动伸缩器根据集群中容器的运行情况,更加智能地扩大和缩小容器的规模。

因此,通常当自动缩放组/工作组缩减时,它将终止 EC2 实例。当出现新实例时,工作组的启动配置应该具有它需要知道的一切,以允许新实例自动加入 EKS 集群并开始调度 Pod。

所以是的,当工作组扩展时,虚拟机确实会创建/启动/配置。如果它们是基于 Linux 的 EKS 工作节点,它们通常会相当快地启动。Windows 系统通常要慢一点。

回答您的另一个问题 - 仅当您根据自己的要求仔细配置了扩展机制后,虚拟机才会降至您需要的水平。集群自动扩缩器对此有很大帮助。

希望这能帮助你澄清事实。

答案2

虽然我无法详细证实这一点,但另一个消息来源告诉我,在设置好集群后,你可以相对快速地扩展到资源(你没有付费)。例如 20 秒。

也许这需要您利用一些相对“热门”的标准资源。

相关内容