我有一个配备了Terraform EKS模块的EKS集群。当我超过可用的pod数量时,自动缩放启动并给了我一个额外的示例,这是意料之中的。然后我决定改变示例类型,因为我需要一个更面向CPU的示例。我更改了模块中的示例类型并应用了更改。
我希望terraform首先创建新的节点组和它的worker,然后将旧的节点组转移到新的节点组上,以保持pod的运行,但发生的事情是所有的worker都被破坏了,然后又被重新配置,导致了几分钟的停机时间。
下次我该如何通过Terraform更改示例类型以保持Pod运行?
1条答案
按热度按时间5ssjco0h1#
由于节点组示例类型是不可变的(如SO answer中所述),Terraform可能会删除节点组并重新创建它,删除进程中运行的所有Pod。
为了避免它,你必须-
1.添加具有新示例类型的新节点组
1.逐步封锁和排空旧节点组中的所有节点,并确保在新节点组上按预期安排这些节点
1.在新节点组上调度所有Pod后,删除旧节点组。