2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 2019-06-20
  • 本文字数:1323 字

    阅读完需:约 4 分钟

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-06-20 13:385627
用户头像

发布了 805 篇内容, 共 551.8 次阅读, 收获喜欢 1584 次。

关注

评论

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

联邦学习在光大科技的落地应用

博文视点Broadview

AI 收藏夹 Vol.004:虚拟爱豆出道!

Zilliz

人工智能 神经网络 AI

简述移动端IM开发的那些坑:架构设计、通信协议和客户端

BeeWorks

“十四五”规划,开源重塑软件发展新生态,获国家重点扶持

腾源会

开源

【漫画】数据云,真香在哪?

星环科技

大数据

Java 集合框架面试问题集锦

编程江湖

面试题 JAVA开发 java编程

Android aapt 在 Mac 和 Windows 上使用方法小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

一文讲述数仓组件SysCache

华为云开发者联盟

事务 存储 GaussDB(DWS) SysCache 缓存信息

Java Web开发之API Boy的进阶之路

@零度

Java web API boy

5G专网+区块链:构筑智慧政务“安全信任基石”

CECBC

超细!细说Zookeeper选举的一个案例(上)

恒生LIGHT云社区

golang zookeeper Go 语言

实用机器学习笔记十六:循环神经网络

打工人!

深度学习 学习笔记 循环神经网络 机器学习算法 12月日更

华为硬件配置命令,建议收藏

Ethereal

网络工程师 网络技术 华为设备 厂商设备 运维技术

东汉末年,他们把「服务雪崩」玩到了极致

悟空聊架构

熔断 28天写作 服务雪崩 悟空聊架构 12月日更

React进阶(七):props 属性介绍

No Silver Bullet

React 12月日更 props

资讯|WebRTC M95 更新

网易云信

WebRTC

WAVE SUMMIT+2021深度学习开发者峰会举办,开源共建助力飞桨生态发展

科技热闻

从前端到全栈 -- 最全面向对象总结

程序员海军

Java 面向对象

Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算

阿里巴巴云原生

阿里云 Serverless 架构 云原生 函数计算

前端开发:Vue中获取input输入框值的方法

三掌柜

28天写作 28 12月日更 12月

Python爬虫120例之案例58,手机APP爬虫,“武器库”的准备and皮皮虾APP的测试

梦想橡皮擦

12月日更

明道云荣获2021亚洲最佳职场“最佳创新奖”荣誉!

明道云

PingCAP 入选 CB Insights 中国「数据链路安全领航者」榜单,保障全球用户存储安全

PingCAP

元气部落盲盒系统开发元气部落app开发

风行无疆

今夜无眠

Tiger

28天写作

中石化信息化数字化首席专家李剑峰:数字化转型中关键基础软件的国产化应用

OceanBase 数据库

开源 国产化 oceanbase 中石化

跟着动画学Go数据结构之插入排序

宇宙之一粟

golang 数据结构 插入排序 12月日更

给弟弟的信第15封|情绪控制的重要性

大菠萝

28天写作

小程序的发布【小程序专题3】

坚果

小程序 28天写作 12月日更

100行代码让您学会JavaScript原生的Proxy设计模式

汪子熙

JavaScript 设计模式 代理模式 28天写作 12月日更

明道云对接小鹅通,沉淀内容付费平台数据

明道云

Blue Matador 使用 Terraform 从自托管的 Kubernetes 迁移到 AWS EKS_软件工程_Hrishikesh Barua_InfoQ精选文章