CN107577496B - 一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 - Google Patents
一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 Download PDFInfo
- Publication number
- CN107577496B CN107577496B CN201710833559.6A CN201710833559A CN107577496B CN 107577496 B CN107577496 B CN 107577496B CN 201710833559 A CN201710833559 A CN 201710833559A CN 107577496 B CN107577496 B CN 107577496B
- Authority
- CN
- China
- Prior art keywords
- docker
- desktop cloud
- user
- node server
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于Docker部署桌面云管理平台的系统及其工作方法与应用。本发明所述基于Docker部署桌面云管理平台的系统,利用Docker技术在原有私有云集群的控制节点中安装Docker直接安装配置好的容器镜像,通过该容器镜像对私有云集群进行控制;不仅简化了传统B/S架构的私有云管理系统安装步骤,避免繁琐的配置;而且方便移植,一旦控制节点发生宕机等突发因素,可直接在私有云集群中的其它任意节点拉取容器镜像充当新的控制节点使用,且不影响丝毫功能差异;三是方便持续集成开发,随着时间的推移可以方便的对私有云管理平台进行功能扩充。
Description
技术领域
本发明涉及一种基于Docker部署桌面云管理平台的系统及其工作方法与应用,属于云计算虚拟化的技术领域。
背景技术
随着云计算浪潮的不断推进以及互联网技术的不断发展,“多媒体瘦客户端+宽带网+云计算服务器”的新型互联网模式必将成为未来的发展趋势。桌面云是一种互联网上的资源利用新方式,可为大众用户依托互联网上异构、自治的服务进行按需即取的计算。在现阶段,桌面云的大部分虚拟化管理系统无论是采用B/S架构还是C/S架构都有其不足之处。传统的C/S架构不仅带来系统资源浪费的问题,而且管理工作的不够灵活。B/S架构系统,往往需要在控制节点安装LAMP环境,配置网络服务器,数据库初始化等诸多步骤,安装与配置过程较为复杂和繁琐。
中国专利CN105681424A公开了一种桌面云系统。该桌面云系统的虚拟化管理采用虚拟换管理软件,基于B/S机构,统一管理所有集群中的VID桌面、应用程序和服务器虚拟化,并且能够监控PC的硬件资源和虚拟资源。
Docker是dotCloud开源的一个应用容器引擎,而且其采用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。通过Docker镜像来创建Docker容器,其关系类似于面向对象编程中的对象与类。Docker作为一种开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任意的Linux系统中。
发明内容
针对现有技术的不足,本发明提供一种基于Docker部署桌面云管理平台的系统。
本发明还提供一种利用上述系统部署桌面云管理平台的方法。
本发明还提供一种利用上述桌面云管理平台对桌面云管理的方法。
本发明的技术方案为:
一种基于Docker部署桌面云管理平台的系统,包括控制节点服务器、路由器和多个计算节点服务器;所述控制节点服务器与计算节点服务器通过所述路由器连接在同一个局域网。
优选的,所述路由器为千兆路由器;所述计算节点服务器为桌面云计算节点服务器。
一种利用上述系统部署桌面云管理平台的方法,包括步骤如下:
1)初始化环境;在所述计算节点服务器中安装KVM虚拟化环境,并通过更改/etc/libvirt/libvirtd.conf中的参数,将所有计算节点运行的libvirtd守护进程更改为支持TCP协议远程连接;在所述计算节点服务器中安装vnc-server以支持远程可视化操作;
2)在所述控制节点服务器中安装Docker运行环境,构建Docker镜像的Dockerfile文件,作为系统的Docker镜像模板;
3)系统首次运行时,在控制节点服务器中启动Docker容器,并在Docker容器中将一个基本的centos镜像pull到控制节点服务器;
4)在步骤3)创建的镜像中安装php-libvirt支持;
5)在步骤4)创建的Docker镜像中,初始化数据库实体;所述数据库实体包括用户实体、计算节点服务器集群实体、云桌面虚拟机实体和模板参数实体;模板参数实体将在系统运行过程中被运用。
6)在步骤5)创建好数据库实体的Docker镜像中,创建基于B/S架构的桌面云管理平台;所述桌面云管理平台包括,服务器集群管理模块、桌面云虚拟机管理模块、存储管理模块和用户管理模块;
根据本发明优选的,所述服务器集群管理模块对桌面云的计算节点进行管理;服务器集群管理模块对桌面云的计算节点进行管理的具体过程包括,调用libvirtd API查看计算节点运行状态,添加/删除计算节点;将添加的计算节点保存于计算节点服务器集群实体中并通过vnc对计算节点服务器进行可视化操作;
根据本发明优选的,所述桌面云虚拟机管理模块,通过KVM虚拟化环境为每一台虚拟机自动分配一个UUID,作为桌面云虚拟机的唯一标志;对任意的桌面云虚拟机进行以下操作:查看虚拟机状态、新建/删除虚拟机、修改虚拟机配置、打开/关闭虚拟机和打开/关闭可视化操作管理。
根据本发明优选的,所述存储管理模块,对桌面云计算节点中/var/lib/libvirt/images下的文件进行存储管理;存储管理的具体过程包括,通过libvirt API查看存储池状态、删除虚拟磁盘,以及通过xml文件模板创建虚拟磁盘。所述存储池是指虚拟化环境中物理服务器保存虚拟机的存储副本、卷影副本和传输日志的一组磁盘。
根据本发明优选的,所述用户管理模块实现用户验证功能和权限管理功能;
用户验证的具体过程为:
用户或者管理员通过输入用户名和密码;浏览器通过POST方式将用户名和密码数据提交给控制节点服务器;
服务器接收用户名和密码数据后,先对密码进行MD5加密,然后根据用户名从所述用户实体中提取密码,将提取的密码与MD5加密后的密码进行对比,如果一致,则成功登录进入系统;否则,返回登陆界面;用户验证:在使用过程中每个用户对自己的虚拟机运行进行状态检查和可视化VNC操作时,都需要对用户身份验证。
权限管理的具体过程为:
系统的使用者包括用户和管理员;权限管理对两个系统使用者进行区分,并给予不同的权限;在数据库实体中,通过给think_user表增加一个priority字段,对不同的系统使用者进行区分;当系统使用者登录系统,根据系统使用者的priority字段值,开放给系统使用者不同的模块权限。
一种利用桌面云管理平台对桌面云管理的方法,包括步骤如下:
A)将步骤5)构建的镜像上传到DockerHub私有repository中;
B)将所述Docker容器的httpd服务监听端口号映射到控制节点服务器端口;
C)系统使用者对系统进行访问。
本发明的有益效果为:
1.本发明所述基于Docker部署桌面云管理平台的系统,利用Docker技术在原有私有云集群的控制节点中安装Docker直接安装配置好的容器镜像,通过该容器镜像对私有云集群进行控制;不仅简化了传统B/S架构的私有云管理系统安装步骤,避免繁琐的配置;而且方便移植,一旦控制节点发生宕机等突发因素,可直接在私有云集群中的其它任意节点拉取容器镜像充当新的控制节点使用,且不影响丝毫功能差异;三是方便持续集成开发,随着时间的推移可以方便的对私有云管理平台进行功能扩充;
2.在其它私有云或者桌面云平台中,部署管理平台时可直接在DockerHub中拉取本发明所述方法创建的镜像,并在启动时指定映射端口,即完成基于Docker桌面云管理平台的部署;并可通过该平台对桌面云进行服务器集群管理、虚拟机管理、存储管理以及用户管理等工作。
附图说明
图1为本发明所述基于Docker部署桌面云管理平台的系统的结构示意图;
图2为本发明所述部署桌面云管理平台的方法流程图;
图3为本发明所述桌面云管理的方法流程图。
具体实施方式
下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。
实施例1
如图1所示。
一种基于Docker部署桌面云管理平台的系统,包括控制节点服务器、路由器和六个计算节点服务器;所述控制节点服务器与计算节点服务器通过所述路由器连接在同一个局域网。
实施例2
如实施例1所述的基于Docker部署桌面云管理平台的系统,所不同的是,所述路由器为千兆路由器;所述计算节点服务器为桌面云计算节点服务器。
实施例3
如图2所示。
一种利用实施例1-2所述系统部署桌面云管理平台的方法,包括步骤如下:
1)初始化环境;在所述计算节点服务器中安装KVM虚拟化环境,并通过更改/etc/libvirt/libvirtd.conf中的参数,将所有计算节点运行的libvirtd守护进程更改为支持TCP协议远程连接;在所述计算节点服务器中安装vnc-server以支持远程可视化操作;
2)在所述控制节点服务器中安装Docker运行环境,构建Docker镜像的Dockerfile文件,作为系统的Docker镜像模板;
3)系统首次运行时,在控制节点服务器中启动Docker容器,并在Docker容器中将一个基本的centos镜像pull到控制节点服务器;
4)在步骤3)创建的镜像中安装php-libvirt支持;
5)在步骤4)创建的Docker镜像中,初始化数据库实体;所述数据库实体包括用户实体、计算节点服务器集群实体、云桌面虚拟机实体和模板参数实体;模板参数实体将在系统运行过程中被运用。
6)在步骤5)创建好数据库实体的Docker镜像中,创建基于B/S架构的桌面云管理平台;所述桌面云管理平台包括,服务器集群管理模块、桌面云虚拟机管理模块、存储管理模块和用户管理模块;
实施例4
如实施例3所述的部署桌面云管理平台的方法,所不同的是,所述服务器集群管理模块对桌面云的计算节点进行管理;服务器集群管理模块对桌面云的计算节点进行管理的具体过程包括,调用libvirtd API查看计算节点运行状态,添加/删除计算节点;将添加的计算节点保存于计算节点服务器集群实体中并通过vnc对计算节点服务器进行可视化操作;
实施例5
如实施例3所述的部署桌面云管理平台的方法,所不同的是,所述桌面云虚拟机管理模块,通过KVM虚拟化环境为每一台虚拟机自动分配一个UUID,作为桌面云虚拟机的唯一标志;对任意的桌面云虚拟机进行以下操作:查看虚拟机状态、新建/删除虚拟机、修改虚拟机配置、打开/关闭虚拟机和打开/关闭可视化操作管理。
实施例6
如实施例3所述的部署桌面云管理平台的方法,所不同的是,所述存储管理模块,对桌面云计算节点中/var/lib/libvirt/images下的文件进行存储管理;存储管理的具体过程包括,通过libvirt API查看存储池状态、删除虚拟磁盘,以及通过xml文件模板创建虚拟磁盘。所述存储池是指虚拟化环境中物理服务器保存虚拟机的存储副本、卷影副本和传输日志的一组磁盘。
实施例7
如实施例3所述的部署桌面云管理平台的方法,所不同的是,所述用户管理模块实现用户验证功能和权限管理功能;
用户验证的具体过程为:
用户或者管理员通过输入用户名和密码;浏览器通过POST方式将用户名和密码数据提交给控制节点服务器;
服务器接收用户名和密码数据后,先对密码进行MD5加密,然后根据用户名从所述用户实体中提取密码,将提取的密码与MD5加密后的密码进行对比,如果一致,则成功登录进入系统;否则,返回登陆界面;用户验证:在使用过程中每个用户对自己的虚拟机运行进行状态检查和可视化VNC操作时,都需要对用户身份验证。
权限管理的具体过程为:
系统的使用者包括用户和管理员;权限管理对两个系统使用者进行区分,并给予不同的权限;在数据库实体中,通过给think_user表增加一个priority字段,对不同的系统使用者进行区分;当系统使用者登录系统,根据系统使用者的priority字段值,开放给系统使用者不同的模块权限。
实施例8
一种利用实施例3-7所述方法构建的桌面云管理平台对桌面云管理的方法,包括步骤如下:
A)将步骤5)构建的镜像上传到DockerHub私有repository中;
B)将所述Docker容器的httpd服务监听端口号映射到控制节点服务器端口;
C)系统使用者对系统进行访问。桌面云管理的网络流向如图3所示。
Claims (6)
1.一种基于Docker部署桌面云管理平台系统的方法,所述系统包括控制节点服务器、路由器和多个计算节点服务器;所述控制节点服务器与多个所述计算节点服务器通过所述路由器连接在同一个局域网;所述路由器为千兆路由器;所述计算节点服务器为桌面云计算节点服务器;其特征在于,包括步骤如下:
1)初始化环境;在所述计算节点服务器中安装KVM虚拟化环境,并通过更改/etc/libvirt/libvirtd.conf中的参数,将所有计算节点运行的libvirtd守护进程更改为支持TCP协议远程连接;在所述计算节点服务器中安装vnc-server以支持远程可视化操作;
2)在所述控制节点服务器中安装Docker运行环境,构建Docker镜像的Dockerfile文件,作为系统的Docker镜像模板;
3)系统首次运行时,在控制节点服务器中启动Docker容器,并在Docker容器中将一个基本的centos镜像pull到控制节点服务器;
4)在步骤3)创建的镜像中安装php-libvirt支持;
5)在步骤4)创建的Docker镜像中,初始化数据库实体;所述数据库实体包括用户实体、计算节点服务器集群实体、云桌面虚拟机实体和模板参数实体;
6)在步骤5)创建好数据库实体的Docker镜像中,创建基于B/S架构的桌面云管理平台;所述桌面云管理平台包括,服务器集群管理模块、桌面云虚拟机管理模块、存储管理模块和用户管理模块。
2.根据权利要求1所述的基于Docker部署桌面云管理平台系统的方法,其特征在于,所述服务器集群管理模块对桌面云的计算节点进行管理;服务器集群管理模块对桌面云的计算节点进行管理的具体过程包括,调用libvirtd API查看计算节点运行状态,添加/删除计算节点;将添加的计算节点保存于计算节点服务器集群实体中并通过vnc对计算节点服务器进行可视化操作。
3.根据权利要求1所述的基于Docker部署桌面云管理平台系统的方法,其特征在于,所述桌面云虚拟机管理模块,通过KVM虚拟化环境为每一台虚拟机自动分配一个UUID,作为桌面云虚拟机的唯一标志;对任意的桌面云虚拟机进行以下操作:查看虚拟机状态、新建/删除虚拟机、修改虚拟机配置、打开/关闭虚拟机和打开/关闭可视化操作管理。
4.根据权利要求1所述的基于Docker部署桌面云管理平台系统的方法,其特征在于,所述存储管理模块,对桌面云计算节点中/var/lib/libvirt/images下的文件进行存储管理;存储管理的具体过程包括,通过libvirt API查看存储池状态、删除虚拟磁盘,以及通过xml文件模板创建虚拟磁盘。
5.根据权利要求1所述的基于Docker部署桌面云管理平台系统的方法,其特征在于,所述用户管理模块实现用户验证功能和权限管理功能;
用户验证的具体过程为:
用户或者管理员通过输入用户名和密码;浏览器通过POST方式将用户名和密码数据提交给控制节点服务器;
服务器接收用户名和密码数据后,先对密码进行MD5加密,然后根据用户名从所述用户实体中提取密码,将提取的密码与MD5加密后的密码进行对比,如果一致,则成功登录进入系统;否则,返回登陆界面;
权限管理的具体过程为:
系统的使用者包括用户和管理员;权限管理对两个系统使用者进行区分,并给予不同的权限;在数据库实体中,通过给think_user表增加一个priority字段,对不同的系统使用者进行区分;当系统使用者登录系统,根据系统使用者的priority字段值,开放给系统使用者不同的模块权限。
6.一种利用权利要求1-5任意一项所述方法部署的桌面云管理平台系统对桌面云管理的方法,其特征在于,包括步骤如下:
A)将步骤5)构建的镜像上传到DockerHub私有repository中;
B)将所述Docker容器的httpd服务监听端口号映射到控制节点服务器端口;
C)系统使用者对系统进行访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833559.6A CN107577496B (zh) | 2017-09-15 | 2017-09-15 | 一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833559.6A CN107577496B (zh) | 2017-09-15 | 2017-09-15 | 一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107577496A CN107577496A (zh) | 2018-01-12 |
CN107577496B true CN107577496B (zh) | 2020-11-10 |
Family
ID=61033818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710833559.6A Active CN107577496B (zh) | 2017-09-15 | 2017-09-15 | 一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107577496B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415795B (zh) * | 2018-02-12 | 2019-04-05 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及系统 |
CN108712443A (zh) * | 2018-06-07 | 2018-10-26 | 郑州云海信息技术有限公司 | 云管理平台中连接虚拟机的方法和装置 |
CN108924264A (zh) * | 2018-08-21 | 2018-11-30 | 合肥创旗信息科技有限公司 | 一种桌面云系统 |
CN109218091A (zh) * | 2018-09-12 | 2019-01-15 | 长飞光纤光缆股份有限公司 | 一种用微服务方式部署云管理平台的方法 |
CN109683909A (zh) * | 2018-11-30 | 2019-04-26 | 昆明理工大学 | 一种基于Docker的MPI并行环境自动部署方法 |
CN111343219B (zh) * | 2018-12-18 | 2022-08-02 | 同方威视技术股份有限公司 | 计算服务云平台 |
CN109688002B (zh) * | 2018-12-19 | 2022-05-27 | 超越科技股份有限公司 | 一种基于web可视化虚拟机及容器管理方法及系统 |
CN109889480A (zh) * | 2018-12-25 | 2019-06-14 | 武汉烽火信息集成技术有限公司 | 基于容器和云平台的全国产化融合云平台管理方法及系统 |
CN110830546A (zh) * | 2019-09-20 | 2020-02-21 | 平安科技(深圳)有限公司 | 基于容器云平台的可用域建设方法、装置、设备 |
CN110908756B (zh) * | 2019-11-18 | 2024-02-02 | 西安雷风电子科技有限公司 | 一种云端桌面实时融合切换方法及系统 |
CN112702308A (zh) * | 2020-08-20 | 2021-04-23 | 纬领(青岛)网络安全研究院有限公司 | 大数据私有云存储安全性分析及实践研究 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2019358A1 (en) * | 2007-07-25 | 2009-01-28 | Deutsche Telekom AG | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers |
CN103699430A (zh) * | 2014-01-06 | 2014-04-02 | 山东大学 | 基于j2ee架构的远程kvm虚拟机管理系统的工作方法 |
CN104735102A (zh) * | 2013-12-18 | 2015-06-24 | 广州岚萃贸易有限公司 | 一种基于云平台和云计算的客户关系管理系统 |
-
2017
- 2017-09-15 CN CN201710833559.6A patent/CN107577496B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2019358A1 (en) * | 2007-07-25 | 2009-01-28 | Deutsche Telekom AG | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers |
CN104735102A (zh) * | 2013-12-18 | 2015-06-24 | 广州岚萃贸易有限公司 | 一种基于云平台和云计算的客户关系管理系统 |
CN103699430A (zh) * | 2014-01-06 | 2014-04-02 | 山东大学 | 基于j2ee架构的远程kvm虚拟机管理系统的工作方法 |
Non-Patent Citations (1)
Title |
---|
OpenStack集成Docker;振宇要低调;《https://www.cnblogs.com/zhenyuyaodidiao/p/4466733.html》;20150429;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107577496A (zh) | 2018-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577496B (zh) | 一种基于Docker部署桌面云管理平台的系统及其工作方法与应用 | |
US11902248B2 (en) | Cloud data lake platform and SaaS orchestration | |
US8762538B2 (en) | Workload-aware placement in private heterogeneous clouds | |
CN111274001B (zh) | 微服务管理平台 | |
US20180097791A1 (en) | Method and system for securely transmitting volumes into cloud | |
EP2823393A1 (en) | Offline provisioning of virtual machines | |
EP3920017A1 (en) | Synchronization of data between local and remote computing environment buffers | |
US11520609B2 (en) | Template-based software discovery and management in virtual desktop infrastructure (VDI) environments | |
US20220337578A1 (en) | Integrated authentication and authorization for cloud data lakes | |
CN103309722A (zh) | 一种云计算系统及其应用访问方法 | |
Loomis et al. | Stratuslab cloud distribution | |
Hao | Edge computing on low availability devices with K3S in a smart home IoT system | |
CN116260732A (zh) | 一种多云统管的共享系统和方法 | |
CN116940931A (zh) | 使用谓词的字符串自动推理的分布式分解 | |
CN110825010B (zh) | 一种裸金属自动化控制系统及方法 | |
Sehgal | Introduction to OpenStack | |
US10680895B1 (en) | Method and system for automatic patterns generation and testing | |
Aryotejo et al. | Open Source network boot server for low-cost computer network learning | |
Aydin et al. | Building a high performance computing clusters to use in computing course applications | |
Horrow et al. | Implementing private cloud at IIT Roorkee: An initial experience | |
US20240187376A1 (en) | Cloud data lake platform and SaaS orchestration | |
Miao et al. | The Design of a private cloud infrastructure based on Xen | |
Jinhui et al. | Network center's highly-efficient management solutions based on intel pxe-based remote cloning system | |
Manikandasaran et al. | Secure architecture for virtual machine to container migration in cloud computing | |
US20240152372A1 (en) | Virtual representations of endpoints in a computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |