使用 SimKube 1.0:比较 Kubernetes 集群自动伸缩器和 Karpenter

这是一篇关于作者的 Kubernetes 模拟器项目 SimKube 的三部分系列文章的第二部分。SimKube 已成熟至 v1.0.0,可用于比较 Kubernetes 集群自动缩放器(KCA)和 Karpenter 的性能。作者在模拟环境中选择了一组常见的 AWS EC2 实例供两个自动缩放器使用,包括c6i.4xlarge等六种类型。通过模拟运行“社交网络”应用程序并诱导负载,观察到 Karpenter 在选择实例类型上更一致,能更快地将 pod 从“Pending”状态调度出来,而 KCA 则相对较慢。此外,KCA 在每次缩放活动后达到“稳定状态”所需时间更长,且在选择实例类型时有时表现良好有时不佳。Karpenter 有两个不同的控制循环,能更快地处理调度和资源调整。在资源利用方面,KCA 在繁忙的扩展期间使用 2 - 3 vCPUs,而 Karpenter 则使用 1 - 2 vCPUs,这可能是因为 KCA 导入了真实的 Kubernetes 调度器代码,而 Karpenter 则进行了一些近似处理以提高运行速度。作者强调这组博客文章不应被视为“Karpenter 优于 KCA”的建议,在选择自动缩放解决方案之前,应在自己的环境中进行模拟测试。作者还将在下周的最后一篇文章中探讨 SimKube 本身的性能以及如何改进。

阅读 13
0 条评论