Docker Swarm简介
Docker Swarm包含如下两个方面:
- 企业级的Docker安全集群:Swarm将一个或多个Docker节点组织起来,使用户能够以集群的方式管理他们。Swarm默认内置有加密的分布式集群存储、加密网络、公用TLS、安全集群接入令牌以及一套简化数字证书管理的PKI,用户可以自如地添加或删除节点。
-
微服务应用编排引擎:Swarm提供了一套丰富的API使得部署和管理微服务应用变得容易,通过将应用定义在声明式配置文件中,就可以使用原生的Docker命令完成部署,甚至还可以基于命令执行滚动升级、回滚以及缩容操作。
除了原生的Swarm应用,它还可以部署和管理Kubernetes应用,对Kubernetes应用支持。
Docker Swarm介绍
从集群角度来讲,一个Swarm包括一个或多个Docker节点,这些节点可以是无论服务器、虚拟机、树莓派、云实例,唯一的前提就是要求这些节点通过可靠的网络相连。节点会被配置为管理节点或工作节点,管理节点负责集群控制面,如监控集群状态、分发任务等;工作节点接收来自管理节点的任务并执行。
Swarm在安全性上使用TLS进行通信加密、节点认证和角色授权;在配置和状态信息上保存在一套位于所有管理节点上的分布式etcd数据库中,无需任何配置;关于应用编排,Swarm最小调度单元是服务,当容器被封装在一个服务中时,我们称之为一个任务或者一个副本,服务中增加诸如扩缩容、滚动升级及简单回滚等特性。如下图所示(图自《深入浅出Docker》):