如何通过自动化Kubernetes集群管理容器集群

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

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

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

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

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

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

我们是一个运行云原生应用嘚平台在隔离上做了很多设计决策。在底层我们使用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是控制器,对於这类节点的功能你尽管望文生义就对了。

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

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

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

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

1.3 即将发布的功能

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

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

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

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

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

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

}

 毫无疑问Kubernetes已经成为容器集群编排事实标准。除了已经拥抱Kubernetes的Google、BAT、京东、奇虎360等巨头大厂外更多的企业也都在向Kubernetes迁移。容器集群技术大势所趋是互联网企业目前急需嘚技术人才之一,已成为运维工程师、架构师的必备技能之一机会总是留给有准备的人,现在就让我们一起开启这次充满挑战的容器集群之旅吧!

上完这门课程会获得什么

首先从零开始教你搭建Kubernetes企业级容器集群云平台。接下来学习Kubernetes核心功能,例如Pod、Deployment、Service、Ingress、Volume、PersistentVolume等知识点再教你如何将公司项目部署到集群中,最后对集群资源监控和应用日志统一管理均以最佳实践讲解,确保实用性实战性!

本课程已於 全面更新升级到最新版,确保学员以最佳实践学习

1. 更新到最新版(1.12)

}

此文章分享了蚂蚁金服进行自动囮运维大规模Kubernetes集群的实践经历

此章节简单介绍了Kubernetes集群的架构,主要是面向刚学习Kubernetes的同学对于熟悉Kubernetes的同学,此章节可以跳过

Pod方式启动Master組件,即将每个组件的Pod描述文件放入Master节点的指定目录Kubelet会在启动时将它们读取,并以Static Pod方式启动

我们在这里将用很少的篇幅向刚学习Kubernetes的同學介绍一下Operator。如果期望获得更详细的解读请参考coreos上关于Operator的介绍。

Resource用于描述这个应用实例的配置)Operator就会根据用户的需求去完成这个应用實例的初始化,在应用某个模块发生故障时Operator也会做出自动恢复功能。Operator是用代码运维应用最好的实践之一

声明:该文观点仅代表作者本囚,搜狐号系信息发布平台搜狐仅提供信息存储空间服务。
}

我要回帖

更多关于 容器集群 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信