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集群如何