一.介绍
Crane是数人云(DataMan)开源的一款基于Swarm的Docker集群管理面板,之前我在测试的时候就关注过,不过那时候还要申请,有点麻烦,就懒得管了,这几天突然想起,所以拿出来看看,发现已经开源在GitHub上了 ——>传送门
看了下介绍的视频感觉有点意思,所以打算装一下看看咋样。
二.安装
系统支持:
Ubuntu 12.04 Server
Ubuntu 14.04 Server
CentOS 7.X
MacOS 10.x
(由于Crane最近没更新,所以理论上Ubuntu的16啥的应该也是支持的,这都是我猜的)环境要求:
docker >= 1.12
docker-compose >= 1.8.0
启用Docker监听2375的TCP端口
启用NTP服务
1. 安装Docker这个不说了,CentOS6的话请参考我的文章 ——>传送门
2. Docker-compose也在上面的文章里,因为很方便,所以这儿写一下
curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose --version
3. 启用端口的话我前面的Docker面板文章里有写,这儿再提一下吧
PS.请务必注意,本面板仅供用于本地环境部署,由于没有配置TLS双向认证,启用远程连接会导致你的Docker被网络上的任何人控制(我开了三分钟就被人挂了个挖矿容器……也是醉了)
首先确认你的机器中是否存在/etc/sysconfig/docker这个配置文件,如果存在的话请修改,在其中的配置选项中加入如下内容
#这个启用了远程连接 -Htcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
但是,很多情况下我们会不存在这个文件(较高版本的Docker不会自动创建这个),所以我们可以选择另外一种方法,参照Docker文档——>传送门
vi /etc/docker/daemon.json #添加如下,这个启用了远程连接,如果添加的不在最后一行请在末尾加上逗号 "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] #如果deamon.json不存在请添加完整的json格式 { "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] }
虽然其实你修改启动脚本在dockerd命令之后添加 -H unix:///var/run/docker.sock -H tcp://0.0.0.0 也可以,但是这样终归不怎么优雅。
4. NTP服务是为了各节点之间的时间同步,这个怎么搞自己百度谷歌吧
5. 建议关闭selinux
#临时关闭 setenforce 0 #确保重启后也是关闭的 sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config #查看状态 getenforce
好了,准备工作做完其实大半部分已经搞定了,正式安装
wget https://github.com/Dataman-Cloud/crane/archive/v1.0.6.zip unzip v1.0.6.zip cd crane-1.0.6/release/v1.0.6 CRANE_IP=IP VERSION=v1.0.6 ./deploy.sh
由于脚本没有更新,所以我们如果Docker版本过新会出现下面的问题
在确定Docker版本高于1.12的情况下,我们可以直接改掉判断条件跳过
#接上面的命令,不要改变目录 sed -i "21s/12/00/g" node-init.sh #重新运行 CRANE_IP=IP VERSION=v1.0.6 ./deploy.sh
然后,继续报错,看上去是registry挂了
看下issue发现是改地址了——>传送门
尝试换成新的依旧不行,然后灰心之余写了个issue打算问问,随便搜索居然发现了点线索——>传送门
有docker hub的镜像,那可能有戏了,去搜了下,终于找到了——>传送门
看docker-compose.yml里的镜像也能对上,尝试一下
#接上面的命令,不要改变目录 #重新运行 REGISTRY_PREFIX="2breakfast/" CRANE_IP=IP VERSION=v1.0.6 ./deploy.sh
终于搞定!
直接访问http://IP/
用户名: admin@admin.com
密码: adminadmin
然而……还是GG,看日志是连不上数据库,但是找不到解决办法。折腾了一会儿,研究了下,是Swarm集群的问题,重新搞了下
(参考https://github.com/Dataman-Cloud/crane/issues/429)
其实吧_(:з」∠)_,大家就看看吧,这个版本不愧是所谓的试用版,感觉已经没人在管了……数人云现在貌似关注企业市场,所以这个我觉得可能不太靠谱,还是建议换我介绍的其他的
文章评论