围绕 Linux 容器的工具已经成熟到一定程度,它们现在成为软件打包和部署的可行方法。容器的开发者方面已经得到了很多强调。然而,为了使容器成为一个完整的解决方案,它们不仅必须易于构建,而且必须易于大规模可靠地部署。
可以说,在 Google 规模下部署 Linux 容器方面,没有哪家公司比 Google 更有经验。十多年来,他们一直在自己的数据中心运行容器,为上游 Linux 内核在 cgroups 和命名空间领域做出了贡献。Google 使用名为 Borg 的内部系统,每周部署约 20 亿个容器。
长期以来以如此规模部署容器,往往可以将良好的容器集群设计模式与不良模式区分开来。Google 将这些良好的模式概括为容器编排器,他们认为这对其他使用流行的 docker 节点级容器管理器的人来说通常很有用。2014 年 6 月,Kubernetes 发布了。
从那时起,Kubernetes 的增长几乎在任何指标上都呈爆炸式增长。已经有超过 17,000 次提交,来自 800 多位独特的贡献者。许多新项目正在利用 Kubernetes 作为其他项目的基础,例如 Red Hat 的 Openshift。贡献公司包括 Red Hat、IBM、CoreOS 和 Intel。Kubernetes 不仅是开源的,而且是开放设计的。所有新功能都经过公开提案流程,社区成员可以在指导项目中发挥作用。
Kubernetes 旨在解决大规模部署容器的挑战。它具有模块化和解耦设计,以实现容错和可扩展性。集群资源以声明方式定义在 yaml 或 json 格式的资源定义文件中,Kubernetes 组件以异步方式工作,以使实际集群状态与用户声明的期望状态保持一致。用户通过明确定义的 API 与 Kubernetes 交互。
我将在 7 月 9 日在 德克萨斯 Linux 展会 (Texas Linux Fest) 上就 Kubernetes 进行演讲,地点在奥斯汀会议中心。与会者将学习的内容包括
- 为什么选择容器?(隔离问题)
- 什么是 Linux 容器?
- 什么是 Kubernetes?(架构、资源类型(Pod、Deployment、Service 等)和网络)
最重要的是,我将使用由 Netgate 慷慨提供的 3 个 Minnowboard Turbot 组成的 3 节点 Kubernetes 小型集群进行广泛的现场演示。
5 条评论