数人云在9月6日开通了容器管理面板Crane的试用活动,这是国内首个基于DockerSwarmKit的容器管理工具。它具有Docker原生编排功能,采用轻量化架构,帮助开发者快速搭建DevOps环境,体验Docker的各种最新功能。下面介绍这个容器管理面板的使用体验。
1. 首先我们进行试用申请:
2. 试用申请通过后会收到通知邮件,通知邮件中介绍了安装环境要求:
3. 首先在centos7的主机上安装docker1.12.1,对应的API版本是1.24:
4. 然后在主机上安装docker-compose 1.8.0:
docker-compose version 1.8.0, build f3628c7
5. 最后安装Crane:
在安装过程中会校验下面信息,如果有校验不通过,那么无法完成安装,需要进行处理。
- Checking the node status
- Checking docker runtime environment...
- Checking docker TCP Socket...
- Checking firewalld...
- Checking docker rules on Iptables...
- Checking SELinux by command getenforce...
- Checking NTP service status...
- Trying to init swarm cluster
其中NTP服务要求比较严格,校验时应该使用了ntpstat命令,如果返回unsynchronised,那么会导致校验不通过,无法完成安装。这里需要注意的是:通过命令ntpdate手工执行时间同步是不行的。笔者修改了ntp配置文件/etc/ntp.config之后,执行ntpstat命令才会返回正常值:
这样才能继续安装过程。
在校验iptables以及初始化swarm cluster的时候,需要检查iptables自定义链DOCKER和DOCKER-ISOLATION,如果没有就无法安装,所以也需要手工创建。
校验通过后就是下载安装,最后安装成功:
6. 使用试用帐号和密码登录Crane:
7. 许可提示:因为是试用版,所以提示“您的序列号即将到期,请填写信息获取新的序列号”:
也可以申请正式序列号:
收到正式序列号之后,就可以在界面上激活:
8. 信息功能:可以查看系统基本信息,包括版本,打包时间和开放特性,还可以查看集群信息。
9. 主机功能:可以查看主机列表,添加主机以及对主机进行操作。
10. 网络功能:可以查看网络列表,创建和删除网络。
11. 仓库认证功能:查看仓库认证列表,创建和删除仓库认证信息。
12. 镜像功能:有公有镜像,私有镜像,还有个应用目录,提供系统编排好的应用模板,通过这些编排好的应用模板,可以直接创建应用。
13. 应用功能:可以创建和操作应用,其中创建应用有三种模式,一种是DAB模式,DBA就是分布式应用捆绑包的英文缩写,可以用DAB文件替代docker service命令行中的参数,通过一个DAB文件,即可驱动整个应用的跨主机编排,并保证应用内服务的自动发现。
可以直接导入DAB文件:
也可以通过试试看,由系统推荐,如果直接编辑DAB输入区,那么可以选择部署并导出,这样以后就可以导入这个DAB文件直接使用了:
创建应用的第二种模式是向导模式,第一步输入应用名称:
第二步增加服务,可以增加多个服务,并且可以在界面中删除某个服务:
可以针对于每个服务配置属性信息,属性信息很多:
在详细看完每个属性后,可以整体看看属性分类:
第一个服务配置好后,下面可以添加第二个服务:
我们最后只保留一个服务,然后开始部署:
在应用详情页面,可以修改每个服务的任务数,服务名称的命名规则是“应用名称_服务名称”:
可以查看服务的详细信息:
可以查看服务下任务的详细信息:
在应用列表页面,可以查看所有的应用概要信息:
系统查询,做的很强“大”,只需要输入信息,就可以把整个系统中相关内容都查找到:
创建应用的第三种方式是快捷创建:
快捷创建其实就是通过已经编排好的应用直接创建:
在之前test应用的基础上,又创建了wordpress应用,通过应用列表页面可以看到这两个应用:
14. 主机上容器信息:可以看到Crane使用的容器信息。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d2c5e414255c catalog.shurenyun.com/library/blackmamba:v1.0.4 "nginx -g 'daemon off" 27 minutes ago Up 26 minutes 0.0.0.0:80->80/tcp, 443/tcp rolex_blackmamba_1 7983fc2f12d9 catalog.shurenyun.com/library/rolex:v1.0.4 "/bin/sh -c ./rolex" 28 minutes ago Up 25 minutes 0.0.0.0:5013->5013/tcp rolex_rolex_1 a39ab9103d4d catalog.shurenyun.com/library/registry:rolexv1.0.4 "/entrypoint.sh /etc/" 28 minutes ago Up 27 minutes 0.0.0.0:5000-5001->5000-5001/tcp rolex_rolex_registry_1 0b7151585e9c catalog.shurenyun.com/library/mysql:rolexv1.0.4 "docker-entrypoint.sh" 28 minutes ago Up 27 minutes 0.0.0.0:3306->3306/tcp rolex_rolex_db_1
总结:SwarmKit项目是Docker公司开源的一个项目,主要用来提供容器集群以及编排能力,SwarmKit通过Containerd类似的方式接入DockerEngine,相当于在Docker1.12中集成了容器编排能力:
通过数人云提供的Crane,将Docker1.12提供的SwarmKit新特性API进行了界面管理,让人很方便的就可以直接使用Docker1.12提供的新特性,让人很容易上手,同时也可以让人来直观的将Docker1.12内置编排功能同kubernetes等工具提供的容器编排功能进行对比。通过这个工具可以预感到,在容器编排和监控管理的竞争上,业界会越来越激烈的。