docker-集群

docker-集群

什么是docker集群

什么是集群

1、现实生活中集群

2、软件中集群

3、最后总结

总结:不同服务实例,来共同提供服务的一组集合就是集群

集群类型

1、先看两个集群例子:nginx集群,redis集群

2、然后总结

1、对称集群

​ 不同服务实例,功能地位相等(每一个实例提供的功能机会相同)

​ 定位:数据计算,nginx集群(不存储任何状态)
在这里插入图片描述

2、非对称集群

​ 不同服务实例,功能地位不相等(每一个实例提供功能的机会不相同)

​ 定位:数据存储,redis集群(会存储数据状态)
在这里插入图片描述

什么是docker集群

接下来,考一下大家,大家认为docker集群是个什么集群

总结

1、docker集群是非对称集群

为什么要使用docker集群

​ 从docker集群图来进行分析,docker里面运行着容器,如果docker宕机?

docker容器对外提供 访问,如果访问量越大,一台docker的并发量毕竟有限

总结:

​ 1、单点故障问题

​ 2、性能问题

所以为了解决这两个问题,就出现了docker集群

实现docker集群方式

  • swarm

  • k8s

swarm如何管理docker集群

swarm是什么,怎么理解?

swarm 就好比是地铁购票机安装员。同理swarm就是地铁购票机安装员

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

swarm内部概念

1、node节点概念

2、task概念 — 后面再引入

3、service概念 — 后面再引入

4、stack概念 — 后面再引入

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

node 就是docker的别名,就好比,我们去公司上班,每一个人都有一个工号,工号就是我们的别名,那么node就是docker的别名,但是node有两个类型,manager 和work,就是讲docker分成了两类,就好比,公司里面有老板和员工,manager就是老板,work就是员工,老板是管理的,员工是干事的。有时候人工不够的时候,老板也过来干事。

1、node :docker主机

2、管理节点(manager)

​ 管理docker集群

​ 1、集群配置

​ 2、容器服务管理。

​ 3、负载均衡

​ 4、集群管理?

3、工作节点 (worker)

​ 1、提供容器服务

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

service是什么?

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

task是什么?

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

stack是什么?

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

swarm如何创建docker集群

条件

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 你们想一下,公司除了人工还有什么,是不是还有部分经理,那么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 你们想一下,公司除了人工,是不是还有部分经理,还有什么,就是总经理,那么stack 就是总经理

​ 就好比公司的部门经理

条件

​ 1、rmcore镜像

​ 2、nginx镜像

​ 3、docker-compose.yml

​ 4、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

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

version: '3'
services:
  rmcore:
    image: rmcore
    ports:
 - 8088:80
 - 8089:443
    deploy:
        mode: 
         replicated
        replicas: 2
nginx:
    image: nginx
    ports:
 - 8090:80
    deploy:
        mode: 
         replicated
        replicas: 2	

​ 6、进行网路访问

​ 111.229.181.115:6066

​ 123.57.164.54:6066

swarm如何运行容器

使用task运行容器

swarm如何监听容器状态?

swarm不能做到

使用k8s做到

swarm如何记录容器日志?

swarm不能做到

使用k8s做到

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值