[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,一经查实,立即删除!

相关文章

Kafka集群部署详细教程

版本说明 Ubuntu 18.04.6Zookeeper 3.5.9Kafka 2.7.0JDK8 集群配置 操作系统ip域名Zookeeper 端口Kafka 端口Ubuntu 18.04.6192.168.50.131kafka1.com21819092Ubuntu 18.04.6192.168.50.132kafka2.com21819092Ubuntu 18.04.6192.168.50.133kafka3.com21819092 安装 vim, cu…

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

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

flv视频轮播功能(单个时)

1.轮播思路 获取八个视频源的地址。 将这些地址分成两组,每组包含四个地址。 在页面中创建一个四分屏布局的视频播放器。 将第一组的四个视频地址分别插入到四分屏布局的四个视频框中。 设置一个定时器,每10秒执行一次。 每次定时器触发时&#xf…

c++日志单例实现

为了使项目的所有日志都打印到同一个日志中&#xff0c;必须使得所有类使用同一个日志&#xff0c;因此将日志类实现为单例。 .h文件 #pragma once#include<fstream>class LogHablee { private:LogHablee(std::string& dbg_dir);LogHablee(const LogHablee&) …

Postgresql BatchInsert唯一键冲突及解决

Postgresql BatchInsert唯一键冲突及解决 当有唯一键冲突时&#xff0c;批量插入可能会报错&#xff1b; insert into tableA(sno,name,age,emp) values(),(),(); 会报错 insert into tableA(sno,name,age,emp) values(),(),() on conflict on contraint tableA_unique_key do …

diff 算法

此文章可帮助读者快速了解diff算法的理论知识,参考其他文章结合自己理解 核心思想 Diff算法,至根节点到叶节点,从左到右,从上到下,依次遍历进行对比 应用场景 虚拟dom 再Vue中和React有应用到 将dom变化前和变化后的状态,而产生虚拟dom树,再path里面进行diff算法,最后操作…

腾讯云自研星星海双路服务器SA5实例AMD处理器性能测评

腾讯云服务器标准型SA5实例是最新一代的标准型实例&#xff0c;CPU采用AMD EPYC™ Bergamo全新处理器&#xff0c;采用最新DDR5内存&#xff0c;默认网络优化&#xff0c;最高内网收发能力达4500万pps。腾讯云百科txybk.com分享腾讯云标准型SA5云服务器CPU、内存、网络、性能、…

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

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

docker network容器网络通信

Docker 网络主要有以下两个作用&#xff1a; 容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接网络通信而不受到影响 只要是处于同一个Docker 网络下的容器就可以使用服务名直接访问&#xff0c;而无需担心重启。 docker容器网络模式 bridge网络模式&#…

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

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

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

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

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

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

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

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介简介技术组合系统功能使用流程 二、功能三、系统四. 总结 一项目简介 # 深度学习基于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系列模型列表&#xff08;V4&#xff0c;2023年8月1日更新&#xff09; 配置文…

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

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

因特网的典型应用所使用的TCP/IP应用层协议和相应的传输层协议

因特网应用TCP/IP应用层协议TCP/IP传输层协议域名解析DNS&#xff08;域名系统&#xff09;UDP文件传送TFTP&#xff08;简单文件传送协议&#xff09;UDP路由选择RIP&#xff08;路由信息协议&#xff09;UDP网络参数配置DHCP&#xff08;动态主机配置协议&#xff09;UDP网络…

使用bard分析视频内容

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

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

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

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

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

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

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