如何在AWS上部署Kubernetes集群

2020 年 3 月 13 日

如何在AWS上部署Kubernetes集群

今天的客座文章是由Colin Hom撰写,Colin Hom是CoreOS的基础设施工程师。CoreOS在CoreOS Linux,Tectonic和Quay上面安全运行容器。这篇文章我们来分享kube-aws这个工具,讨论如何在AWS上部署Kubernetes集群。


在 CoreOS,我们尝试将 Kubernetes 大规模部署到生产中。今天我们来分享一个工具:kube-aws,它可以轻松地在 AWS 上面部署 Kubernetes。kube-aws 是一个用来部署可监测、可再生的 kubernetes 集群到 AWS 上的工具,目前被 CoreOS 用来创建生产集群。


我们现在将 Kubernetes 组件放到一起的方式比较手动。但是,有了这个利器,Kubernetes 就可以通过流水线打包来节省时间,同时将程序间的相互影响减到最小,快速创建可用于生产环境的部署。


简单模版系统只是用来生成集群配置,来作为一套版本可控、可监测和可重部署的声明性配置模版。由于整个供应是由 AWS CloudFormation 和 cloud-init 提供,所以在你这端无需外部配置管理工具。


查看最新版本的 kube-aws,点击,它支持 Kubernetes1.2.x。为了让你的集群运行起来,点击查看文档


为什么选择 kube-aws?因为它的安全性,可监测性和再生性


kube-aws 以这三个目标作为初衷来设计的。


安全性:TLS 资源在嵌入 CloudFormation JSON 之前,是通过 AWS 的 KMS 加密的。通过为 KMS 密钥独立管理 IAM 协议,操作者可以分开访问 TLS secrets 和 CloudFormation。


可监测的:kube-aws 是围绕集群资源的概念创建。这些配置和这些证书代表的是对整个集群的描述。因为 KMS 是用来给 TLS secrets 加密,你也可以随时在版本控制中检查未加密的堆栈 JSON。


再生性:-export 选项将参数化的集群打包到到单个的 JSON 文件里,由这个文件定义 CloudFormation 堆栈。如果需要的话,这个文件可以直接进行版本控制,并通过已有的配置工具直接提交到 CloudFormation API。


如何通过 kube-aws 开始


在这个基础之上,kube-aws 实现了一个功能,可以让 Kubernetes 在 AWS 上面配置得更加易于管理,也更加灵活。以下是一些例子。


Route53 整合:Kube-aws 可以管理你的集群 DNS 记录的配置过程。


cluster.yaml


现有 VPC 支持:部署你的集群到现有的 VPC 上面。


cluster.yaml


验证:kube-aws 支持 cloud-init 和 CloudFormation 定义验证,以及任意集群可以整合的外部资源。举个例子,这是一个拼错参数的 cloud-config:


userdata/cloud-config-worker


$kube-aws validate


ValidatingUserData…

Error:cloud-config validation errors:

UserDataWorker:line4: warning: unrecognized key “interface”


开始之前,查看 kube-aws 文档:https://coreos.com/kubernetes/docs/latest/kubernetes-on-aws.html


后续工作


使用 kube-aws 的目标就是令产品配置准备就绪。在我们在 AWS 上面将 kube-aws 投入产品使用的今天,这个项目在 1.0 版本之前,还有很多地方需要改进。


容错:AWS 上的 Kubernetes 是个对容错和自愈来说很强大的平台。在接下来的几周里,kube-aws 会迎接一个新的挑战:控制面板以及所有其它的完善。


无宕机更新:运用正确的实例替换策略,可以无宕机、更新 CoreOS 节点和 Kubernetes 组件,减少相关依赖性。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/0eH2HNcCxb-8m3yf4JL7gg


2020 年 3 月 13 日 17:27242

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

架构师训练营第三周作业

人世间

极客大学架构师训练营

架构师如何去进行软件设计 (设计模式篇)?

阿飞

架构 极客大学架构师训练营

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

sljoai

架构师训练营第三章作业

JUN

第三周总结

毛叫

极客大学架构师训练营

架构师训练营 - 学习笔记 - 第三周

chinsun1

第三周作业

远方

week3 作业

Gavin

week03-总结

seki

设计模式相关

莫莫大人

架构师训练营第三周总结

坂田吴奇隆

极客大学架构师训练营

架构师训练营 -Week 03 学习总结

华乐彬

单例模式及组合模式

走过路过飞过

架构师训练营总结 -3

River Tree

学习 极客大学架构师训练营

Week3总结

王志祥

极客大学架构师训练营

week03 小结

Geek_196d0f

第三周作业

麻辣

架构-第三周作业-设计模式

架构5班杨娟Jessie

极客大学架构师训练营

第三周总结

changtai

极客大学架构师训练营

模式和重构

GalaxyCreater

设计模式

第三周总结

远方

架构师训练营 week 3

iLeGeND

Homework-手写单例模式

River Tree

组合模式 Homework 手写单例

通过JUnit学习模板方法模式和策略模式

破晓_dawn

架构师训练营第3周总结

aoeiuvzcs

架构师训练营第 0 期第3 周学习总结

茴字🈶四种写法💋

设计模式&重构

Amy

学习 极客大学架构师训练营 第三周

啊,原来可以不传封面照,找得好辛苦

慵秋

第三周作业

考尔菲德

week3 总结

Gavin

架构师训练营 第三周 总结 设计模式

CR

如何在AWS上部署Kubernetes集群-InfoQ