【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

这篇具有很好参考价值的文章主要介绍了【云原生 | 55】Docker三剑客之Docker Swarm简介和安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🍁博主简介
        🏅云计算领域优质创作者
        🏅2022年CSDN新星计划python赛道第一名

        🏅2022年CSDN原力计划优质作者
        🏅阿里云ACE认证高级工程师
        🏅阿里云开发者社区专家博主

💊交流社区:CSDN云计算交流社区欢迎您的加入!

目录

1、简介 

2、安装Swarm

2.1、下载镜像 

2.2、配置节点 

2.3、启动集群 

 👑👑👑结束语👑👑👑​


Docker Swarm是Docker官方的三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用 它,用户可以将多个Docker主机封装为单个大型的虚拟Docker主机,快速打造一套容器云平台。

1、简介 

Docker Swarm是Docker公司推出的官方容器集群平台,基于Go语言实现,代码开源在 https://github.com/docker/swarm 。目前,包括Rackspace在内的许多平台都采用了Swarm,用户也很容易在AWS等公有云平台使用Swarm。

【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

Swarm的前身是Beam项目和libswarm项目,首个正式版本(Swarm V1)在2014年12月初发布。为了提高可扩展性,2016年2月对架构进行重新设计,推出了V2版本,支持超过1千个节点。最新的Docker Engine已经集成了Swarm Kit,加强了对Swarm的协作支持。
作为容器集群管理器,Swarm最大的优势之一就是100%支持标准的Docker API。各种基于标准API的工具,如Compose、docker-py,各种管理软件,甚至Docker本身等都可以很容易地与Swarm进行集成。这大大方便了用户将原先基于单节点的系统移植到Swarm上。同时Swarm内置了对Docker网络插件的支持,用户可以很容易地部署跨主机的容器集群服务。

Swarm V1的结构图如下图所示。可以看出,Swarm是典型的master-slave结构,通过发现服务来选举manager。manager是中心管理节点,各个node上运行agent接受manager的统一管理。

【云原生 | 55】Docker三剑客之Docker Swarm简介和安装

在V2中,集群会自动通过Raft协议分布式选举出manager节点,无需额外的发现服务支持,避免了单点瓶颈。同时,V2中内置了基于DNS的负载均衡和对外部负载均衡机制的集成支持。 

2、安装Swarm

安装Swarm有几种方式,可以基于Docker Machine进行安装,也可以手动配置。为了能更容易理解Swarm的组件和更灵活地进行管理,推荐使用手动配置方式。

对于Docker 1.12+版本,Swarm相关命令已经原生嵌入到了Docker Engine中,对于较低版本的Docker,需要额外进行配置

2.1、下载镜像 

Docker官方已经提供了Swarm镜像,需要在所有被Swarm管理的Docker主机上下载该镜像:
$ docker pull swarm

可以使用下面的命令来查看Swarm版本,验证是否成功下载Swarm镜像

$ docker run --rm swarm -v
swarm version 1.2.2 (34e3da3)

2.2、配置节点 

Docker主机在加入Swarm集群前,需要进行一些简单配置,添加Docker daemon的网络监听。例如,在启动Docker daemon的时候通过-H参数:
$ sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

注意:

Docker 1.8.0前的版本不支持daemon命令,可以用-d代替。如果是通过服务方式启动,则需要修改服务的配置文件。
以Ubuntu 14.04为例,配置文件为/etc/default/docker(其他版本的Linux上略有不同)。在文件的最后添加:
DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

2.3、启动集群 

Docker集群管理需要使用服务发现(Service Discover)功能,Swarm支持以下几种方式:Docker Hub、本地文件、Etcd、Consul、Zookeeper和手动指定节点IP地址信息等。
除了手动指定外,这些方法原理上都是通过维护一套数据库机制来管理集群中注册节点的Docker Daemon的访问信息。
本地配置集群推荐使用Consul作为服务发现后端。利用社区提供的Docker镜像,整个过程只需要三步即可完成

启动Consul服务后端 

启动Consul服务容器,映射到主机的8500端口:

$ docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap

获取到本地主机的地址作为consul的服务地址:<consul_ip>:8500。

启动管理节点 

首先启动一个主管理节点,映射到主机的4000端口,并获取所在主机地址为<manager0_ip>。其中4000端口是Swarm管理器的默认监听端口,用户也可以指定映射为其他端口:
$ docker run -d -p 4000:4000 swarm manage -H :4000 --replication --advertise
<manager0_ip>:4000 consul://<cons
为了提高可用性,也可以启动从管理节点。假定获取所在主机地址为:
$ docker run -d swarm manage -H :4000 --replication --advertise <manager1_ip>:
4000 consul://<consul_ip>:8500

启动工作节点 文章来源地址https://www.toymoban.com/news/detail-507082.html

需要在每个工作节点上启动agent服务。获取节点的主机地址为<node_ip>,并指定前面获取到的consul服务地址:
$ docker run -d swarm join --advertise=<node_ip>:2375 consul://<consul_ip>:8500
节点启动后,用户可以指定Docker服务地址为<manager0_ip>:4000>来测试各种Docker命令,可以看到整个Swarm集群就像一个虚拟的Docker主机一样正常工作。
由于Swarm实际上是通过agent调用了本地的Docker daemon来运行容 器,当Swarm集群服务出现故障时,无法接受新的请求,但已经运行起来的容器将不会受到影响。

 👑👑👑结束语👑👑👑

到了这里,关于【云原生 | 55】Docker三剑客之Docker Swarm简介和安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux的三剑客

    1、grep命令 grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。它是Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 shell脚本中也经常使用grep,因为grep通过返回一个状态值来说明搜索的结果

    2024年02月07日
    浏览(54)
  • Linux 三剑客

            grep主打的就是查找功能 ,它能够在一个或者多个文件中搜索某一特定的字符模式。         grep [选项] 模式 文件名 先说选项: 1.选项         要么是正则要么是字符串 -c       列出共出现多少次 -i        忽略大小写 -n       在前面列出行号 -v       列出没

    2024年02月11日
    浏览(42)
  • linux文本三剑客

    过滤/查找 参数 用法 作用 -i grep -i STRING xxx.txt 从xxx.txt文件查找不区分大小写STRING -w grep -w STRING xxx.txt 精确匹配STRING -e grep -e STRING1 -e STRING2 xxx.txt 查找多个STRING行 -n grep -n STRING xxx.txt 查看STRING 在第几行 -v grep -v STRING xxx.txt 输出不包含STRING的行 -r grep -r STRING DIR/ 查找DIR目录下哪

    2024年02月11日
    浏览(41)
  • linux文本三剑客详解

    awk、grep、sed是linux操作文本的三大利器,合称文本三剑客。 特点: grep——单纯的查找或匹配文本。 sed——编辑匹配到的文本。 awk——格式化文本,对文本进行较复杂格式处理。 首先了解一下正则表达式: 匹配字符  配置次数  位置锚定:定位出现的位置   实例介绍:

    2024年04月16日
    浏览(43)
  • 文本三剑客之 awk

    Linux/UNIX 系统中,awk 是一个功能强大的编辑工具。逐行读取输入文本 以空格作为分割符,多个空格他会自动压缩成一个空格 AWK信息的读入也是逐行指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理. 1按照命令找指定的行  2.找到的行 打印,操作 awk

    2024年02月08日
    浏览(40)
  • 网页三剑客之 HTML

    本章开始我们来介绍一下网页前端部分,我们只是简单的介绍一些常用的各种标签,其目的在于为我们后面的项目做准备。 我们并不要求能完全掌握前端的语法,但是在见到以后能够认识这些代码就可以了。 想走后端开发的,前端不需要多么熟悉,毕竟在各个企业中前后端

    2024年02月02日
    浏览(36)
  • 『 前端三剑客 』:CSS选择器

    上一篇文章我们介绍了 html 的常用标签及用法 , 这次我们来介绍 css 来对页面进行美化处理 css 全称 : 层叠样式表 (Cascading Style Sheets). 主要作用 : 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面 的效果. 能够做到 页面的样式和结构分离 . 一 . 基本语法 基本语

    2024年02月09日
    浏览(39)
  • Linux文本三剑客---awk

    Linux文本三剑客之一(grep,sed,awk),功能最强大的文本工具。 逐行读取输入的文本内容,默认以空格和tab键作为分隔符。但是多个空格或者tab键的空格,会自动压缩成一个,然后按照指定的模式和条件执行编辑命令 可以在免交互的情况下,实现复杂的文本操作。完成自动化配

    2024年02月07日
    浏览(45)
  • 『 前端三剑客 』:CSS常用属性

    一 . CSS常用元素属性 1.1 字体家族和 字体大小 设置的字体需要是 windows 上自带的字体 , 要求是系统中已经安装了的字体 使用 css 设置字体为微软雅黑 和 宋体 , 字体大小为 30 px 和 40 px font - size 设置的是字体的字符框的高度的大小 . 设置效果如下所示 1.2 设置字体粗细 font-we

    2024年02月15日
    浏览(46)
  • 前端三剑客 —— CSS (第三节)

    目录 上节回顾: 1.CSS使用有以下几种样式; 2.选择器         1.基本选择器         2.包含选择器         3.属性选择器 []         4.伪类选择器 :         5.伪元素选择器 ::before :after 3.常见样式的使用 常见样式参考表 一些特殊样式 媒体查询 自定义字体 变

    2024年04月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包