APP下载

内建调度功能的Docker 1.12正式版释出,丛集内节点分工更细致

消息来源:baojiabao.com 作者: 发布时间:2024-04-28

报价宝综合消息内建调度功能的Docker 1.12正式版释出,丛集内节点分工更细致
图片来源: 

Docker

继DockerCon上推出内建调度功能的Docker 1.12版后,近日可部署于线上环境的正式版也已经释出。Docker表示,经由外部社群的贡献、协力开发,相比最早内建调度功能的Docker,“目前调度规模已经成长了1倍。”此版本也引入管理者节点(Manager)、工作节点(Worker)设计,让企业在建立Docker丛集时,能够更细致地分类各节点,藉以建立更复杂、分工更细的丛集架构。

在新版本Docker中,使用者可自行决定是否开启内建调度功能Swarm模式,Docker Swarm则由数个分散式、高可用性的Docker节点所组成。每个Docker节点都自成调度子系统(Orchestration subsystem),可以建立共享资源池,对Docker化服务进行排程。

这样的设计思维,使开发者可以利用Docker丛集,建构可程式化拓朴(Programmable Topology)架构,因此,企业可以自行指定Docker节点的角色为管理者节点或是工作节点,例如,在资料中心内跨区部署不同的管理者节点。同时,开发者也可以透过API、命令程式界面,动态地更改不同节点的角色。

Docker表示,管理者节点执行的工作为调度丛集、协调容器工作排程、检查运作状况不佳的容器,以及提供服务API运作等。而工作节点负责的工作则相对简单,例如创建容器,或将资料传送至指定容器中。

同时,Docker也建议在正式环境中导入Docker的使用者,将节点角色指定为管理者节点或是工作节点。Docker解释,借此,管理者节点就不需运行容器,除了可以降低管理节点的工作负载。同时,将节点角色画分更细致,亦能减少攻击面(Attack Surface)。此外,企业可以设定工作节点的操作权限,让其无法存取服务API、资料仓储内资料,仅能接受工作指派,或是回报系统状况。万一有攻击者夺取工作节点的控制权,也能让减少系统遭攻击后影响的范围。考量不同节点间沟通对于速度、容量的需求,Docker也使用不同的技术协定,桥接各节点间的沟通。此外,每个节点间的资料传输一律预设采取MTLS加密。

例如,为了满足管理者节点间传输一致性(Consistency)需求,Docker会将管理者节点纳入Raft一致性群组(Raft Consensus Group), 进行资讯分享。在Raft群组中的一个管理者节点,会被推派为指挥者(Leader),掌握节点名单、任务,或是进行排程调度。

而管理者节点则是使用gPRC协定,与工作节点沟通。Docker表示,gRPC协定除了能允许以HTTP/2为基础的连线外,也内建版本管理功能(Versioning),让运行不同Docker引擎的工作节点,也能够跟统一的管理者节点沟通。除了管理者节点会发派任务至工作节点,工作节点也会回报任务状态等资讯。

最后,工作节点之间则使利用Gossip网络(Gossip Network)互相连结。Docker解释,Gossip网络包含P2P、高容量的特点,适用于大规模的应用情境。当工作节点接收任务后,除了会开启容器外,此节点亦会通知其余节点,此容器位在的覆盖网络(Overlay Network)。Docker表示,透过Gossip网络,讯息仅会在特定节点内传送。

此外,Windows版Docker及Mac版Docker也推出了正式版本。

2019-03-08 05:49:00

相关文章