我正在研究基于Amazon kubernetes服务EKS构建的应用程序的演示。但是,由于我无法直接访问AWS,因此我难以理解下面使用了什么基础架构。
我的理解。
现在我的问题:
首先,VM的速度是否正好降低到您需要的速度,或者总有一部分可以让您快速扩展?
第二,如果VM降速运行,是否意味着实例已终止或刚刚停止。
我注意到扩展在几秒钟内发生,所以这使我怀疑虚拟机实际上是在每次启动时制作的。
您的理解大致正确。有一个由Amazon通过EKS(实际上是kubernetes集群的主节点)管理的“控制平面”。作为AWS账户持有人,这对于您而言是不可见的,您无法亲自访问这些基础计算机。亚马逊对此收取统一费用,您无法将其缩减/缩减以降低成本。
您为创建的每个Amazon EKS集群每小时支付$ 0.20。
您围绕作业运行的第二点不是很清楚。您不必在Kubernetes中运行作业-您可以在pod中运行容器(也可以运行“ jobs”,这些作业也是基于进程完成时间有限的Pod)。
默认情况下,您需要为EKS集群创建“工人组”。如何创建这些取决于您。
[通常,您为每个工作组创建一个自动伸缩组,然后您可以定义自己如何自动伸缩群集中的工作节点。如您所料,这是经典的EC2 VM,您可以使用SSH或以SSM为例。 (由您管理)。
因此,要缩放运行容器工作负载的工作组,您可以手动上下缩放它们,依靠自动缩放组指标来缩放它们,也可以使用定制的解决方案,例如cluster-autoscaler来更智能地缩放根据集群中容器的状态将它们进出。
因此,通常当自动扩展组/工作组扩展时,它将终止EC2实例。当出现一个新实例时,您的工作组的启动配置应具有它需要了解的所有信息,以允许新实例自动加入EKS群集并开始调度Pod。
因此,当工作组向外扩展时,虚拟机的确已创建/启动/配置。如果它们是基于Linux的EKS辅助节点,则这些节点通常会很快启动。 Windows的通常要慢一些。
要回答其他问题-仅在仔细配置扩展机制并满足自己的要求后,VM才可以旋转至所需的状态。 Cluster-autoscaler对此有很大帮助。
希望为您解决问题的方法。