SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持

SuperMapiCloudManager 8C SP2正式发布:拥抱Docker

SuperMapiCloudManager是超图GIS云管理系统,它依托于云计算IaaS平台,可快捷地搭建云GIS系统,一目了然地运维和监控其中的GIS应用,让你不再操心云GIS中心的部署、运维细节。


日前,SuperMapiCloudManager 8C SP2正式发布,最大的亮点是新增对Docker应用容器环境的对接,使云GIS可快速利用上Docker轻量、灵活、高性能等优势。


新增对 Docker 平台(含Docker集群)的支持

在继支持国产的华为FusionComputeR3/R5、商业的VMware vSphere、开源的OpenStack之后,iCloudManager在8C SP2中新增了对Docker的对接。

Docker是dotCloud 开源的一个基于LXC(Linux容器虚拟技术) 的高级容器引擎,它的初衷是将各种应用程序和他们所依赖的运行环境打包成标准的Container,进而发布到不同的平台上运行,Container发挥类似虚拟机的作用,但它启动得更快、需要更少的资源。

SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持_第1张图片

我们不仅制作了各种GIS的Docker镜像,供GIS客户在Docker环境中直接使用;而且在iCloudManager中进行了封装,UI操作界面跟之前基本无差别;iCloudManager还支持对Docker集群(Swarm)对接、部署。


既然新特性最大的变化在于容器支持,我们就感受一下,如何通过iCloudManager8C SP2来管理Docker云。


环境需求

  • iCloudManager 8C SP2 (使用已经制作好的OVF镜像,内置Zabbix监控Agent)
  • iServer 8C SP2容器镜像
  • VM WorkStation 12
  • Docker 1.11
软件镜像下载地址:(无需安装,直接导入,这就是云给我们带来的便利)

SuperMap for Docker镜像:https://hub.docker.com/r/supermap
SuperMap iCloudManager 8C SP2(OVF包):http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx


1、将下载好的SuperMap iCloudManager 8C SP2(OVF包)导入到Workstation虚拟机  ——192.168.13.201

2、通过WorkStation虚拟机安装一个Docker环境(单机即可)——192.168.13.212

该环境我安装的最新的Docker1.11版本。

root@docker1:~# docker version
Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:30:23 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Tue Apr 26 23:30:23 2016
 OS/Arch:      linux/amd64
首先,将下载好的iserver_c802.tar文件导入到docker环境中。

然后通过docker load命令将镜像文件加载到docker images中

root@docker1:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              14.04               8f1bd21bd25c        2 days ago          188 MB
root@docker1:~# docker load -i /root/iserver_c802.tar
05b940eef08d: Loading layer [==================================================>] 196.9 MB/196.9 MB
db6b2d84f3c6: Loading layer [==================================================>] 208.9 kB/208.9 kB
1b82ce694c3b: Loading layer [==================================================>] 4.608 kB/4.608 kB
5f70bf18a086: Loading layer [==================================================>] 1.024 kB/1.024 kB
3aa87058c49f: Loading layer [==================================================>] 3.072 kB/3.072 kB
1c282f64a03c: Loading layer [==================================================>] 271.4 MB/271.4 MB
9aac7be6f471: Loading layer [==================================================>] 22.47 MB/22.47 MB
004fd6c7b442: Loading layer [==================================================>] 106.4 MB/106.4 MB
12a6532b58a6: Loading layer [==================================================>]  12.6 MB/12.6 MB
1d26d2c7d51a: Loading layer [==================================================>] 699.7 MB/699.7 MB
cd29bb5b2163: Loading layer [==================================================>] 3.072 kB/3.072 kB
90b10b52ef12: Loading layer [==================================================>] 398.8 kB/398.8 kB
9bf558bb6b59: Loading layer [==================================================>] 273.2 MB/273.2 MB
3f71e3e1f253: Loading layer [==================================================>] 7.168 kB/7.168 kB
23a38bfe9b46: Loading layer [==================================================>] 37.38 kB/37.38 kB
3761bfb7fedf: Loading layer [==================================================>] 19.97 kB/19.97 kB
691f4b99176c: Loading layer [==================================================>] 25.09 kB/25.09 kB
767ad3a2ec2c: Loading layer [==================================================>] 25.09 kB/25.09 kB
0be3faa6e502: Loading layer [==================================================>]  2.56 kB/2.56 kB
ca8d91fa8b97: Loading layer [==================================================>]  2.56 kB/2.56 kB
40f0549ea190: Loading layer [==================================================>] 35.84 kB/35.84 kB
root@docker1:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              14.04               8f1bd21bd25c        2 days ago          188 MB
supermap/iserver    c802                322cacd8b1ca        4 days ago          1.559 GB
加载完毕可以看到,iServer镜像已经添加上来。


3、直接在浏览器输入http://192.168.13.201:8080/进入iCloudManager for Docker的预配置页面



注意:

在iCloudManager配置过程中,需要获得Docker服务器的服务端口,默认Docker是没有绑定服务端口(例如5001),

绑定Docker到指定TCP端口

Docker安装后默认监听unix://var/run/docker.sock ,只允许本地的root连接。

可以在/etc/default/docker文件中配置DOCKER_OPTS,自定义服务端口,如下绑定的端口为5001。

DOCKER_OPTS=" -H 0.0.0.0:5001 -H unix:///var/run/docker.sock

配置后要重启Docker使配置生效

sudo service docker restart

也可以通过命令行 Docker -H 参数指定,如下绑定的端口为5001。这种方式重启Docker后会失效,推荐通过修改配置文件的方法。

sudo docker daemon -H tcp://0.0.0.0:5001 -H unix:///var/run/docker.sock


对Docker服务器进行了绑定端口后,我们才能进入下一步。

前面已经将iServer容器镜像导入进去,所以,在配置关联模板可以直接获得容器服务器的导入镜像。


由于iCM的OVF自带Zabbix,所以相关配置只需要获得iCM 的IP即可。

对于配置IP过程,默认iCM对Docker的连接时通过端口映射的方式,而没有为每个容器设置固定共享容器服务器的网络IP,这样做可以节省大量的IP资源。


4、创建iServer容器实例测试

测试过程与云平台比较类似,创建一个容器实例,设置相关配置要求,

SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持_第2张图片

查看任务进度,

SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持_第3张图片

进入容器的管理页面

SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持_第4张图片


可以直接点击服务地址,进入最新的iServer管理Manager

SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持_第5张图片


接下来,我们查看一下Docker服务器的容器实例

root@docker1:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
2e4f3789fbb2        322cacd8b1ca        "/bin/sh -c /opt/run."   3 minutes ago       Up 3 minutes        0.0.0.0:44466->8090/tcp   sm_iserver-44466

问题来了

你现在测试只是连接一个Docker 服务器,如果我是一个Docker集群,该如何操作呢?iCloudManager支持以Swarm管理机器,所以如果你的Docker云是通过Swarm来配置的,只需要输入Swarm的管理IP来代替上述的单个Docker服务器,那么在创建容器实例的调度、资源管理都会通过Swarm来进行托管了。



你可能感兴趣的:(SuperMap iCloudManager 8C Sp2新特性——拥抱Docker容器支持)