首页 > 其他分享 >使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker

使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker

时间:2023-04-14 10:46:58浏览次数:38  
标签:Mesos mesos systemctl Chronos test166 Docker Marathon

1. Mesos简介
1.1 Mesos
Apache Mesos 是一个分布式系统的管理软件,对集群的资源进行分配和管理。

 

 

Mesos主要由以下几部分组成:

Master: 管理各Slave节点

Slave: 为集群提供资源

Framework: scheduler从Master请求资源,executor在Slave上执行任务

Slave节点上的每个executor是一个容器

官方文档:
​ ​ http://mesos.apache.org/documentation/latest/architecture/​​

​ ​ http://mesos.apache.org/documentation/latest/getting-started/​​

Mesos主服务器使用Zookeeper进行服务选举和发现。它有一个注册器记录了所有运行任何和从服务器信息,使用MultiPaxos进行日志复制实现一致性。

Mesos有一个从服务器恢复机制,无论什么时候一个从服务器死机了,用户的任务还是能够继续运行,从服务器会将一些关键点信息如任务信息 状态更新持久化到本地磁盘上,重新启动时可以从磁盘上恢复运行这些任务(类似Java中的钝化和唤醒)

1.2 Marathon
Marathon 是Mesos的一个Framework,用来执行需要长时间运行的任务。如果把Mesos比喻成Kernel的话,那么Marathon就是它的守护进程Daemon。

它还具备HA,Health Checks,服务发现等功能。如果某个Docker进程崩溃,Marathon会重新启动同样的进程。

1.3 Chronos
Chronos本质上是cron-on-mesos,这是一个用来运行基于容器定时任务的Mesos框架。

1.4 ZooKeeper
ZooKeeper用于集群的管理,包括统一配置管理,选举Leader等。

2. 安装Mesos
本次测试环境的构成如下:

 

 

Mesos Master: test166

Mesos Slave:  test166,test167

Marathon:  test166

Chronos:  test166

ZooKeeper:  test166

2.1 安装准备
在所有机器上,安装Mesos源

 

# rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

 

在所有机器的/etc/hosts中,指定主机名

 

# vi /etc/hosts 10.86.255.166 test166 10.86.255.167 test167

 

2.2 安装Master
2.2.1 在Master上安装Mesos,Marathon,Chronos,ZooKeeper


# yum install mesos marathon chronos mesosphere-zookeeper

 

如果服务器上之前装过jdk,升级到最新版本

2.2.2 ZooKeeper设定
本次配置的Master是单节点环境,ZooKeeper也是单点

 

# vi /etc/mesos/zk zk://test166:2181/mesos

 

2.2.3 启动服务


# systemctl start zookeeper # systemctl start mesos-master # systemctl start marathon # systemctl start chronos

 

2.3 安装Slave
2.3.1 在Slave上安装Mesos,Docker


# yum install mesos docker

 

2.3.2 Docker相关设定


# echo 'docker,mesos' > /etc/mesos-slave/containerizers # echo '5mins' > /etc/mesos-slave/executor_registration_timeout

 

2.3.3 ZooKeeper设定


# vi /etc/mesos/zk zk://test166:2181/mesos

 

2.3.4 启动服务


# systemctl start docker # systemctl start mesos-slave

 

2.4 确认
Mesos的页面

​ ​http://10.86.255.166:5050​​ /

 

 

Marathon的页面

​ ​http://10.86.255.166:8080/​​

 

 

Chronos的页面

​ ​http://10.86.255.166:4400/​​

 


-----------------------------------
Docker系列之(二):使用Mesos管理Docker集群(Mesos + Marathon + Chronos + Docker)
https://blog.51cto.com/u_11979904/5675622

标签:Mesos,mesos,systemctl,Chronos,test166,Docker,Marathon
From: https://www.cnblogs.com/cheyunhua/p/17317572.html

相关文章

  • docker部署nacos服务
    windowsdockerrun--namenacos-eMODE=standalone-v/mnt/docker_data/nacos/conf/application.properties:/D/worktool/nacos/application.properties-p8848:8848-d-p9848:9848nacos/nacos-server:v2.2.0linuxdockerrun--namenacos-eMODE=standalone-v......
  • melange+ apko 基于的alpine docker 镜像集成玩法
    主要是一个集成,同时可以提供方便的alpineapk包管理以及维护参考集成  备注:以上中使用git进行配置管理,使用melange进行apk包的构建,同时可以结合s3将数据存储到s3中,如果构建基于alpine镜像的可以直接使用构建的私服,同时也可以结合apko进行oci镜像构建,也比较高效......
  • docker启动nginx
    1》首先需要随便启动个nginx容器并进入容器,把nginx的配置项(conf、html、log)拷贝到服务器。命令如下:#htmldockercp容器id:/usr/share/nginx/html服务器路径#logsdockercp容器id:/var/log/nginx服务器路径#confdockercp容器id:/etc/nginx服务器路径注意:配置......
  • docker容器操作,应用部署,迁移与备份,Dockerfile
    目录容器操作应用部署mysql部署redisnginx迁移与备份容器保持为镜像镜像备份和恢复Dokcerfile镜像从哪里来使用Dockerfile来构建什么是DockerfileDockerfile的命令构建一个带vim的centos镜像基于Python3.8构建一个能够运行你这个程序的镜像容器操作启动容器dockerstart容器i......
  • Docker使用
     1.docker基础知识环境代码一起发给别人=>需要一个容器  规避了环境不一致导致的异常【软件跨环境迁移的问题】    以下是在Ubuntu上安装Docker的步骤:更新apt包管理器sudoapt-getupdate安装必要的软件包以允许apt通过HTTPS使用存储库sudoapt-g......
  • 容器操作,应用部署,迁移与备份,Dockerfile
    容器操作,应用部署,迁移与备份,Dockerfile上节回顾#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerdockerinfo#查看详情systemctlenabledocker#开机自启动#2配置镜像源,拉取镜......
  • linux环境下安装Docker
    1、概念:docker是一个开源的应用容器引擎,docker可以让开发者打包他们的应用以及依赖环境包到一个轻量级、可移值的容器中。然后发布到任何流行的linux机器上。安装过程:1、yum包更新到最新yumupdate2、安装需要的软件包yuminstall-yyum-utilsdevice-mapper-persistent-da......
  • docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile
    容器操作#启动容器dockerstart容器id#停止容器dockerstop容器id#文件拷贝先创建文件mkdir:文件夹vivimtouch:文件#容器的文件copy到宿主机上(不是在容器内部操作)dockercp容器名称:容器目录需要拷贝的文件或目录dockercp......
  • docker-day3——docker应用部署、docker迁移与备份、Dockerfile
    目录一、应用部署1.1mysql部署1.2nginx1.3redis1.4部署项目的一些讲解二、迁移与备份三、Dockerfile四、作业1、什么是迭代器,生成器,装饰器2、django的信号用过吗?如何用,干过什么3、Dockerfile用过吗?常用命令有哪些一、应用部署补充知识点:容器之间互相是可以ping通的但是......
  • apko不依赖dockerfile基于apk 包构建oci 镜像的工具
    可以方便的基于apk包进行oci镜像的构建以及发布包含的特性可重复执行同时确认二进制文件一致快速小sbom支持服务支持,基于s4安装可以通过goinstall以及docker模式运行goinstallchainguard.dev/apko@latest使用配置contents:......