深入解析 Kubernetes 与 Helm:容器编排与包管理的完美结合
1. 从容器到调度器:Kubernetes 的崛起
在容器技术蓬勃发展的当下,开发者将应用程序打包成容器,运维人员将容器作为部署的工件。然而,一系列新问题也随之而来:如何高效执行大量容器?怎样促进微服务架构中众多容器协同工作?如何合理共享网络存储、负载均衡器和网关等资源?又该如何管理向大量容器注入配置信息?更重要的是,如何管理内存、CPU、网络带宽和存储空间等资源?
2015 年,Docker 容器开始在企业中广泛应用,此时迫切需要一种工具来管理跨主机的容器调度和资源管理。于是,多种技术应运而生,如 Mesos 推出了 Marathon,Docker 创建了 Swarm,Hashicorp 发布了 Nomad,而 Google 则基于其内部的 Borg 平台开源了 Kubernetes。
这些项目都提供了集群化容器管理系统的实现,能够调度容器并为复杂的微服务分布式应用提供支持。不过,Kubernetes 引入了两个独特的概念:声明式基础设施和调和循环。
声明式基础设施
传统的容器部署方式是按步骤进行的,例如创建容器、打开监听端口、挂载存储、等待初始化、测试容器是否就绪并标记为可用。而 Kubernetes 采用声明式设计,用户只需告诉调度器(Kubernetes)期望的状态,Kubernetes 会将声明转化为内部操作。例如,安装容器时只需声明“我希望这个容器在这个端口运行,使用这么多 CPU,并在文件系统的这个位置挂载存储”,Kubernetes 会自动完成后续操作。
调和循环 <
Kubernetes与Helm详解
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



