Docker--swarm
Docker Swarm是Docker的集群管理工具,可将若干台Docker主机抽象为一个整体,并通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm将一个或多个Docker节点组织起来,使用户能够以集群方式管理它们。Swarm提供了标准的Docker API,所有任何已经与Docker守护进程通信的工具都可以使用Swarm轻松地扩展到多个主机。用户可以把集群中所有Docker Engine整合进一个「虚拟Engine」的资源池,通过执行命令与单一的主Swarm进行沟通,而不必分别和每个Docker Engine沟通。在灵活的调度策略下,IT团队可以更好地管理可用的主机资源,保证应用容器的高效运行。
-
执行docker swarm init命令初始化新的Swarm,并把当前节点设置为第一个Manager。
-
使用docker swarm join-token --tags <token>节点加入集群。
-
使用docker swarm join-token -q manager|worker打印加入集群时节点对应角色所需要的token。
-
使用docker node ls列出所有节点信息。
-
使用docker node ps <id>查看某个节点下的所有服务。
-
使用docker service create创建服务。
-
使用docker service inspect <service>查看服务详细信息。
-
使用docker service ps <service>查看服务的副本(容器)信息。
-
使用docker service scale <service>=<number>进行扩缩容。
-
使用docker service update更新服务属性。
-
使用docker service logs查看服务日志。
-
使用docker service rm删除服务(在不做确认的情况下删掉服务的所有副本)。
一个swarm集群由许多节点组成。每个节点都可以是一个集群管理器或者一个工作节点。集群管理器是负责维护整个集群状态的节点,而工作节点是运行应用程序的节点。当用户创建服务时,集群管理器将决定在哪个节点上启动应用程序。Swarm集群的内部会为容器的各个节点之间负责负载均衡的管理。
在使用Docker Swarm集群时,用户可以使用Docker Machine和virtualbox进行介绍。具体操作包括:
-
创建Swarm集群管理节点(manager)。
-
创建Swarm集群工作节点(worker)。
-
查看集群信息。
-
部署服务到集群中。
-
查看服务部署情况。
-
扩展集群服务。
-
删除服务。
-
滚动升级服务。
-
停止某个节点接收新的任务。
创建swarm编排集群设置host1为管理器节点
[root@localhost ~]# docker swarm init
Swarm initialized: current node (ostq1vyb9ohc7r7fbsdehn1vn) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-6b876jo81p38l7n1vv0ah2zucklwyeibgselnm0p2pw5whinoh-asjb6h8liaqn8p9cepqz7usru 192.168.200.105:2377
将host2作为工作者加入host1的swarm集群中
[root@localhost ~]# docker swarm join --token SWMTKN-1-6b876jo81p38l7n1vv0ah2zucklwyeibgselnm0p2pw5whinoh-asjb6h8liaqn8p9cepqz7usru 192.168.200.105:2377
This node joined a swarm as a worker.