Blue Matador 使用 Terraform 从自托管的 Kubernetes 迁移到 AWS EKS

2019 年 6 月 20 日

Blue Matador 使用 Terraform 从自托管的 Kubernetes 迁移到 AWS EKS

Blue Matador 在比较了各种特性之后,将他们的Kubernetes 基础设施从AWS 实例上的 kops 托管集群迁移到了AWS 的托管Kubernetes 服务 EKS 。他们选择 EKS 是因为它有更好的安全模型、托管控制平面,而且可以降低他们特定用例的成本。在创建一个新的 Kubernetes 集群方面,kops 是赢家,而 EKS 在集群管理和安全性方面得分更高。InfoQ 联系了 Blue Matador 的软件工程师 Keilan Jackson ,进一步了解他们的经验。

EKS 的共享责任模型及其托管控制平面是迁移的主要原因。在EKS 之前,Blue Matador 团队在3 个c4.large AWS 实例上运行他们自己的Kubernetes 主节点。Kubernetes 的升级——包括Bug 修复和安全补丁——都由团队负责。因为基础设施在AWS 内部,所以AWS 仍然提供了一个安全层,但是他们必须自己管理Kubernetes 的特定安全问题。在私有网络、加密根卷和安全组控制等资源方面,Jackson 写道:“使用kops 创建的Kubernetes 集群的默认设置和EKS 非常类似。”使用EKS 设置一个新的集群需要做一些准备工作,但是,初始设置完成后,EKS 使集群管理更容易。

Blue Matador 主要使用 Terraform 来管理他们的 AWS 资源。Terraform 实现了跨云提供商的多种资源类型,但现实世界的使用情况揭示了其中的挑战。Jackson 谈到了他们面临的 EKS 特有的挑战:

我尽量利用社区构建的 EKS 模块。我遇到的主要问题是使用了 AWS 提供程序和 Terraform 的过期版本,然后将这个模块中的托管资源连接到我的外部托管资源,比如我们的主 ALB、RDS 实例等等。我建议从配置 EKS 的模块中输出一些 Terraform 变量,这样就可以在其他模块中引用它们,如下所示:

output “worker_role_arn” {

value = “${module.eks_cluster.worker_iam_role_arn}”

}

虽然 Terraform 可以很好地创建和管理 EKS 集群,但是后者依赖于相互关联的外围资源。Jackson 提供了详细的阐述:

除了运行 EKS 集群本身之外,EKS 还需要大量的资源。您必须配置工作节点、安全组、VPC 网络,并计划好在 EKS 提供新版本 Kubernetes 支持时进行更新。如果可能的话,一定要使用社区模块,因为它有助于正确连接这其中的许多基本资源,但是请记住,务必要按照您的安全需求仔细检查设置。例如,确保安全组只对需要它们的东西开放,确保工作节点不会获得公共 IP 地址,确保使用加密的 AMI 作为根设备。

在谈到集群规模时,Jackson 说,“集群的总大小还没有达到我们不得不在 kops 集群中使用超过 3 个主节点的程度,但重要的是,我们能够快速、轻松地扩展节点,并在 Kubernetes 新版本发布时更新到新版本。”

托管 Kubernetes 服务通常与他们平台的监控解决方案集成在一起。Jackson 解释了他们如何监控他们的集群:

我们主要依靠自己的产品 Blue Matador 实现 Kubernetes 集群报警。它会发现一些不健康的部署、关键节点事件、pod 内存耗尽等问题,并帮助我们监视集群的利用率。我们还使用 Datadog,但仅用于绘制几个自定义指标。我们关注 Amazon EKS 的 CloudWatch 容器洞察,但通常,CloudWatch 对 Kubernetes 而言不够活跃,因此,我不会依赖它来进行生产环境报警。

迁移还降低了团队的基础设施和监控成本。

查看英文原文 Migrating From Self-Managed Kubernetes to AWS EKS Using Terraform at Blue Matador

2019 年 6 月 20 日 13:38 4879
用户头像

发布了 0 篇内容,共 1292259 次阅读,收获喜欢 559 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营(第 4 周作业)

李德政

极客大学架构师训练营

Week4:课后作业

Geek_165f3d

架构师训练营第四课作业

曾祥斌

架构师训练营 - Task Week 4

brave heart

极客大学架构师训练营

典型的大型互联网应用系统的技术方案

林昱榕

极客大学架构师训练营 互联网架构

大型互联网应用系统技术和手段

第四周课后作业

iHai

极客大学架构师训练营

架构师训练营 第四周 作业

CR

极客大学架构师训练营

【第四周】学习总结——架构演进、模式、技术和案例分析

三尾鱼

极客大学架构师训练营

架构师训练营第四周作业

lwy

极客大学架构师训练营

架构师训练营--第四周作业

_MISSYOURLOVE

极客大学架构师训练营 第四周作业

Week4作业

王志祥

极客大学架构师训练营

案例讲解,设计模式定义

秤须苑

互联网系统架构的挑战和变迁

破晓_dawn

week4作业

强哥

极客大学架构师训练营

一个典型的大型互联网应用系统使用了哪些技术方案和手段?

AceXu

极客大学架构师训练营

week4 作业

Gavin

架构师 0 期 | 互联网巨头不是一天练成的

刁架构

极客大学架构师训练营

第四周作业一

慵秋

极客大学架构师训练营

【架构课作业 - 第四周】

Nelson

极客大学架构师训练营

架构师训练营第四周 - 作业

桔子

架构师训练营第四周 - 总结

桔子

一个典型大型互联网应用系统:从问题到技术方案和手段

走过路过飞过

架构师训练营第 4 周学习总结

Season

高可用 分布式系统 高性能 极客大学架构师训练营

从维基百科架构看互联网架构

破晓_dawn

架构师训练营-week4-学习总结

晓-Michelle

极客大学架构师训练营

极客大学架构师训练营 系统架构 淘宝架构 第四次作业

John(易筋)

极客时间 系统架构 极客大学 极客大学架构师训练营 淘宝架构

大型互联网产品架构技术体系梳理

lei Shi

Week4: 学习总结

Geek_165f3d

week4 总结

Gavin

总结

chenzt

众安黑客马拉松大赛总决赛-InfoQ小编探班

众安黑客马拉松大赛总决赛-InfoQ小编探班

Blue Matador 使用 Terraform 从自托管的 Kubernetes 迁移到 AWS EKS-InfoQ