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

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



