当前位置: 首页 > 专利查询>北京大学专利>正文

一种多用户环境下利用浏览器访问Linux容器集群的方法和装置制造方法及图纸

技术编号:15638938 阅读:78 留言:0更新日期:2017-06-15 20:22
本发明专利技术涉及一种多用户环境下利用浏览器访问Linux容器集群的方法和装置。该方法在Linux容器集群上部署Master节点和若干Worker节点,其中Master节点进行集中的管理,用于处理用户通过点击网页按钮发来的URL请求,并将其解析,然后分发到Worker节点上,Worker节点是Linux容器的载体,并处理Master发来的对Linux容器的操作请求。本发明专利技术能够使用户通过浏览器访问Linux容器集群,同时保证在多用户环境下的安全可靠性;用户可以点击网页上的相应按钮,在服务器端实现Linux容器集群的创建、扩张或收缩,能够方便快捷地进行分布式应用的开发和部署。

【技术实现步骤摘要】
一种多用户环境下利用浏览器访问Linux容器集群的方法和装置
本专利技术是一种多用户环境下利用浏览器访问Linux容器集群的方法和装置,属于软件

技术介绍
Linux容器是一种操作系统层虚拟化技术,用来进行进程和资源的隔离。与虚拟机技术相比,Linux容器不需要指令级模拟,所以显得更为轻量,性能也更高,是目前云计算领域备受瞩目的技术之一。Linux容器集群是指将分布于物理集群上的多个Linux容器利用网络连接起来,组成的虚拟集群。利用这样的虚拟集群,可以开发和部署诸如Spark,MPI等分布式应用,同时由于底层的基础是Linux容器,所以在虚拟集群上的操作不会对物理服务器产生影响,具有很高的安全性和可用性。多用户环境是指在同一个物理集群下,有很多的Linux容器集群,每个集群由若干个Linux容器组成,这些集群可以属于不同的用户,在这样一个环境下,需要对虚拟集群进行隔离。传统的对Linux容器集群进行访问的方法,是利用本地的ssh客户端,通过ssh进行远程登录,这就需要用户在本地安装ssh客户端软件,同时还要用户记住目标集群的地址、用户名和密码,便利性显得不足。Jupyter是一个利用浏览器来对计算机进行访问的工具。通过使用Jupyter,可以直接使用浏览器在网页上对计算机进行各种操作,包括文件阅读和编辑,终端操作,以及包括R,python在内的多种语言的交互式编程。Jupyter的这一功能使得我们可以将其用于Linux容器的访问中,但它仅适合单一Linux容器的场合,并不能同时访问一个Linux容器集群中的所有容器;同时,当Linux容器没有全局IP地址时,无法直接访问该容器的Jupyter界面;最后,在多用户的情况下,还有不同用户之间能互相访问同一容器的问题。
技术实现思路
本专利技术针对上述问题,实现了一种多用户环境下利用浏览器访问Linux容器集群的方法和装置,使用户能够通过浏览器访问Linux容器集群,同时保证在多用户环境下的安全可靠性。本专利技术采用的技术方案如下:一种多用户环境下利用浏览器访问Linux容器集群的方法,包括以下步骤:1)在Linux容器集群上部署Master节点和若干Worker节点,其中Master节点用于进行集中管理,Worker节点是Linux容器的载体;2)在创建Linux容器集群时,Master节点为Linux容器集群分配一个子网,并从该子网内部为Linux容器分配IP地址(这样同一个容器集群内的容器会处于同一子网内);3)Master节点处理用户的创建Linux容器集群的请求,并将其分发到Worker节点,由Worker节点创建Linux容器;4)对创建的Linux容器进行Jupyter相关参数的配置,并启动Jupyter,通过http代理(配置于服务器端)将对Linux容器集群访问的URL绑定到Linux容器的Jupyter运行端口上;5)当用户访问Linux容器集群时,由Master节点对用户信息进行认证,认证成功则进入对应的Jupyter页面,从而实现对Linux容器集群的访问。进一步地,在Linux容器所在的宿主机上构建虚拟网桥,并在各虚拟网桥之间搭建GRE(GenericRoutingEncapsulation,通用路由封装)隧道,使得分布于不同宿主机上的Linux容器之间能互相连通,并利用iptables(Linux内核集成的IP信息包过滤系统)做NAT(NetworkAddressTranslation,网络地址转换)映射使得Linux容器能与外部网络通信。进一步地,Master节点使用伙伴算法为Linux容器集群分配一个子网,随后从该子网的IP地址段中随机选择IP地址并分配给Linux容器。进一步地,使用VLAN(VirtualLocalAreaNetwork,虚拟局域网)技术防止Linux容器数量过多时造成的广播风暴。进一步地,对同一个Linux容器集群内的Linux容器之间进行host(主机)信息登记,并进行互相之间的ssh(SecureShell,安全外壳协议)免认证登陆。进一步地,通过浏览器的cookie存储用户信息,当用户点击访问Linux容器集群的按钮时,会将存储于浏览器cookie中的用户信息发送到服务器端,在服务器端进行用户信息认证,验证成功,即可进入所启动的Jupyter页面内。在进入的Jupyter页面内,用户可以进入网页版终端进行操作,并可以免认证地登陆进集群内的其他Linux容器内,从而轻松地开发和部署分布式应用。一种多用户环境下利用浏览器访问Linux容器集群的装置,包括部署在Linux容器集群上的Master节点、若干Worker节点和http代理工具;所述Master节点用于进行集中管理,处理用户的创建Linux容器集群的请求,并将其分发到Worker节点;所述Worker节点是Linux容器的载体,用于处理Master发来的对Linux容器的操作请求;在创建Linux容器集群时,Master节点为Linux容器集群分配一个子网,并从该子网内部为Linux容器分配IP地址;所述http代理工具用于将对Linux容器集群访问的URL绑定到Linux容器的Jupyter运行端口上,以实现用户对Linux容器集群的访问。采用本专利技术的方案,用户可以点击网页上的创建Linux容器集群按钮,选择相关参数,如内存限额,磁盘限额等之后,在服务器端为用户创建好Linux容器集群。采用本专利技术的方案,用户可以对已存在的Linux容器集群进行扩张,通过点击网页上的对应按钮,可以新建Linux容器,并将其与原先的集群通过网络进行连接。采用本专利技术的方案,用户可以对已存在的Linux容器集群进行收缩,通过点击网页上的对应按钮,可以删除一个集群内的某个Linux容器。本专利技术的有益效果如下:本专利技术能够使用户通过浏览器访问Linux容器集群,同时保证在多用户环境下的安全可靠性。采用本专利技术的方法,用户可以点击网页上的相应按钮,在服务器端实现Linux容器集群的创建、扩张或收缩。用户可以使用Jupyter,在网页上进行应用开发和部署,同时,基于底层的Linux容器集群,用户还可以方便快捷地进行分布式应用的开发和部署。附图说明图1为本专利技术装置的架构图。图2是本专利技术装置的网络结构图。图3为本专利技术创建和访问一个容器集群的流程图。图4和图5是Linux容器集群子网分配所使用的的伙伴算法的流程图。具体实施方式下面通过具体实施例和附图,对本专利技术做进一步说明。本专利技术实现了一个通过浏览器创建和访问Linux容器集群的装置,图1为本专利技术装置的架构图,该装置部署在一个集群上,是一个Master-Worker模式的系统。其中Master节点(主节点,或可称作管理节点)进行集中的管理,用于处理用户通过点击网页按钮发来的URL请求,并将其解析,然后分发到Worker节点(工作节点)上,Worker节点是Linux容器的载体,并处理Master发来的对Linux容器的操作请求。本专利技术同时还提供了web界面,方便用户操作。下面详细解释具体的实施方式。在本专利技术中,使用了http代理工具configure-http-proxy来实现对URL的解析,初始时没有Linux容器集群,代本文档来自技高网
...
一种多用户环境下利用浏览器访问Linux容器集群的方法和装置

【技术保护点】
一种多用户环境下利用浏览器访问Linux容器集群的方法,其特征在于,包括以下步骤:1)在Linux容器集群上部署Master节点和若干Worker节点,其中Master节点用于进行集中管理,Worker节点是Linux容器的载体;2)在创建Linux容器集群时,Master节点为Linux容器集群分配一个子网,并从该子网内部为Linux容器分配IP地址;3)Master节点处理用户的创建Linux容器集群的请求,并将其分发到Worker节点,由Worker节点创建Linux容器;4)对创建的Linux容器进行Jupyter相关参数的配置,并通过http代理将对Linux容器集群访问的URL绑定到Linux容器的Jupyter运行端口上;5)当用户访问Linux容器集群时,由Master节点对用户信息进行认证,认证成功则进入对应的Jupyter页面,从而实现对Linux容器集群的访问。

【技术特征摘要】
1.一种多用户环境下利用浏览器访问Linux容器集群的方法,其特征在于,包括以下步骤:1)在Linux容器集群上部署Master节点和若干Worker节点,其中Master节点用于进行集中管理,Worker节点是Linux容器的载体;2)在创建Linux容器集群时,Master节点为Linux容器集群分配一个子网,并从该子网内部为Linux容器分配IP地址;3)Master节点处理用户的创建Linux容器集群的请求,并将其分发到Worker节点,由Worker节点创建Linux容器;4)对创建的Linux容器进行Jupyter相关参数的配置,并通过http代理将对Linux容器集群访问的URL绑定到Linux容器的Jupyter运行端口上;5)当用户访问Linux容器集群时,由Master节点对用户信息进行认证,认证成功则进入对应的Jupyter页面,从而实现对Linux容器集群的访问。2.如权利要求1所述的方法,其特征在于:在Linux容器所在的宿主机上构建虚拟网桥,并在各虚拟网桥之间搭建GRE隧道,使得分布于不同宿主机上的Linux容器之间能互相连通,并利用iptables做NAT映射使得Linux容器能与外部网络通信。3.如权利要求2所述的方法,其特征在于:在创建Linux容器集群时,用户点击网页上的创建Linux容器集群按钮,选择相关参数之后,创建请求的URL被发送到Master节点上;Worker节点从Master节点收到创建Linux容器的请求后,根据Linux容器被分配到的IP地址和构建出来的虚拟网桥信息,以及用户填写的参数生成配置文件,然后调用Linux容器的命令,以该配置文件为基础创建Linux容器。4.如权利要求2所述的方法,其特征在于:步骤2)中Master节点使用伙伴算法为Linux容器集群分配一个子网,随后从该子网的IP地址段中随机选择IP地址并分配给Linux容器。5.如权利要求4所述的方法,其特征在于:步骤2)中Master节点为Linux容器集群分配一个VLANID;步骤3)中创建Linux容器后,在宿主机网桥上对连接该IP地址的端...

【专利技术属性】
技术研发人员:曹东刚钟业弘黄罡
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1