Docker Swarm
1.简介
Docker Swarm包含2个核心组件:安全集群/编排引擎
企业级安全集群 | 编排引擎 | |
---|---|---|
使用 | 1.1/多个docker节点连接,用户以集群方式管理 | 1.将应用定义在声明式配置文件中使用原生docker命令完成微服务应用部署等操作 |
内置 | 2.内置分布式集群存储/加密网络/公用TLS/接入令牌/数字证书管理PKI | 2.提供一套丰富的API部署和管理 |
单位 | 节点(管理节点/工作节点) | 服务(在API中是一个对象元素,基于容器封装了高级特性),当容器封装在服务中时被称为一个任务/副本 |
此外,docker swarm已经从基于引擎之上的独立产品转变成集成于docker引擎中的产品
2.详解
实例地址:
2.1 Docker Swarm初步介绍
-
组成:一个Swarm可以由1个或多个节点组成,这些节点可以是虚拟机/物理服务器/树莓派/云实例
-
依赖:节点之间需要有可靠网络保证其运行
Swarm架构中最主要的处理部分是Swarm节点,Swarm管理的对象是Docker Cluster,Docker Cluster由多个Docker Node组成,负责给Swarm发送请求的是Docker Client
2.2 Swarm 集群搭建
0. 搭建前提
需要在路由器和防火墙中开放以下端口
- 2377/tcp:用于客户端于Swarm进行安全通信
- 7946/tcp与7946/udp:用于控制面gossip分发
- 4789/udp:用于基于VXLAN的覆盖网络
1. 初始化管理节点
单引擎模式节点:不包含在任何Swarm中的docker节点
Swarm模式:已经加入集群的docker节点
-
切换命令:docker swarm init:将单引擎模式节点切换为swarm模式,创建新的Swarm,将自身设置为第一个管理节点
-
切换实例
docker swarm init \ --advertise-addr 10.0.0.1:2377 \ --listen-addr 10.0.0.1:2377
–advertise-addr:指定其他节点用来连接当前管理节点的IP和端口
–listen-addr