如何在AWS上部署Kubernetes集群
这期内容当中小编将会给大家带来有关如何在AWS上部署Kubernetes集群,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
在CoreOS,我们尝试将Kubernetes大规模部署到生产中。今天我们来分享一个工具:kube-aws,它可以轻松地在AWS上面部署Kubernetes。kube-aws是一个用来部署可监测、可再生的kubernetes集群到AWS上的工具,目前被CoreOS用来创建生产集群。
我们现在将Kubernetes组件放到一起的方式比较手动。但是,有了这个利器,Kubernetes就可以通过流水线打包来节省时间,同时将程序间的相互影响减到最小,快速创建可用于生产环境的部署。
简单模版系统只是用来生成集群配置,来作为一套版本可控、可监测和可重部署的声明性配置模版。由于整个供应是由AWS CloudFormation和cloud-init提供,所以在你这端无需外部配置管理工具。
为什么选择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组件,减少相关依赖性。
上述就是小编为大家分享的如何在AWS上部署Kubernetes集群了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。