如何使用 Terraform 扩展 Kubernetes 集群以避免停机?

How to scale up Kubernetes cluster with Terraform avoiding downtime?

场景如下:我们在 Azure 的 Kubernetes 集群上有一些应用程序 运行。目前我们的生产集群有一个 Nodepool 和 3 个节点,资源相当低,因为我们仍然没有那么多同时活动 users/requests。

我们的后端 API 应用在三个 pods 上 运行,每个节点一个。有人告诉我我将需要尽快增加资源(我正在考虑更多内存,甚至用更好的虚拟机替换节点的虚拟机)。

我们使用 Terraform 构建了与 Kubernetes 相关的所有内容,我知道更换节点中的 VM 是一种破坏性操作,这意味着必须更换集群,新的 config 所有部署、服务等都将有待重新申请。

我是 Kubernetes 和 Terraform 世界的新手,这意味着我可以做一些基础知识来启动应用程序 运行 但我想了解扩展和扩展方面的最佳实践是什么表现。如何在不让我们的服务停机的情况下增加资源?

我想知道在我替换另一个节点的 VM 时是否有一个额外的 Nodepool 会有所帮助(我在这里可能完全错了)

如果有任何link课程、教程,您可以指出我,非常感谢。

(从评论中移出)

在 Azure 中,当您执行集群升级时,有一个名为“max surge count”的参数,默认情况下等于 1。这意味着当您更新集群或节点配置时,它将首先使用更新后的配置创建一个额外的节点——然后它才会安全地耗尽并删除其中一个旧节点。更多相关信息:Azure - Node Surge Upgrade