栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker从入门到实践-docker swarm

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker从入门到实践-docker swarm

一.架构演进 1 不使用集群

那我们打出了镜像包,并且能启动起来了。

简单的做法,我们通过nginx负载均衡到我们启动的节点即可。

但是这样很不方便,每加减节点,都需要修改nginx,reload你的配置。

这个过程非常危险,并且不是自动扩容的。

2使用集群

我们预想的流程

我们想要的结果,是一组同样的服务,对外暴露同一个ip或者几个固定ip,这组服务的节点增加并不影响对nginx暴露的ip,并且内部有一定的负载均衡策略。当然这种简单的操作,docker官方的docker swarm和谷歌的Kubernetes都已经实现了,也是他们最基本和核心的功能,集群调度的功能,它们还有很多其他的功能,本文不展开介绍。

更细架构

我们以docker swarm为例子下边介绍一下dokcer集群主机是怎么来协调工作的。

二.docker swarm 介绍

Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。

swarm mananger:负责整个集群的管理工作包括集群配置、服务管理等所有跟集群有关的工作。

work node:即图中的 available node,主要负责运行相应的服务来执行任务(task)。

构成如图下的结构

一些具体的命令:Swarm 集群管理 | 菜鸟教程

实践的步骤:第八节:基于docker swarm进行集群管理和基于service/stack进行容器服务管理 - Yaopengfei - 博客园

几个概念

1)Swarm

集群的管理和编排是使用嵌入到 docker 引擎的 SwarmKit,可以在 docker 初始化时启动 swarm 模式或者加入已存在的 swarm

2)Node

一个节点(node)是已加入到 swarm 的 Docker 引擎的实例 当部署应用到集群,你将会提交服务定义到管理节点,接着 Manager

管理节点调度任务到 worker 节点,manager 节点还执行维护集群的状态的编排和群集管理功能,worker 节点接收并执行来自

manager 节点的任务。通常,manager 节点也可以是 worker 节点,worker 节点会报告当前状态给 manager 节点

3)服务(Service)

服务是要在 worker 节点上要执行任务的定义,它在工作者节点上执行,当你创建服务的时,你需要指定容器镜像

4)任务(Task)

常用命令

任务是在 docekr 容器中执行的命令,Manager 节点根据指定数量的任务副本分配任务给 worker 节点

docker swarm:集群管理,子命令有 init, join, leave, update。(docker swarm –help 查看帮助)

docker service:服务创建,子命令有 create, inspect, update, remove, tasks。(docker service–help 查看帮助)

docker node:节点管理,子命令有 accept, promote, demote, inspect, update, tasks, ls, rm。(docker node –help 查看帮助)

集群构建过程

三.docker swarm原理

Docker 使用了 Linux 内核 iptables 和 IPVS 的功能来实现服务发现和负载均衡。

  • iptables 是 Linux 内核中可用的包过滤技术,它可用于根据数据包的内容进行分类、修改和转发决策。

  • IPVS 是 Linux 内核中可用的传输级负载均衡器。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974534.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号