容器调度器,我很喜欢这个组件,值得研究。
对于微服务部署和运行而言,容器是一种非常优雅的抽象,它提供了跨语言的统一打包方案、应用级隔离以及快速的启动时间。
容器调度器通过编排和管理底层基础设施资源池中不同工作负载的执行,为容器提供更高级的部署平台。调度器还提供(或紧密集成)其他工具(如网络、服务发现、负载均衡和配置管理),来为基于服务的应用交付一套完整的环境。
借助调度程序,容器提供了一种特别优雅和灵活的方法来满足我们的两个部署目标:速度和自动化。
目前流行的容器调度器有Docker Swarm、Kubernetes和Apache Mesos,不同的工具和发行版构建在这些平台之上。Kubernetes是谷歌的开源容器调度程序,拥有最广泛的市场份额,并获得了微软等其他组织和开源社区的重要实现支持。由于它流行广泛并且本地安装设置简单,而受到大家欢迎。
容器调度器是一种软件工具,它通过管理共享资源池的不可拆分的、容器化应用程序的执行来将底层主机概念抽离出去。
对于微服务来说,调度器是一个引人注目的部署平台,在理论上简化了对任意数量的独立服务的伸缩扩容、健康检查和发布的管理,同时确保有效利用底层基础设施。容器调度程序工作流的工作过程如下所示。
1)开发者编写声明式指令来指明所要运行的应用。这些工作负载可能各不相同:可能想运行一个无状态、长期运转的服务,也可能是一次性的任务,还有可能是有状态的应用,比如数据库。
2)指令到达主节点。
3)主节点执行这些指令,将工作负载分发到底层的工作节点集群。
4)工作节点从相应的注册中心拉取容器并按照指定方式运行这些应用。
摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》
网友评论