[Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具

一.Docker Swarm集群raft算法讲解

Raft :一致性算法,在保证大多数管理节点存活的情况下,集群才能使用, 所以就要求如果集群的话, manager 节点必须 >=3 ,如果是两个台,其中一台宕机,剩余的一台也将不可用,以致整个集群不可用
Manager : 管理节点,用于管理工作节点,为了利用 swarm 模式的容错特性, Docker 建议根据组织的高可用性要求实现 奇数个节点, 当有多个管理器时,可以从管理器节点的故障中恢复而无需停机
  • 一个有三台管理器集群最多可以容忍一台管理器的宕机
  • 一个有五台管理器集群最多可以同时丢失两个管理器节点宕机
  • 一个有N台管理器集群最多可以容忍丢失 (N-1)/2管理器宕机
  • Docker 建议一个 swarm 最多使用七个管理器节点

 

可以在前面章节的基础上,再次创建2台服务器,作为manager,这样就有3台机器作为mananger了,分别为:192.168.31.81,192.168.31.82,192.168.31.83, 在192.168.31.81机器上创建一个集群,命令: 

docker swarm init --advertise-addr 192.168.31.81

然后执行命令: docker swarm join-token manager,获取增加manager管理节点的命令,如下:

[root@manager_81 conf.d]# docker swarm join-token managerTo add a manager to this swarm, run the following command:docker swarm join --token SWMTKN-1-5hts6hqq9ooww75omdfdd2v4tx9vpy20cpjcoc4ieetdys4tc3-8zth4t1az8rbg4yaj1quantoo 192.168.31.81:2377

把上面命令分别在192.168.31.82,192.168.31.83上执行,这样这三台机器就是集群的manager了,其中一台为Leader,可以通过命令docker node ls查看集群状态,然后可以对这几台manager就行操作

二.Docker Swarm Web管理工具

当Docker部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要,Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能,常用工具如下:

  • docker UIlocal
  • portainer
  • daocloud

1.使用portainer可视化管理工具

使用portainer不仅可以管理docker swarm,还可以管理k8s,官网:https://www.portainer.io/  

(1).安装portainer

需要在manager节点docker pull portainer/portainer,这里以192.168.31.81这个manager节点为例 

[root@manager_81 conf.d]# docker pull portainer/portainer
docker: 'pull portainer/portainer' is not a docker command.
See 'docker --help'
[root@manager_81 conf.d]# docker pull portainer/portainer
docker: 'pull portainer/portainer' is not a docker command.
See 'docker --help'
[root@manager_81 conf.d]# 
[root@manager_81 conf.d]# 
[root@manager_81 conf.d]# docker pull portainer/portainer
Using default tag: latestlatest: Pulling from portainer/portainer
772227786281: Pull complete 
96fd13befc87: Pull complete 
0bad1d247b5b: Pull complete 
b5d1b01b1d39: Pull complete 
Digest: sha256:47b064434edf437badf7337e516e07f64477485c8ecc663ddabbe824b20c672d
Status: Downloaded newer image for portainer/portainer:latest
docker.io/portainer/portainer:latest
[root@manager_81 conf.d]# [root@manager_81 conf.d]# docker images
REPOSITORY            TAG       IMAGE ID       CREATED         SIZE
gowebimg              v1.0.1    be3c1ee42ce2   2 days ago      237MB
mycentos              v1        4ba38cf3943b   3 days ago      434MB
nginx                 latest    a6bd71f48f68   3 days ago      187MB
mysql                 latest    a3b6608898d6   4 weeks ago     596MB
portainer/portainer   latest    5f11582196a4   12 months ago   287MB
[root@manager_81 conf.d]# 

(2).然后再使用如下命令运行Portainer容器

portainer其实就是一个web网站,只不过把它制作成为了一个容器而已

docker run -p 9000:9000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer
[root@manager_81 ~]# docker run -p 9000:9000 --name portainer \
> --restart=always \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v /mydata/portainer/data:/data \
> -d portainer/portainer
be27e0d46d28fff3fc04f5fff3a57381ca5682e05397fcdb21c86237e245f4b7
[root@manager_81 ~]# 
[root@manager_81 ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                           NAMES
be27e0d46d28   portainer/portainer   "/portainer"             30 seconds ago   Up 20 seconds   8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer

(3).外部访问Portainer容器

访问192.168.31.81:9000

 

 

 

 

 

 

2.汉化portainer

官网地址:https://hub.docker.com/r/6053537/portainer-ce 

(1).下载

[root@manager_81 ~]# docker pull 6053537/portainer-ce
Using default tag: latest
latest: Pulling from 6053537/portainer-ce
795a208431d7: Pull complete 
...
b8d846b08218: Pull complete 
Digest: sha256:059e3de691409f22b1cdcc8ef36e2c12cd45f305652a7a163efe465d10af9473
Status: Downloaded newer image for 6053537/portainer-ce:latest
docker.io/6053537/portainer-ce:latest
[root@manager_81 ~]# 
[root@manager_81 ~]# 
[root@manager_81 ~]# 
[root@manager_81 ~]# 
[root@manager_81 ~]# docker images
REPOSITORY             TAG       IMAGE ID       CREATED         SIZE
gowebimg               v1.0.1    be3c1ee42ce2   2 days ago      237MB
mycentos               v1        4ba38cf3943b   3 days ago      434MB
nginx                  latest    a6bd71f48f68   3 days ago      187MB
6053537/portainer-ce   latest    b9c565f94ccc   4 weeks ago     322MB
mysql                  latest    a3b6608898d6   4 weeks ago     596MB
portainer/portainer    latest    5f11582196a4   12 months ago   287MB
[root@manager_81 ~]# 

(2).启动容器

在启动之前,先停止portainer

docker run -p 9000:9000 --name portainer-ce \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d 6053537/portainer-ce
[root@manager_81 ~]# docker run -p 9000:9000 --name portainer-ce \
> --restart=always \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v /mydata/portainer/data:/data \
> -d 6053537/portainer-ce
29d46940629a1ef0d385718d1b8ebcacdc39e72e718d84f5fb2c8a091afa35c4[root@manager_81 ~]# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS          PORTS                                                           NAMES
29d46940629a   6053537/portainer-ce   "/portainer"             7 seconds ago   Up 3 seconds    8000/tcp, 9443/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer-ce

(3).访问

该portainer工具可以帮助我们查看集群信息,容器信息,服务信息,以及一些简单的操作,比较直观, 如果要操作集群的话,还是推荐使用命令行工具

[上一节][Docker]十.Docker Swarm讲解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/169776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彩纸屋在线少儿编程源码/scratch在线编程系统/培训管理系统源码/在线培训系统源码PHP

源码简介: 彩纸屋在线少儿编程源码,它是scratch在线编程系统,作为培训管理系统源码/在线培训系统源码,采用PHP源码。 彩纸屋是全国首家提供scratch开源定制和少儿编程培训管理系统源代码的服务商,彩纸屋提供的scratc…

一条Update语句的执行过程是怎样的?

先看第一个问题,这里做个简单描述 ,因为我们着重还是看Update MySQL执行一条Select语句是怎么运行的? 这个问题大家在面试的时候大家都背过类似的题,而且网上也有很多答案,这里分享一个大致流程介绍,关于…

工业级 S25HS01GTDPBHV030 NOR闪存,L9305EP汽车级驱动器IC,LMK03318RHSR时钟发生器,PLL(中文资料)

一、工业级 S25HS01GTDPBHV030 Semper™ NOR闪存 S25HS01GT SEMPER™ NOR Flash闪存系列是英飞凌高性能、安全而可靠的 NOR Flash解决方案。 它集成了适用于汽车、工业、通信等广泛应用的关键安全功能。 凭借 SEMPER™ NOR Flash闪存,英飞凌推出了业界首款符合 ASI…

多线程04 线程安全问题以及一些简单的解决策略

前言 首先我们引入多线程是为了解决多次创建进程和销毁进程带来的巨大开销,线程可以共享内存和硬盘资源等等,这里我们就会想,他们共享这些东西会不会涉及到一些安全问题呢?他们没有独立分配自己的资源是一定会有安全问题的,但是就目前在这个快节奏的社会来说,效率的提升是必然…

Python编程之魂之运算符的优先级教程

文章目录 前言优先级概述相同优先级结合性运算符优先级一览表运算符优先级重点说明结语关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资…

深度学习基于Python+TensorFlow+Django的水果识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介技术组合系统功能使用流程 二、功能三、系统四. 总结 一项目简介 # 深度学习基于PythonTensorFlowDjango的水果识别系统介绍 简介 该水果识别系统基于…

PaddleOCR学习笔记

Paddle 功能特性 PP-OCR系列模型列表 https://github.com/PaddlePaddle/PaddleOCR#%EF%B8%8F-pp-ocr%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8%E6%9B%B4%E6%96%B0%E4%B8%AD PP-OCR系列模型列表(V4,2023年8月1日更新) 配置文…

【论文解读】Edit-DiffNeRF:使用2D-扩散模型编辑3D-NeRF

来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2306.09551 摘要 最近的研究表明,将预训练的扩散模型与神经辐射场(NeRF)相结合,是一种很有前途的文本到 3D 的生成…

使用bard分析视频内容

11月21日的bard update 更新了分析视频的功能,使用方法如下: 1、打开bard网站。https://bard.google.com/ 2、点击插件。 3、点击YouTube中的 research a topic 选项。 4、输入需要分析的内容: Please analyze how many technologies are in…

企业计算机中了locked勒索病毒怎么解锁,locked勒索病毒解密,数据恢复

科技的进步为企业的生产生活提供了极大便利,但随之而来的网络安全威胁也不断增加,近期云天数据恢复中心陆续接到很多企业的求助,企业的计算机服务器遭到了locked勒索病毒攻击,导致企业的所有业务无法正常开展,所有计算…

接口测试场景:怎么实现登录之后,需要进行昵称修改?

在接口测试中有一个这样的场景:登录之后,需要进行昵称修改,怎么实现? 首先我们分别看下登录、昵称修改的接口说明: 以上业务中补充一点,昵称修改,还需要添加请求头Authorization传登录获取的to…

LeetCode Hot100 114.二叉树展开为链表

题目: 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

【docker】docker的基础命令

基础操作 docker info #查看docker的基本信息docker version #查看docker版本信息一、镜像操作 1、搜索镜像 docker search nginx2、下载镜像 docker pull nginx#从仓库中下载镜像,若没有指定标签,则下载最新的版本,也就是标签为: lat…

【C++初阶】STL详解(六)Stack与Queue的介绍与使用

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

C/C++ 通过SQLiteSDK增删改查

SQLite,作为一款嵌入式关系型数据库管理系统,一直以其轻量级、零配置以及跨平台等特性而备受青睐。不同于传统的数据库系统,SQLite是一个库,直接与应用程序一同编译和链接,无需单独的数据库服务器进程,实现…

力扣114. 二叉树展开为链表(java,用树模拟链表)

Problem: 114. 二叉树展开为链表 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 1.展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左…

leetcode刷题详解二

160. 相交链表 本质上是走过自己的路,再走过对方的路,这是求两个链表相交的方法 ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {//本质上是走过自己的路,再走过对方的路if(headA NULL|| headB NULL){return NULL;}Lis…

el-uploader同一文件无法上传问题

在上传成功和失败的回调方法中,吊用一下clearFiles方法。 this.$refs.upload.clearFiles();

7、独立按键控制LED状态

按键的抖动 对于机械开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个开关在闭合时不回马上稳定地接通&#xff0c;在断开时也不会一下子断开&#xff0c;所以在开关闭合及断开的瞬间会伴随一连串的抖动 #include <REGX52.H…

我叫:希尔排序【JAVA】

1.我兄弟存在的问题 2.毛遂自荐 希尔排序提希尔(Donald Shell)于1959年提出的一种排序算法。 希尔排序&#xff0c;也称递减增量排序算法&#xff0c;是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的&…