Swarm and shipyard

原创 2016年06月01日 17:07:40


  Swarm 是docker 公司推出的原生docker集群管理软件。主要实现了容器主机的集群管理,实现容器调度。主要实现方法是提供API来转发用户请求。因为SwarmAPI 基本兼容dockerAPI,所以用户可以直接使用docker客户端来访问Swarm,学习成本小。但是这种方法实质上还是使用单机docker,网络相对其他集群管理软件(如K8s)简单的多。

Shipyard是swarm 的GUI开源软件,界面非常小清新。通过shipyard,用户可以摒弃使用docker客户端,在图形界面操作swarm。Shipyard非常轻量级,除了swarm图形化功能外,实现的镜像库管理,容器资源监控,和简单的权限管理。

在容器资源监控方面,做的相当不错。但是主机资源监控还未实现。

在权限管理,Shipyard支持openLDAP,和非常简单的角色管理。但是目前容器未和用户绑定,如A,B有容器管理权限。B用户可以删除A用户启动的容器。

 

Shipyard 安装:

Shipyard  的官方安装教程在 https://shipyard-project.com/docs/deploy,但不管使用教程自动化安装还是手动安装,还是发现有点问题,安装的Shipyard 无法在主节点外的地方启动虚拟机,所以这里记录下我自己的安装过程。

安装节点:

10.254.169.47       swarm 管理节点,同时也是swarm 计算节点

10.254.174.27        swarm计算节点

 

安装过程:

1、 修改各节点docker启动参数。 官方教程使启动一个proxy容器,这个容器映射2375端口到 /var/run/docker.sock 的方法来暴露docker端口,我这里的方法是在启动参数上直接添加 -H tcp://0.0.0.0:2375 (添加方法在各linux 发行版本不同), 重启docker 后结果显示/usr/bin/docker daemon -H fd://-H tcp://0.0.0.0:2375  。

2、 swarm管理节点安装服务发现程序。建议和官方教程一样,使用etcd,可以使用其他方法(比如节点发现,文件发现,consul发现,zookeeper发现,IP地址范围等),可以使用容器程序或者直接安装程序。这里使用etcd容器 

docker run  -ti -d  -p 4001:4001  -p 7001:7001  --restart=always  --name shipyard-discovery  microbox/etcd -name discovery。

3、 swarm管理节点安装swarmmanger。注意暴露3375端口,否则以后自己没法进行swarm管理

docker run  -ti -d  --restart=always  -p 3375:3375 --nameshipyard-swarm-manager  swarm:latest  manage --host tcp://0.0.0.0:3375etcd://10.254.169.47:4001

4、 各节点安装swarmagent。

docker run    -ti   -d    --restart=always    --name shipyard-swarm-agent    swarm:latest    join --addr 10.254.169.47:2375etcd://10.254.169.47:4001

docker run    -ti   -d    --restart=always    --name shipyard-swarm-agent    swarm:latest    join --addr 10.254.174.27:2375etcd://10.254.169.47:4001

至此,swarm集群安装好了,运行docker–H 10.254.169.47:3375 info 可以查看集群信息。

5、 swarm管理节点安装 shipyard数据库。docker run  -ti  –d --restart=always  --name shipyard-rethinkdb  rethinkdb

6、 swarm管理节点安装 shipyard。

docker run   -ti   -d    --restart=always    --name shipyard-controller    --link shipyard-rethinkdb:rethinkdb  --link shipyard-swarm-manager:swarm    -p 80:8080    shipyard/shipyard:latest    server  -d tcp://swarm:3375

这里暴露的是80端口。

至此shipyard 安装完成。

Shipyard使用:

访问 10.254.169.47 ,默认用户名密码admin,shipyard。可以看到swarm集群上各节点的容器。

 

 

在节点页面可以看到个节点和节点labels. 节点label 用于进行容器调度时,容器主机的筛选,比如这里10.254.174.27节点。有labels是nodetype=87。(这个label来自docker启动参数,可配置)

               

在容器部署页面

可以通过SwarmConstraint选项里面填主机label来选择主机。

 

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

kubernetes实战-基于redis和docker的留言簿案例

本案例基于Kubernetes和Docker,其中包括 1、web前端 2、redis master 其中web前端通过javascript redis api和redis master交互

部署Swarm - Deploy Swarm

部署swarm

Docker的Web UI管理:shipyard+swarm-(手动)安装&试用

shipyard是对Docker进行管理的Web UI版。主要有以下特性: 1. 镜像管理 - 镜像的下载 2. 容器管理 - 容器的run、start、stop、rm 3....

Stigmergy and Swarm intelligence

Stigmergy解释(转载):     昆虫学中有一种称作“Stigmergy”的类似现象。这一术语是格拉塞新造的,其意思是“激励作出努力”。把三四只白蚁房子室内,他们会漫无目的的到处乱爬...

Docker shipyard 笔记

Shipyard quick start上的步骤,默认把宿主机的8080端口和container的8080端口绑定docker run -it -d --name shipyard-rethinkdb...

Docker的web端管理平台对比(DockerUI 、Shipyard、Portainer、Daocloud)

前言最近,为了方便对命令行过敏的测试或开发人员,我决定部署一个可视化的管理平台来管理docker,在我重装十几次系统(当然,只是虚拟机镜像克隆),对比之后,终于选择了一款心仪的管理平台。部署docke...

Docker集中化web界面管理平台shipyard

Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具。包括core和extension两个版本,core即shipyard主要...

使用Docker Toolbox快速搭建3节点的shipyard集群

使用Docker Toolbox快速搭建3节点的shipyard集群。首先创建3台Docker虚拟机;然后按照官网的步骤,运行Shipyard相关容器;再将另外2台工作节点加入到Shipyard管理端...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)