Docker Swarm简介

Swarm 是 Docker 官方提供的一款集群管理工具,其主要作用是把若干台 Docker 主机抽象为一个整体,并且通过一个入口统一管理这些 Docker 主机上的各种 Docker 资源。

Swarm 和 Kubernetes 比较类似,但是更加轻,具有的功能也较 kubernetes 更少一些。

Docker Swarm 包含两方面:一个企业级的 Docker 安全集群,以及一个微服务应用编排引擎。

集群方面,Swarm 将一个或多个 Docker 节点组织起来,使得用户能够以集群方式管理它们。

Swarm 默认内置有加密的分布式集群存储(encrypted distributed cluster store)、加密网络(Encrypted Network)、公用TLS(Mutual TLS)、安全集群接入令牌 Secure Cluster Join Token)以及一套简化数字证书管理的 PKI(Public Key Infrastructure)。我们可以自如地添加或删除节点。

编排方面,Swarm 提供了一套丰富的 API 使得部署和管理复杂的微服务应用变得易如反掌。通过将应用定义在声明式配置文件中,就可以使用原生的 Docker 命令完成部署。

此外,甚至还可以执行滚动升级、回滚以及扩缩容操作,同样基于简单的命令即可完成。

以往,Docker Swarm 是一个基于 Docker 引擎之上的独立产品。自 Docker 1.12 版本之后,它已经完全集成在 Docker 引擎中,执行一条命令即可启用。到 2018 年,除了原生 Swarm 应用,它还可以部署和管理 Kubernetes 应用。

Docker Swarm 初步介绍

从集群角度来说,一个 Swarm 由一个或多个 Docker 节点组成。这些节点可以是物理服务器、虚拟机、树莓派(Raspberry Pi)或云实例。唯一的前提就是要求所有节点通过可靠的网络相连。

节点会被配置为管理节点(Manager)或工作节点(Worker)。管理节点负责集群控制面(Control Plane),进行诸如监控集群状态、分发任务至工作节点等操作。工作节点接收来自管理节点的任务并执行。

Swarm 的配置和状态信息保存在一套位于所有管理节点上的分布式 etcd 数据库中。该数据库运行于内存中,并保持数据的最新状态。关于该数据库最棒的是,它几乎不需要任何配置,作为 Swarm 的一部分被安装,无须管理。

关于集群管理,最大的挑战在于保证其安全性。搭建 Swarm 集群时将不可避免地使用 TLS,因为它被 Swarm 紧密集成。

在安全意识日盛的今天,这样的工具值得大力推广。Swarm 使用 TLS 进行通信加密、节点认证和角色授权。自动密钥轮换(Automatic Key Rotation)更是锦上添花!其在后台默默进行,用户甚至感知不到这一功能的存在。

关于应用编排,Swarm 中的最小调度单元是服务。它是随 Swarm 引入的,在 API 中是一个新的对象元素,它基于容器封装了一些高级特性,是一个更高层次的概念。当容器被封装在一个服务中时,我们称之为一个任务或一个副本,服务中增加了诸如扩缩容、滚动升级以及简单回滚等特性。

综上所述,从概括性的视角来看 Swarm,如下图所示。

原文地址:https://www.cnblogs.com/liujunjun/p/12115982.html

时间: 2024-11-01 17:08:46

Docker Swarm简介的相关文章

linux docker swarm集群安装

1. docker swarm 简介 Docker Swarm是Docker自己的Docker容器本地集群解决方案,具有与Docker生态系统紧密集成并使用自己的API的优势.它监视跨服务器群集的容器数量,是在没有其他硬件的情况下创建群集docker应用程序的最便捷方式.它为Dockerized应用程序提供了一个小规模但有用的编排系统. 使用Docker Swarm的优点 与docker集成的集群管理工具 去中心化设计,只使用docker引擎即可创建各类节点 声明式服务模型.可以声明的方式来定义

部署Docker swarm集群(一)

一.Docker swarm简介 Docker swarm与docker-compose一样,都是docker官方推出的docker容器的编排工具.但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合. Docker swarm:其作用就是把若干个Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各

Docker swarm搭建(1)

Docker swarm docker swarm集群:三剑客之一 一. Docker Swarm 的基本概念和原理 Docker Swarm 简介 Swarm是Docker公司推出的用来管理docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机.Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Swarm通信.Swarm几乎全部

Docker Swarm Mode简介与核心概念

什么是Docker Swarm Docker Swarm是Docker官方的一种容器编排方案,用于管理跨主机的Docker容器,可以快速对指定服务进行水平扩展.部署.删除 一个Docker Swarm集群通常由多个安装有Docker且运行在Docker Swarm Mode的主机组成,角色包含Managers(管理者).Workers(执行节点),一个节点可以兼拥有这两个角色或之一 在Docker 1.12以前,Docker Swarm作为一个独立的集群容器编排软件(Swarmkit)形式存在,

Docker Swarm群集

Docker Swarm 是什么? Docker Swarm是一个用于创建Docker主机(运行Docker守护进程的服务器)集群的工具,使用Swarm操作集群,会使用户感觉就像是在一台主机上进行操作 docker1.12集成了swarmkit, 使你可以不用安装额外的软件包, 使用简单的命令启动创建docker swarm集群. 如果你在运行 Docker 1.12时,你就可以原生创建一个 Swarm 集群 . 集成了swarm集群的安全特性, 集成了K-V存储, 你现在不需要额外部署etcd

为Docker Swarm添加调度策略

Swarm简介 Swarm是Docker的一个集群管理工具,最开始仅仅是用作集群管理以及简单的调度,就像下面的图所示的,为Docker Client提供与Docker Engine一样的Docker API,客户端操作Swarm就好像在操作一台机器,实际上后面连了好多Docker Engine,容器都跑在后面的Docker Engine上.Swarm负责将客户端的请求分配到后端的Docker Engine,比如客户端要求启动一个容器,Swarm找一个目前资源使用最少的Docker Engine.

Docker Swarm群集项目案例

DockerSwarm群集 DockerSwarm 是一个用于创建 Docker 主机(运行 Docker 守护进程的服务器)集群的工具, 使用 Swarm 操作集群,会使用户感觉就像是在一台主机上进行操作 docker1.12 集成了 swarmkit, 使你可以不用安装额外的软件包, 使用简单的命令启动创建 docker swarm 集群. 如果你在运行 Docker 1.12 时,你就可以原生创建一个 Swarm 集群 . 集成了 swarm 集群的安全特性, 集成了K-V 存储, 你现在

Docker Swarm集群实践——部署篇

最新消息 Docker在上周的DockerCon技术大会上发布了1.12版核心产品Docker Engine,最大的新特性是Docker Swarm已经被整合到了Docker Engine里面而不再是一个单独的工具了,这样就可以更容易的把多个Docker主机组合成一整个规模更大可靠性更高的逻辑单元.Docker的掌舵者 Adrian Mouat相信这种新的集群模式可以大大增强Docker在相关领域的竞争力. 把Docker Swarm整合进Docker Engine是一个重大改进,但它也只是一个

Docker实践(六):Docker Swarm

环境说明: 主机名 操作系统版本 IP地址 docker版本 说明 manager Ubuntu 16.04.5 172.27.9.71 18.09.2 manager管理主机 work01 Ubuntu 16.04.5 172.27.9.75 18.09.2 worker主机01 work02 Ubuntu 16.04.5 172.27.9.76 18.09.2 worker主机02 本文所有测试都在Vmware虚拟机(版本为12.5.2)上完成ubuntu安装详见:Ubuntu16.04.5