围绕 Linux 容器的工具链已经成熟到一定程度,以至于它们现在成为软件打包和部署的可行方法。容器等式的开发者方面已经得到了很多重视。然而,为了使容器成为一个完整的解决方案,它们不仅必须易于构建,而且还必须易于大规模可靠地部署。
在大规模部署 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 展会 上做关于 Kubernetes 的演讲。与会者将学到以下内容:
- 为什么选择容器?(隔离问题)
- 什么是 Linux 容器?
- 什么是 Kubernetes?(架构、资源类型(Pod、Deployment、Service 等)和网络)
最重要的是,我将在一个由 3 个 Minnowboard Turbots 组成的 3 节点小型 Kubernetes 集群上进行广泛的现场演示,这些 Turbots 由 Netgate 慷慨提供。
5 条评论