写点什么

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:385579
用户头像

发布了 764 篇内容, 共 514.5 次阅读, 收获喜欢 1570 次。

关注

评论

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

《华为数据之道》读书笔记:第1章 数据驱动的企业数字化转型

方志

数据中台 数据湖 数据治理

OAuth 2.0授权框架详解

程序那些事

OAuth 2.0 程序那些事 Oauth 授权框架 安全框架

Java踩坑记系列之线程池

Java老k

Java 线程池

从资源管理角度认识K8S

LorraineLiu

Kubernetes 云原生 k8s k8s入门

重点人员管控系统开发,情报研判系统搭建

t13823115967

重点人员管控系统开发 情报研判系统搭建

区块链司法可信存证,版权维护应用落地

t13823115967

区块链司法可信存证 版权维护应用落地

今年最火的 Golang 云原生开源项目,可能就是它了!

阿里巴巴云原生

开源 Kubernetes 云原生 Go 语言

大整数算法

落曦

区块链能修复企业云计算吗?

CECBC

区块链 云计算

面试官都爱问的ThreadLocal

执墨

ThreadLocal 哈希表 弱引用

阿里P8熬夜完成这两份800页Java面试核心知识原理+框架

Java~~~

Java 程序员 面试 编程语言 架构师

探秘RocketMQ源码【1】——Producer视角看事务消息

阿里云金融线TAM SRE专家服务团队

开源 RocketMQ 中间件 消息中间件

基于ELK的日志平台介绍

Rayzh

ELK 日志系统

OpenKruise:阿里巴巴 双11 全链路应用的云原生部署基座

阿里巴巴云原生

Kubernetes 运维 云原生 中间件 存储

2020年10月公有云性能评测:盛大云-华东蝉联冠军,腾讯云-北京无缘前三

博睿数据

云计算 腾讯云 ucloud 公有云 评测

架构师训练营第 1 期 -week9

习习

怎么做好一场分享或者培训

fq

训练营第五周作业

爱码士

训练营

linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

良知犹存

linux开发

anyRTC uni-app 跨平台SDK 发布!总有一款适合你!

anyRTC开发者

uni-app 音视频 WebRTC RTC

2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声

京东科技开发者

程序人生

DocView 现在支持自定义 Markdown 模版了!

程序员小航

markdown IDEA idea插件 文档生成

架构师训练营第 1 期第 10 周作业

业哥

年轻人你不讲武德,自己偷着学习!spring Security五套「源码级」笔记哪里来的?我也要!

Java架构追梦

Java 源码 架构 面试 spring security

利用区块链数字化人民币,中国有望从追随者变为新秩序的领导者

CECBC

区块链 数字人民币

软件测试流程

测试人生路

软件测试

贞炸了!上线之后,消息收不到了!

楼下小黑哥

Java RocketMQ MQ

前端如何实现一键截图功能?

徐小夕

Java 大前端 React

训练营第5周学习总结

爱码士

训练营

新思科技:ISO/SAE 21434标准即将发布 你准备好了吗?

InfoQ_434670063458

新思科技 汽车软件安全

聊聊在国企当程序员的这三年,这样的生活真的是你想要的吗?

Java架构师迁哥

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