swarm模式入门

本教程向您介绍Docker Engine Swarm模式的功能。 在开始之前,您可能需要熟悉关键概念。

本教程将指导您完成以下活动:

  • 以群体模式初始化Docker引擎集群
  • 向集群添加节点
  • 将应用程序服务部署到集群
  • 一旦一切正常运行,就管理群

本教程使用在终端窗口的命令行中输入的Docker Engine CLI命令。

如果您是Docker的新手,请参阅关于Docker Engine。

设置

要运行本教程,您需要以下内容:

  • 安装了Docker的三台Linux主机可以通过网络进行通信
  • 安装了Docker Engine 1.12或更高版本
  • 管理器机器的IP地址
  • 主机之间的开放端口 

三个联网主机

本教程需要安装Docker的三台Linux主机,这些主机可以通过网络进行通信。这些可以是物理机,虚拟机,Amazon EC2实例,也可以以其他方式托管。您甚至可以从Linux,Mac或Windows主机使用Docker Machine。请查看 Swarm入门为主机设置一种可能的设置。

其中一台机器是管理员(称为manager1),其中两台机器是工作者(worker1worker2)。

注意:您也可以按照许多教程步骤来测试单节点群,在这种情况下,您只需要一个主机。多节点命令不起作用,但是您可以初始化群集,创建服务并扩展它们。

Docker Engine 1.12 或更高版本

本教程在每台主机上都需要Docker Engine 1.12或更高版本。安装Docker Engine并验证Docker Engine守护程序是否在每台机器上运行。您可以按以下方式获取最新版本的Docker Engine:

  • 在Linux机器上安装Docker Engine

  • 使用适用于Mac的Docker Desktop或适用于Windows的Docker Desktop

在LINUX机器上安装DOCKER ENGINE

如果您使用基于Linux的物理计算机或云提供的计算机作为主机,则只需按照 您平台的Linux安装说明进行操作。同样配置三台机器,您就可以准备就绪。您可以在Linux机器上测试单节点和多节点群集方案。

使用适用于MAC的DOCKER DESKTOP或适用于WINDOWS的DOCKER DESKTOP

或者,在一台计算机上安装适用于Mac的最新Docker Desktop或 适用于Windows的Docker Desktop。您可以从这台计算机上测试单节点和多节点群,但是您需要使用Docker Machine测试多节点方案。

  • 您可以使用适用于Mac或Windows的Docker桌面来测试Swarm模式的单节点功能,包括使用单个节点初始化集群,创建服务以及扩展服务。Hyperkit(Mac)或Hyper-V(Windows)上的Docker“ Moby”充当单个群集节点。
  • 当前,您不能单独使用Mac的Docker Desktop或Windows的Docker Desktop来测试 多节点群集。但是,您可以使用随附的Docker Machine版本 创建swarm节点(请参阅 Docker Machine和本地VM入门),然后按照教程了解所有多节点功能。对于这种情况,您可以从适用于Mac的Docker桌面或适用于Windows的Docker桌面运行命令,但该Docker主机本身 并未参与该集群。创建节点后,可以运行Mac或Windows的Docker Desktop并运行Mac终端或Windows PowerShell中显示的所有swarm命令。

管理器机器的IP地址

必须将IP地址分配给主机操作系统可用的网络接口。群中的所有节点都需要通过IP地址连接到管理器。

因为其他节点通过其IP地址与管理器节点联系,所以您应该使用固定的IP地址。

您可以ifconfig在Linux或macOS上运行以查看可用网络接口的列表。

如果您使用的是Docker Machine,则可以使用docker-machine lsdocker-machine ip (例如) 获得管理器IP docker-machine ip manager1

本教程使用manager1192.168.99.100

 

开放主机之间的协议和端口

以下端口必须可用。在某些系统上,这些端口默认情况下处于打开状态。

  • 用于群集管理通信的TCP端口2377
  • TCPUDP端口7946,用于节点之间的通信
  • UDP端口4789,用于覆盖网络流量

如果计划使用加密(--opt encrypted)创建覆盖网络,则还需要确保允许ip协议50ESP)流量。

下一步是什么?

设置环境之后,就可以创建一个集群了。

教程,集群管理,群模式

你可能感兴趣的:(Docker,docker,swarm)