-凯发k9国际首页登录

凯发·k8(国际) - 官方网站
股票代码:688047
请输入搜索条件
凯发·k8(国际) - 官方网站
邮箱登录
点击图片刷新
忘记密码
点击图片刷新
10-16 2017

龙芯向docker官方提交loongnix操作系统云镜像

一、云”势来袭
    龙芯顺应国家自主信息化推广的需求,在满足传统单机和少量服务器的部署模式的技术要求的基础上,投入云平台的研发计划。由于容器技术具有轻量、和cpu依赖小的优点,因此能够在龙芯平台上方便的得到移植。目前已经完成了一个完整的集群平台的搭建。该方案基于docker 1.12.2,集群管理工具使用docker官方支持的swarm,图形化管理工具基于portainer,支持容器调度、自动扩容、监控管理、容灾恢复功能。
    docker 是目前流行的开源应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个镜像中,这个镜像可以在网络上发布,通过虚拟化的手段在所有支持docker的平台上运行。容器是完全使用沙箱机制,相互之间不会有任何接口,从而保证容器内运行的应用的安全。
虚拟化技术(左)和docker技术(右)的对比
二、docker官方社区上的龙芯镜像
    龙芯制作了一些标准的loongnix操作系统镜像(基于fedora21),已经提交docker官方(http://hub.docker.com),属于首次接受mips版本的操作系统docker镜像。用户只要能够访问互联网,就能够自动化的完成操作系统的拉取和运行。
三、龙芯云平台原型方案 
    swarm是docker公司在2014年12月初发布的一套工具,用来管理docker集群,它将一群docker宿主机变成一个单一的,虚拟的主机。swarm使用标准的docker api接口作为其前端访问入口,换言之,各种形式的docker client(docker client in go, docker_py, docker,以及dockerui、portainer等web工具)均可以直接与swarm通信。swarm几乎全部用go语言来完成开发。swarm 0.2相比0.1版本增加了一个新的策略来调度集群中的容器,使得在可用的节点上传播它们,以及支持更多的docker命令以及集群驱动。
    swarm deamon只是一个调度器(scheduler)加路由器(router),swarm自己不运行容器,它只是接受docker客户端发送过来的请求,调度适合的节点来运行容器,这意味着,即使swarm由于某些原因挂掉了,集群中的节点也会照常运行,当swarm重新恢复运行之后,它会收集重建集群信息。下面是swarm的结构图:
基于swarm的龙芯云平台架构图
    swarm只是提供集群管理服务器,不提供可视化的管理页面,所有操作都需要使用命令行,因此学习成本较高。为了方便管理员的使用,portainer是一款较为完善的docker容器管理平台,占用资源少,支持集群,支持权限分配。优点有:支持容器管理、镜像管理,轻量级,消耗资源少,基于docker api,安全性高,可指定docker api端口,支持tls证书认证。支持权限分配,支持集群。已经可以基本满足专有云的使用需求。下图是主界面:
龙芯云平台管理界面
    在一个页面中显示上百个机器的节点运行状态,以及每个机器上面运行的应用负载情况,方便管理人员对大规模集群的监视,在发生故障时能够快速定位。另外,也能够对机房中所有机器的使用情况有量化的了解,从而做出更合理的硬件投资。
集群节点运行状态监视
    在每个节点上,指定运行的应用程序,以及cpu、内存、网络、文件系统的资源。只需要几步操作,就能够分配一台新机器、安装指定的操作系统、部署应用,极大的加快应用程序的部署时间。
容器配置
    对容器运行状态显示一个详细的列表,包括物理节点、运行时间等。
容器配置
    对容器的运行负载状态进行监视,以图形化的报告进行展示。管理效率远远大于人工管理。
容器运行负载报告
    对操作系统和应用程序进行镜像化管理,把应用程序和依赖的库文件做为一个整体进行发行和部署,理论上可以使应用程序只发布一个二进制,就能够在所有龙芯操作系统上运行。可以从根本上消除操作系统碎片化问题对于应用开发者造成的负担。
操作系统镜像管理
    在集群管理工具的web页面上就可以直接登录运行机器的命令行,不再像以前需要ssh方式登录,方便管理员对于上百台机器的快速管理。一切就像是在这台机器本地操作相同。
 
容器控制台
四、swarm和kubernetes的对比
    swarm是docker官方开发的原生集群工具,kubernetes是google开发的。两者在很多功能是等价的。经过我们的调研,kubernetes相比之下设计更为复杂,适用于集群的精细管理,复杂的网络场景。同时,kubernetes也有明显的劣势:学习曲线陡峭,同时运维的成本相对较高。
    针对龙芯当前的发展阶段和使用情况,总的来说,龙芯首先应该在私有云和行业环境中来使用,对容器的可靠性要求远低于公有云,因此swarm更轻量、易学习的优势就比较合适了。经过一段时间,如果是完全基于龙芯搭建公有云,或者需要提供高可靠服务的场景,kubernetes可能更合适一些。
    总之,目前龙芯云平台基于的swarm方案是足够满足一般的oa系统和信息处理应用的,并不一定使用kubernetes。
五、
    龙芯云平台提供了全套移植过程的技术文档,做了一个较为完善的原型平台,我们点点鼠标即可轻松部署一个强大的管理docker平台。经过对docker管理平台的分析,大家一定有了自己的认识,有条件可以自己尝试下部署,如果有新的心得体会或者更好的平台记得反馈给我们,或者在龙芯论坛(http://ask.loongnix.org)上提供新的技术成果,一起把龙芯软件生态完善起来!
六、参考文献
    搭建龙芯云平台的具体过程,以可参考以下社区技术文档:
    l  (docker系列之一)龙芯fedora21平台上解决docker 1.12.2退出问题
    http://ask.loongnix.org/?/article/80
    l  (docker系列之二)龙芯fedora21平台制作docker镜像,并且解决vi乱码问题
    http://ask.loongnix.org/?/article/81
    l  (docker系列之三)龙芯fedora21平台制作feodra21-tools docker镜像
    http://ask.loongnix.org/?/article/82
    l  (docker系列之四)龙芯fedora21平台制作feodra21-apache-php-mysql 镜像
    http://ask.loongnix.org/?/article/85
    l  (docker系列之五)龙芯fedora21平台制作feodra21-loongson-app 镜像
    http://ask.loongnix.org/?/article/86
    l  (docker系列之六)龙芯平台搭建容器管理工具dockerui
    http://ask.loongnix.org/?/article/84
    l  (docker系列之七)龙芯fedora21平台上传docker镜像到docker hub
    http://ask.loongnix.org/?/article/87

凯发一触即发 copyright © 2008-2022 龙芯中科技术股份有限公司

本网站由龙芯3c5000服务器提供强劲动力

网站地图