现代应用部署与容器编排技术详解
在云应用开发领域,基础设施常被视为可替换的“牛”而非珍贵的“宠物”。这意味着基础设施通常是易损坏的通用硬件,高可用性需在应用层或应用编排层处理。负载平衡器和编排系统相结合可监控服务健康状况,在服务故障时采取必要措施,如重启服务。
容器具有隔离和打包特性,使独立团队能将各个组件开发成容器。企业可采用按需扩展模式,根据业务增长扩展容器。为高效管理大量容器,需要一个容器编排系统。
容器编排系统的特点
- 资源整合:将不同的基础设施硬件视为一个集合,向应用呈现为单一资源。
- 高效调度:根据用户约束调度容器,以最有效的方式利用基础设施。
- 动态扩展:动态扩展容器。
- 高可用性:维护服务的高可用性。
应用定义和容器编排密切相关。应用定义通常是一个清单文件,描述构成应用的容器以及容器暴露的服务。容器编排基于应用定义进行,容器编排器操作的资源可以是虚拟机或裸机。通常,运行容器的节点会安装针对容器优化的操作系统,如 CoreOS、DCOS 和 Atomic。
容器编排的基本要求与解决问题
容器编排的基本要求是将 M 个容器高效部署到 N 个计算资源中。一个容器编排系统应解决以下问题:
1.高效调度:高效调度容器,给予用户足够的控制权,根据需求调整调度参数。
2.集群网络