V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caicloud2015
V2EX  ›  Amazon Web Services

如何在 AWS 上部署 Kubernetes 集群

  •  
  •   caicloud2015 · 2016-08-16 16:02:12 +08:00 · 2269 次点击
    这是一个创建于 3017 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天的客座文章是由 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 ,点击: https://github.com/coreos/coreos-kubernetes/releases , 它支持 Kubernetes1.2.x 。

    为了让你的集群运行起来,点击查看文档: https://coreos.com/kubernetes/docs/latest/kubernetes-on-aws.html

    为什么选择 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 文档: https://coreos.com/kubernetes/docs/latest/kubernetes-on-aws.html

    后续工作

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

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

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3139 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:50 · PVG 21:50 · LAX 05:50 · JFK 08:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.