docker-集群

什么是docker集群

​ 图

为什么要使用docker集群

​ 图

如何实现docker集群

​ 方式有两种:

​ 1、swarm

​ 2、k8s

​ 但是我们今天只会讲解swarm,后面我们把swarm的缺陷总结之后,我们就可以知道我们为什么要学习k8s了

什么是swarm呢

Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。

swarm如何管理docker节点的呢?

就是将集群的docker通过node分配角色的方式进行维护

1、node :docker主机

2、管理节点(manager)

​ 管理docker集群

​ 1、集群配置

​ 2、容器服务管理。

​ 3、负载均衡

​ 4、其他集群管理?

3、工作节点 (worker)

​ 1、提供容器服务

swarm是如何操作集群节点容器的?

在使用之前我们必须要准备一些概念,这些概念是swarm的核心,掌握了这些概念,就已经理解了swarm 50%

后面都是基于这些概念的操作

service是什么?

​ 是指不同节点容器集合,用来维护容器

task是什么?

​ 在集群环境中,用来运行容器

stack是什么?

​ 是指stack的集合,用来维护service

如何配置swarm集群

条件

1、两台docker主机

2、docker swarm

步骤

1、安装两台docker主机,使用linux或者centos7.0以上

​ 安装1.12 版本以上的docker,会在主机上默认提供支持

2、如何使用docker swarm?

​ 1、输出docker命令,会看到有一个swarm管理命令

​ docker swarm

​ 2、然后输入docker swarm 命令

​ 可以看到很多的帮助命令

​ 3、创建集群管理节点

​ docker swarm init --advertise-addr 123.57.164.54

​ 4、创建工作节点

​ docker swarm join --token SWMTKN-1-2bomg3tb4cs8f5g7oqrw34k1mql9i0tr2msn8leqyphgac5hct-db4iwy32sdr6m0bmqyhi47jyn 123.57.164.54:2377

​ 5、查看集群消息,查看工作节点和管理节点

​ docker info

swarm集群中如何部署服务(service)?

​ 条件

​ 1、rmcore镜像

​ 2、nginx镜像

​ 3、docker service

​ 步骤

​ 1、查看rmcore镜像和nginx镜像

​ 使用rmcore镜像来进行集群服务部署

​ 2、 如何使用docker service?

​ 1、输出docker命令,会看到有一个service管理命令

​ docker service

​ 2、然后输入docker service命令

​ 可以很多的帮助命令

​ 3、创建服务

​ docker service create --replicas 1 -- name rmcoreservice rmcore

​ --replicas 配置服务副本(容器在不同节点启动)

​ --name 服务名称

​ 4、列表服务

​ docker service ls

​ 5、查看服务运行在哪个节点

​ docker service ps rmcore-service

​ 6、查看服务部署详细信息

​ docker service inspect --pretty rmcoreservice

​ 7、服务扩展(向其他节点添加服务副本)

​ docker service scale rmcoreservice=2

​ 8、删除服务

​ docker service rm rmcoreservice

​ 9、服务如何进行外部访问

​ docker service create --replicas 1 -- name --publish 6066:80 rmcoreservice

​ --publish 发布端口例如 6066:80

​ 10、进行网络访问

​ 111.229.181.115:6066

​ 123.57.164.54:6066

swarm集群中如何部署服务(stack)?

条件

​ 1、rmcore镜像

​ 2、nginx镜像

​ 3、docker-compose.yml

​ 4、docker stack

1、查看rmcore镜像和nginx镜像

​ 使用rmcore镜像来进行集群服务部署

2、 如何使用docker stack?

​ 1、输出docker命令,会看到有一个service管理命令

​ docker stack

​ 2、然后输入docker stack命令

​ 有很多的帮助命令

​ 3、创建堆栈(服务集合)

​ 1、创建一个stack目录(在当前目录/root下创建一个stack)

​ mkdir stack

​ 2、配置yml文件

​ 在原有docker.compose.yml增加配置

​ version: '3.4'

​ deploy: #集群模式配置
​ mode: replicated #配置副本模式,gloab
​ replicas: 2 # 副本份数

​ 3、创建stack

​ docker stack deploy -c docker-compose.yml rmstack

​ -c 是指定docker-compose.yml文件

​ rmcorestack 指定stack 标识(名称)

​ 4、查看stack列表

​ docker stack ls

​ 5、查看stack 服务列表信息

​ docker stack ps rmstack

​ 或者 docker service ls

​ 5、删除stack

​ docker stack rm rmstack

​ 通过两个节点查看,所有的信息是否删除

​ 6、进行网路访问

​ 111.229.181.115:6066

​ 123.57.164.54:6066

swarm扩展

docker集群如何实现监控?

docker集群如何