资讯专栏INFORMATION COLUMN

使用Kubernetes 构建自动化平台

xcc3641 / 1323人阅读

摘要:是容器中心自动化平台,它帮助开发人员构建测试并部署应用程序。当然,我们使用自身来构建并部署到中概述我们是一个运行云原生应用的平台,在隔离上做了很多设计决策。我们启动,监控它的进程,并在结束后销毁它。

编者按:本文由Wercker CTO Andy Smith 分享,他分享了Kubernetes如何帮助他们节省时间并加速开发。本文是关于Kubernetes 1.3新功能一系列深入文章的第九篇。

我们在Wercker运行数百万容器执行用户的CI/ CD工作。这些容器的生命周期大多是短暂的,构建、测试和部署完成后,这些容器的生命周期随之结束。

虽然多数容器的生命是短暂的,但我们倾向于持续运行我们的基础设施。通常情况下我们需要跨多节点运行多个容器,所以一个高度可扩展的调度程序就显得非常有必要。我们决定使用Kubernetes。

Wercker 是容器中心自动化平台,它帮助开发人员构建、测试并部署应用程序。

我们支持任何数量的pipelines,从代码构建、测试微服务间的API协议、上传镜像和部署到调度器。

所有这些pipeline都运行在Docker容器中,而且每个环节都是一个Docker容器。

当然,我们使用Wercker自身来构建Wercker并部署到Kubernetes中!

概述

我们是一个运行云原生应用的平台,在隔离上做了很多设计决策。在底层,我们使用CoreOS和cloud-init 启动一个异构节点的集群,我把这些节点命名为Patricians(贵族)、Peasants(农民)、 Controller(控制器)。

对于Controller 节点,也许我们应该使用Constables(警察)这个叫法。

贵族节点占据我们基础设施的一大部分,这些节点有适当的网络接口与后端服务通信,同时还作为各种负载均衡器的 endpoints。

这些节点上还运行着下面三类服务:

1.日志搜集服务,并发送到日志服务

2.很多用于报告和处理job运行结果的服务

3.处理API 调用的微服务

农民节点用于运行公共服务,包括处理job的Pod,它用于从job 队列读取job,并声称新的pod以处理job的执行。

job 本身是开源CLI工具的化身,你可以用Docker安装并运行在你的笔记本上。

农民节点对基础设施的访问权限十分有限,运行job的容器也是高度隔离的。

Controllers是控制器,对于这类节点的功能,你尽管望文生义就对了。

动态Pods

我们的服务对Kubernetes API 有重度依赖,每一个job启动时,系统都会动态创建Pod,这个Pod为job提供了运行环境。

从队列中获取 job 描述后,我们定义了一个新的 pod,新的Pod 包含执行检查代码、缓存管理、执行job并上传结果的相关环境。

我们启动pod,监控它的进程,并在 job 结束后销毁它。

Ingresses

为了给 HTTP API 提供后端服务,并提供自注册功能,我们使用了Kubernetes 的 Ingress 功能。

设置 Ingress 并不是很简单,但是通过阅读nginx 例子,我们最终发现了一个将后端服务连接到前端的好方法。

1.3 即将发布的功能

尽管我们把pods和容器当成是短暂的,并期望它能够在故障时快速重启,同时我们也期待使用Pet Sets 和Init Containers 优化我们的工作流。

对于Minikube得到官方支持,我们也很欣慰,因为它提高了我们的本地测试和开发的效率。

结论

Kubernetes在管理跨节点的多个容器时,为我们省掉了大量的关键工作。

它提供了一个强大的API和工具来查看,包含多内置日志支持、度量、监控和调试。

仅服务发现和网络这两项就为我们节省了很多时间,大大加速了开发进度。

祝 Kubernetes 正式版一周年快乐,也祝愿它越来越好:)。

本文由时速云翻译,如若转载,需注明转载自“时速云”

原文链接:http://blog.kubernetes.io/201...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/32503.html

相关文章

  • 部署微服务:Spring Cloud vs. Kubernetes

    摘要:而微服务架构能否成功实践,利用各种工具解决潜在问题是关键。因此,微服务本身可以通过库和运行时代理解决客户端服务发现负载均衡配置更新统计跟踪等。与相比,解决了更广的微服务架构问题。和处理了不同范围的微服务架构技术点,而且是用了不同的方法。 Spring Cloud vs. Kubernetes,谁才是部署微服务的最佳拍档? Spring Cloud和Kubernetes都声称自己是开发和...

    YanceyOfficial 评论0 收藏0
  • k8s与caas--容器云caas平台的落地实践

    摘要:容器云将支持应用的一键式部署交付,提供负载均衡,私有域名绑定,性能监控等应用生命周期管理服务。本容器云平台,对接持续集成发布系统。 前言 在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速向互...

    h9911 评论0 收藏0
  • k8s与caas--容器云caas平台的落地实践

    摘要:容器云将支持应用的一键式部署交付,提供负载均衡,私有域名绑定,性能监控等应用生命周期管理服务。本容器云平台,对接持续集成发布系统。 前言 在移动互联网时代,新的技术需要新技术支持环境、新的软件交付流程和IT架构,从而实现架构平台化,交付持续化,业务服务化。容器将成为新一代应用的标准交付件,容器云将帮助企业用户构建研发流程和云平台基础设施。缩短应用向云端交付的周期,降低运营门槛。加速向互...

    KaltZK 评论0 收藏0
  • 视频私有云实战:基于 Docker 构建点播私有云平台

    摘要:本篇文章将会结合网易云信的实践经验,以全局概述的方式带大家认识点播私有化平台构建的整体架构面貌。基于构建点播私有云平台在具有以上优势的同时,还具备资源弹性管理监控完善部署简易自动化维护等特性。基于构建平台,能够自由管理创建云主机。 私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序。其核心属...

    MadPecker 评论0 收藏0
  • 视频私有云实战:基于 Docker 构建点播私有云平台

    摘要:本篇文章将会结合网易云信的实践经验,以全局概述的方式带大家认识点播私有化平台构建的整体架构面貌。基于构建点播私有云平台在具有以上优势的同时,还具备资源弹性管理监控完善部署简易自动化维护等特性。基于构建平台,能够自由管理创建云主机。 私有云是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序。其核心属...

    jkyin 评论0 收藏0

发表评论

0条评论

xcc3641

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<