CN105610946A - 一种基于docker技术的云跳板机*** - Google Patents

一种基于docker技术的云跳板机*** Download PDF

Info

Publication number
CN105610946A
CN105610946A CN201511021768.8A CN201511021768A CN105610946A CN 105610946 A CN105610946 A CN 105610946A CN 201511021768 A CN201511021768 A CN 201511021768A CN 105610946 A CN105610946 A CN 105610946A
Authority
CN
China
Prior art keywords
docker
springboard
springboard machine
machine
main
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.)
Granted
Application number
CN201511021768.8A
Other languages
English (en)
Other versions
CN105610946B (zh
Inventor
胡建康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201511021768.8A priority Critical patent/CN105610946B/zh
Publication of CN105610946A publication Critical patent/CN105610946A/zh
Application granted granted Critical
Publication of CN105610946B publication Critical patent/CN105610946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种基于docker技术的云跳板机***,包括:中央管理模块,其部署docker容器服务器的运行环境以构建docker容器服务器,并构建docker容器管理模块,在满足预定条件时,向docker容器管理模块发送创建主docker跳板机的指令,部署该主docker跳板机的运行环境;docker容器管理模块,其在接收到创建主docker跳板机的指令时,创建并启动相应的主docker跳板机,将docker容器服务器的端口映射到主docker跳板机的交互服务端口;主docker跳板机,其添加需要管理的服务器,监控并记录用户对需要管理的服务器的访问行为。本方案可降低部署虚拟跳板机的成本。

Description

一种基于docker技术的云跳板机***
技术领域
本发明涉及软件技术领域,特别是涉及一种基于docker技术的云跳板机***。
背景技术
服务器的安全审计主要用于监控用户的各种操作行为,进而审计服务器的安全。当前市面上有很多跳板机(堡垒机)之类的审计硬件,都是用于控制用户的访问权限,审计用户的操作行为,以达到及时发现异常操作的目的,从而保证服务器的安全。而一台跳板机的价格比较昂贵,导致企业一般都是购买一两台跳板机去管理企业内部所有的服务器。
随着云计算的快速发展和虚拟化技术的成熟,企业也开始部署自己的私有云来降低基础设施成本。私有云的部署,导致企业服务器数量暴增,那么,如何去有效地管理大量的服务器,包括用户权限访问控制,用户行为审计等,就是一个比较突出的问题了。倘若有上千的员工,上万台服务器,仍然用一两台跳板机去管理,那么安全运维人员的工作量会大大增加,其工作质量的稳定性和可靠性就难以得到保证,而云跳板机则可以较好地解决这些问题。
目前,云跳板机***中的虚拟跳板机的部署都是基于***级虚拟化技术的,例如xen、vmware等虚拟化技术,即在宿主***上再运行一个客户操作***。而客户操作***的配置是已经固定分配好的,也就是说这些虚拟化技术是会给虚拟跳板机分配独立且固定的CPU、内存、硬盘等硬件资源的。由于实际应用中每个虚拟跳板机所管理的服务器数量和分布位置不同,因此,各个虚拟跳板机所需的硬件资源存在极大差别,并不是相同的,可见,现有的云跳板机***会造成硬件资源利用率低和资源浪费的问题,部署虚拟跳板机的成本很高。
发明内容
本发明实施例公开了一种基于docker技术的云跳板机***,以提高硬件资源的利用率,解决资源浪费的问题,降低部署虚拟跳板机的成本。具体技术方案如下:
本发明实施例公开了一种基于docker技术的云跳板机***,所述***包括:
中央管理模块,用于部署docker容器服务器的运行环境以构建docker容器服务器,并在所述docker容器服务器中构建docker容器管理模块,将该docker容器服务器设置为可用状态,并且,在满足预定条件时,向属于可用状态的docker容器服务器中的docker容器管理模块发送创建主docker跳板机的指令,并在所述docker容器管理模块创建并启动相应的主docker跳板机后部署该主docker跳板机的运行环境;
docker容器管理模块,用于在接收到中央管理模块发送的创建主docker跳板机的指令时,创建并启动相应的主docker跳板机,并将所述docker容器服务器的端口映射到所述主docker跳板机的交互服务端口,以使得用户通过docker容器服务器的端口访问所述主docker跳板机;
所述主docker跳板机,用于添加需要管理的服务器,监控并记录用户对所述需要管理的服务器的访问行为,其中,每台服务器隶属于唯一的主docker跳板机。
在本发明的一种具体实现方式中,所述docker容器管理模块,还用于:
在接收到中央管理模块发送的创建从docker跳板机的指令时,创建并启动与所述主docker跳板机相关联的至少一个从docker跳板机,并将所述docker容器服务器的端口映射到所述从docker跳板机的交互服务端口,以使用户通过docker容器服务器的端口访问所述从docker跳板机;
所述中央管理模块,还用于:在所述docker容器管理模块创建并启动相应的从docker跳板机后部署该从docker跳板机的运行环境;
所述从docker跳板机用于:满足所在地理位置不同的用户的访问需求,以使得用户通过所述从docker跳板机访问其关联的所述主docker跳板机所添加的服务器。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
将所述主docker跳板机中的密钥信息同步到相关联的所有所述从docker跳板机中。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
产生跳板机的任务消息,并通过所述docker容器服务器的端口将所述任务消息发送到相应的所述主docker跳板机或从docker跳板机;
相应的,所述主docker跳板机或从docker跳板机,还用于:
接收并执行所述任务消息。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
发送删除主docker跳板机或删除从docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述删除主docker跳板机或删除从docker跳板机的指令,并删除相应的主docker跳板机或从docker跳板机。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
监控所有主docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的主docker跳板机标记为失效状态,并检查该被标记为失效状态的主docker跳板机是否有相关联的从docker跳板机正常动作,如果是,
将该正常工作的从docker跳板机设置为主docker跳板机,并向所述docker容器管理模块发送创建从docker跳板机的指令,否则,
向所述docker容器管理模块发送创建主docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将所述标记为失效状态的主docker跳板机中的用户信息同步到新创建的从docker跳板机中;
接收所述创建主docker跳板机的指令,创建并启动相应的主docker跳板机,将所述标记为失效状态的主docker跳板机中的用户信息同步到新创建的主docker跳板机中。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
监控所有从docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的从docker跳板机标记为失效状态,并向所述docker容器管理模块发送创建从docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将所述标记为失效状态的从docker跳板机所关联的主docker跳板机中的用户信息同步到新创建的从docker跳板机中。
在本发明的一种具体实现方式中,所述中央管理模块,具体用于:
在所述docker容器管理模块创建并启动所述主docker跳板机或从docker跳板机后,采用fabric远程部署所述创建的主docker跳板机或从docker跳板机的运行环境。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
获得升级指定主docker跳板机或从docker跳板机的指令后,采用fabric远程部署所述指定主docker跳板机或从docker跳板机的运行环境。
在本发明的一种具体实现方式中,所述中央管理模块,还用于:
对所有主docker跳板机和从docker跳板机的密钥信息和数据库信息定期进行备份,并将备份文件存储到相应云盘中。
在本发明的一种具体实现方式中,所述主docker跳板机和从docker跳板机,还用于:
将本地日志同步到中央数据库,其中,所述本地日志为登陆日志和用户操作日志,所述中央数据库为与所述***对应的中央数据库。
在本发明的一种具体实现方式中,所述主docker跳板机,还用于:
定期检测是否存在所述主docker跳板机所对应的版本更新包;
如果存在,
下载所述版本更新包,并在预定时间点更新所述主docker跳板机;
所述从docker跳板机,还用于:
定期检测是否存在所述从docker跳板机所对应的版本更新包;
如果存在,
下载所述版本更新包,并在预定时间点更新所述从docker跳板机。
在本发明的一种具体实现方式中,所述***还包括:
交互模块,用于接收管理人员对所述主docker跳板机或从docker跳板机的管理指令,并对相应的主docker跳板机或从docker跳板机执行与管理指令所对应的管理操作,和/或,用于接收用户对所述主docker跳板机或从docker跳板机的查询指令,并对相应的主docker跳板机或从docker跳板机执行与查询指令所对应的查询操作。
本发明实施例提供的一种基于docker技术的云跳板机***,包括docker容器构建模块、中央管理模块、docker容器管理模块和docker跳板机,利用轻量级的docker虚拟化技术,docker容器管理模块接收到中央管理模块发出的创建docker跳板机的指令后,可以相应的创建多个docker跳板机,所有的docker跳板机共享主机硬件的计算、存储等资源,可以实现硬件资源的共享,大幅提高资源利用率,避免资源浪费,降低部署虚拟跳板机的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于docker技术的云跳板机***的结构示意图;
图2为本发明实施例提供的一种基于docker技术的云跳板机***的另一结构示意图;
图3为本发明实施例提供的一种基于docker技术的云跳板机***的应用实例的工作原理示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于docker技术的云跳板机***,该***包括:中央管理模块101,docker容器管理模块102,主docker跳板机103。
其中,中央管理模块101,用于部署docker容器服务器的运行环境以构建docker容器服务器,并在所述docker容器服务器中构建docker容器管理模块,将该docker容器服务器设置为可用状态,并且,在满足预定条件时,向属于可用状态的docker容器服务器中的docker容器管理模块发送创建主docker跳板机的指令,并在所述docker容器管理模块创建并启动相应的主docker跳板机后部署该主docker跳板机的运行环境。
需要说明的是,根据实际应用需要,可以构建一个或多个docker容器服务器,并在每个docker容器服务器中构建对应的docker容器管理模块,这都是合理的。
其中,docker容器管理模块102,用于在接收到中央管理模块发送的创建主docker跳板机的指令时,创建并启动相应的主docker跳板机,并将所述docker容器服务器的端口映射到所述主docker跳板机的交互服务端口,以使得用户通过docker容器服务器的端口访问所述主docker跳板机。
需要说明的是,根据实际应用需要,可以根据接收到中央管理模块发送的创建主docker跳板机的指令,在一个docker容器服务器中创建并启动一个或多个主docker跳板机,也可以在不同的docker容器服务器中创建并启动一个或多个主docker跳板机,这都是合理的。
其中,所述主docker跳板机103,用于添加需要管理的服务器,监控并记录用户对所述需要管理的服务器的访问行为,其中,每台服务器隶属于唯一的主docker跳板机。
需要说明的是,一个主docker跳板机可以添加多台需要管理的服务器,但是,为避免管理混乱,每台服务器只能隶属于唯一的主docker跳板机,不能同时添加到多台主docker跳板机。
需要强调的是,所述主跳板机103监控并记录用户对所述需要管理的服务器的访问行为的具体实现方式可以采用现有技术中的跳板机监控并记录用户对需要管理的服务器的访问行为的具体实现实现方式。
本发明实施例提供的一种基于docker技术的云跳板机***,包括docker容器构建模块、中央管理模块、docker容器管理模块和docker跳板机,利用轻量级的docker虚拟化技术,docker容器管理模块接收到中央管理模块发出的创建docker跳板机的指令后,可以相应的创建多个docker跳板机,所有的docker跳板机共享主机硬件的计算、存储等资源,可以实现硬件资源的共享,大幅提高资源利用率,避免资源浪费,降低部署虚拟跳板机的成本。
更进一步的,在本发明的一种较佳实现方式中,该docker容器管理模块102,还可以用于:
在接收到中央管理模块101发送的创建从docker跳板机的指令时,创建并启动与所述主docker跳板机相关联的至少一个从docker跳板机,并将所述docker容器服务器的端口映射到所述从docker跳板机的交互服务端口,以使用户通过docker容器服务器的端口访问所述从docker跳板机;
相应的,该中央管理模块101,还可以用于:在该docker容器管理模块创建并启动相应的从docker跳板机后部署该从docker跳板机的运行环境;
其中,所述从docker跳板机用于:满足所在地理位置不同的用户的访问需求,以使得用户通过所述从docker跳板机访问其关联的所述主docker跳板机所添加的服务器。
需求强调的是,所述从跳板机可以监控并记录用户对所关联的主跳板机所添加的服务器的访问行为,并且,从跳板机监控并记录访问行为的具体实现方式可以采用现有技术中的跳板机监控并记录用户对需要管理的服务器的访问行为的具体实现实现方式。
举例而言,用户分别在北京和上海两个城市,可以在北京和上海两个城市的docker容器服务器中分别创建并启动与该主docker跳板机相关联的从docker跳板机,北京的用户可以通过北京的docker容器服务器创建并启动的从docker跳板机访问该主docker跳板机所添加的服务器,上海的用户可以通过上海的docker容器服务器创建并启动的从docker跳板机访问该主docker跳板机所添加的服务器,这样可以提高访问速度,减少主docker跳板机的处理压力。
更进一步的,在本发明的一种较佳实现方式中,在创建并启动所述从docker跳板机后,中央管理模块101还可以用于:将该主docker跳板机中的密钥信息同步到相关联的所有从docker跳板机中,以使所有从docker跳板机的密钥信息与该主docker跳板机中的密钥信息保持一致,达到高可靠的目的。
更进一步的,在本发明的一种较佳实现方式中,上述中央管理模块101,还可以用于:
产生跳板机的任务消息,并通过所述docker容器服务器的端口将该任务消息发送到相应的主docker跳板机或从docker跳板机。举例而言,该任务消息可以为:添加或删除服务器消息、添加或删除用户权限消息、密钥分发消息,当然并不局限于此。
相应的主docker跳板机或从docker跳板机,还用于:接收并执行所述任务消息。
更进一步的,该中央管理模块101,在本发明的一种较佳实现方式中,还可以用于:
在不需要某一主docker跳板机或者某一从docker跳板机时,向docker容器管理模块102发送删除主docker跳板机或删除从docker跳板机的指令;
相应的,docker容器管理模块102,还可以用于:
接收该删除主docker跳板机或删除从docker跳板机的指令,并删除相应的主docker跳板机或从docker跳板机。
更进一步的,在本发明的一种较佳实现方式中,上述中央管理模块101还可以用于:
监控所有主docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的主docker跳板机标记为失效状态,并检查该被标记为失效状态的主docker跳板机是否有相关联的从docker跳板机正常动作,如果是,
将该正常工作的从docker跳板机设置为主docker跳板机,并向所述docker容器管理模块发送创建从docker跳板机的指令,否则,
向上述docker容器管理模块102发送创建主docker跳板机的指令;
相应的,该docker容器管理模块102,还用于:
接收上述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将上述标记为失效状态的主docker跳板机中的用户信息同步到新创建的从docker跳板机中;
接收上述创建主docker跳板机的指令,创建并启动相应的主docker跳板机,将上述标记为失效状态的主docker跳板机中的用户信息同步到新创建的主docker跳板机中。
其中,上述预设时间范围可以由用户根据实际需要定义,例如,1小时、2小时、5小时等;确定所述主docker跳板机是否正常工作,可以通过检查其是否保持心跳、是否可以正常连接等现有方式来确定,在此不做具体限定。
需要说明的是,检查该被标记为失效状态的主docker跳板机是否有相关联的从docker跳板机正常动作时,优先检查与该被标记为失效状态的主docker跳板机所在同一docker容器管理服务器的相关联的从docker跳板机,这样更利于故障的快速解决。
更进一步的,在本发明的一种较佳实现方式中,上述中央管理模块101还可以用于:
监控所有从docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的从docker跳板机标记为失效状态,并向上述docker容器管理模块102发送创建从docker跳板机的指令;
相应的,该docker容器管理模块102,还可以用于:
接收上述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将上述标记为失效状态的从docker跳板机所关联的主docker跳板机中的用户信息同步到新创建的从docker跳板机中。
其中,上述预设时间范围可以由用户根据实际需要定义,例如,1小时、2小时、5小时等;确定所述主docker跳板机是否正常工作,可以通过检查其是否保持心跳、是否可以正常连接等现有方式来确定,在此不做具体限定。
更进一步的,在本发明的一种较佳实现方式中,在上述docker容器管理模块102创建并启动所述主docker跳板机或从docker跳板机后,中央管理模块101采用fabric远程部署创建的主docker跳板机或从docker跳板机的运行环境。
更进一步的,在本发明的一种较佳实现方式中,中央管理模块101还可以用于:获得升级指定主docker跳板机或从docker跳板机的指令后,采用fabric远程部署该指定主docker跳板机或从docker跳板机的运行环境,进行升级。
更进一步的,在本发明的一种较佳实现方式中,中央管理模块101还可以对所有主docker跳板机和从docker跳板机的密钥信息和数据库信息定期进行备份,并将备份文件存储到相应云盘中,防止数据丢失。
另外,上述主docker跳板机和从docker跳板机还可以用于:
将本地日志同步到中央数据库,以存储和管理本地日志。其中,所述本地日志为登陆日志和用户操作日志,所述中央数据库为与所述***对应的中央数据库。
进一步的,所述主docker跳板机,还用于:
定期检测是否存在该主docker跳板机所对应的版本更新包;
如果存在,
下载该版本更新包,并在预定时间点更新该主docker跳板机;
所述从docker跳板机,还用于:
定期检测是否存在该从docker跳板机所对应的版本更新包;
如果存在,
下载该版本更新包,并在预定时间点更新该从docker跳板机。
其中,所述预定时间点可以为预先设定的任意时间点,例如每个星期三中午12:00等。这样可以实现定期主动升级。
需要说明的是,本发明实施例提供的一种基于docker技术的云跳板机***,如图2所示,还可以包括:交互模块104。
该交互模块104可以用于:接收管理人员对上述主docker跳板机或从docker跳板机的管理指令,并对相应的主docker跳板机或从docker跳板机执行与管理指令所对应的管理操作,和/或,用于接收用户对上述主docker跳板机或从docker跳板机的查询指令,并对相应的主docker跳板机或从docker跳板机执行与查询指令所对应的查询操作。
具体的,管理人员可以通过该交互模块104对上述主docker跳板机或从docker跳板机进行管理操作,例如,用户权限操作、密钥操作、***维护等;用户可以通过交互模块104查询自己的登录日志、操作日志等信息。
进一步的,该交互模块104还可以用于:接收docker容器管理模块102发送的IP信息、端口映射等信息,并将这些信息存入中央数据库中,以防止数据丢失,保证数据信息安全。还可以用于:提供应用程序接口,以使上述主docker跳板机和从docker跳板机可以通过该应用程序接口将本地日志同步到中央数据库。
更进一步的,该交互模块104还可以用于存放上述版本更新包,上述主docker跳板机或从docker跳板机,可以定期检测该交互模块104中是否存在所述从docker跳板机所对应的版本更新包,并执行相应的更新操作。
下面结合具体的应用实例,对本发明实施例所提供的一种基于docker技术的云跳板机***进行介绍。
如图3所示,一种基于docker技术的云跳板机***,可以包括:
中央管理模块,属于docker容器服务器1的docker容器管理模块1和属于docker容器服务器2的docker容器管理模块1,被docker容器管理模块1所创建的主docker跳板机01以及从docker跳板机01-1,被docker容器管理模块2所创建的主docker跳板机02、从docker跳板机02-1以及与主docker跳板机01相关联从docker跳板机01-2,主docker跳板机01负责的服务器01、服务器02和服务器03,主docker跳板机02负责的服务器04和服务器05,以及交互模块。
该云跳板机***的工作原理为:
中央管理模块部署docker容器服务器1和docker容器服务器2的运行环境,并在docker容器服务器1中构建docker容器管理模块1,在docker容器服务器2中构建docker容器管理模块2,将docker容器服务器1和2设置为可用状态,并且,根据实际使用需要,向docker容器管理模块1发送创建主docker跳板机01以及从docker跳板机01-1的指令,向docker容器管理模块2发送创建主docker跳板机02、从docker跳板机02-1以及与主docker跳板机01相关联从docker跳板机01-2的指令。
docker容器管理模块1在接收到中央管理模块发送的上述创建指令时,创建并启动主docker跳板机01以及从docker跳板机01-1,docker容器管理模块2在接收到中央管理模块发送的上述创建指令时,创建并启动主docker跳板机02、从docker跳板机02-1以及与主docker跳板机01相关联从docker跳板机01-2,并将docker容器服务器1的端口映射到主docker跳板机01以及从docker跳板机01-1的交互服务端口,将docker容器服务器2的端口映射到主docker跳板机02、从docker跳板机02-1以及与主docker跳板机01相关联从docker跳板机01-2的交互服务端口。中央管理模块部署上述所有主docker跳板机和所有从docker跳板机的运行环境。
主docker跳板机01添加需要管理的服务器01、服务器02和服务器03,监控并记录用户对服务器01、服务器02和服务器03的访问行为,主docker跳板机02添加需要管理的服务器04和服务器05,监控并记录用户对服务器04和服务器05的访问行为。
在创建并启动从docker跳板机01-1、从docker跳板机02-1和从docker跳板机01-2后,中央管理模块将主docker跳板机01中的密钥信息同步到从docker跳板机01-1和从docker跳板机01-2中,将主docker跳板机02中的密钥信息同步到从docker跳板机02-1中,以使所有从docker跳板机的密钥信息与对应的主docker跳板机中的密钥信息保持一致,达到高可靠的目的。
中央管理模块还可以产生跳板机的任务消息,例如,中央管理模块通过docker容器服务器1的端口向主docker跳板机01发送删除服务器01的任务消息,相应的,主docker跳板机01接收到该任务消息后,删除服务器01。
在不需要某一主docker跳板机或者某一从docker跳板机时,中央管理模块可以向docker容器管理模块发送删除主docker跳板机或删除从docker跳板机的指令。例如,需要删除从docker跳板机01-2时,中央管理模块向docker容器管理模块2发送删除从docker跳板机01-2的指令,相应的,docker容器管理模块2接收该指令,并删除从docker跳板机01-2。
在本发明的一种可选实现方式中,中央管理模块还可以用于:
监控所有主docker跳板机在预设时间范围内是否正常工作;
假设,判断在预设时间范围内,主docker跳板机01没有正常工作,将主docker跳板机01标记为失效状态,并检查主docker跳板机01相关联的从docker跳板机01-1是否正常动作,如果是,
将该正常工作的从docker跳板机01-1设置为主docker跳板机01,并向docker容器管理模块1发送创建从docker跳板机01-1的指令,否则,
向上述docker容器管理模块1发送创建主docker跳板机01的指令;
其中,上述预设时间范围可以由用户根据实际需要定义,例如,1小时、2小时、5小时等;确定主docker跳板机01是否正常工作,可以通过检查其是否保持心跳、是否可以正常连接等现有方式来确定,在此不做具体限定。
需要说明的是,检查该被标记为失效状态的主docker跳板机01是否有相关联的从docker跳板机正常动作时,优先检查与主docker跳板机01所在同一docker容器管理服务器1的从docker跳板机01-1,这样更利于故障的快速解决。
相应的,docker容器管理模块1,还用于:
接收上述创建从docker跳板机01-1的指令,创建并启动从docker跳板机01-1,将标记为失效状态的主docker跳板机01中的用户信息同步到新创建的从docker跳板机01-1中;
接收上述创建主docker跳板机01的指令,创建并启动主docker跳板机01,将标记为失效状态的主docker跳板机01中的用户信息同步到新创建的主docker跳板机01中。
在本发明的一种较佳实现方式中,上述中央管理模块还可以用于:
监控所有从docker跳板机在预设时间范围内是否正常工作;
假设,判断在预设时间范围内,从docker跳板机02-1没有正常工作,将从docker跳板机02-1标记为失效状态,并向docker容器管理模块2发送创建从docker跳板机02-1的指令;
其中,上述预设时间范围可以由用户根据实际需要定义,例如,1小时、2小时、5小时等;确定所述主docker跳板机是否正常工作,可以通过检查其是否保持心跳、是否可以正常连接等现有方式来确定,在此不做具体限定。
相应的,docker容器管理模块2,还可以用于:
接收上述创建从docker跳板机02-1的指令,创建并启动从docker跳板机02-1,将标记为失效状态的从docker跳板机02-1所关联的主docker跳板机02中的用户信息同步到新创建的从docker跳板机02-1中。
具体的,在上述docker容器管理模块1或docker容器管理模块2创建并启动相应的主docker跳板机或从docker跳板机后,中央管理模块采用fabric远程部署创建的主docker跳板机或从docker跳板机的运行环境。
进一步的,中央管理模块还可以用于:获得升级指定主docker跳板机或从docker跳板机的指令后,采用fabric远程部署该指定主docker跳板机或从docker跳板机的运行环境,进行升级。例如,获得管理人员通过交互模块发送的升级主docker跳板机02的指令后,采用fabric远程部署主docker跳板机02的运动环境,对其进行升级。
更进一步的,中央管理模块还可以对主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2的密钥信息和数据库信息定期进行备份,并将备份文件存储到相应云盘中,防止数据丢失。
另外,主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2可以用于:
通过交互模块提供的应用程序接口,将本地日志同步到中央数据库,以存储和管理本地日志。其中,所述本地日志为登陆日志和用户操作日志,所述中央数据库为与所述***对应的中央数据库。
进一步的,上述主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2还可以:定期检测交互模块中是否存在各自所对应的版本更新包;如果存在,下载该版本更新包,并在预定时间点进行更新,其中,所述预定时间点可以为预先设定的任意时间点,例如每个星期三中午12:00等。这样可以实现定期主动升级。
上述交互模块,具体可以用于:接收管理人员对上述主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2的管理指令,并对相应的主docker跳板机或从docker跳板机执行与管理指令所对应的管理操作,和/或,用于接收用户对上述主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2的查询指令,并对相应的主docker跳板机或从docker跳板机执行与查询指令所对应的查询操作。
具体的,管理人员可以通过该交互模块对上述主docker跳板机01以及从docker跳板机01-1,主docker跳板机02、从docker跳板机02-1以及从docker跳板机01-2进行管理操作,例如,用户权限操作、密钥操作、***维护等;用户可以通过交互模块查询自己的登录日志、操作日志等信息。
进一步的,该交互模块还可以用于:接收docker容器管理模块1和docker容器管理模块2发送的IP信息、端口映射等信息,并将这些信息存入中央数据库中,以防止数据丢失,保证数据信息安全。
本发明实施例提供的一种基于docker技术的云跳板机***,包括docker容器构建模块、中央管理模块、docker容器管理模块和docker跳板机,利用轻量级的docker虚拟化技术,docker容器管理模块接收到中央管理模块发出的创建docker跳板机的指令后,可以相应的创建多个docker跳板机,所有的docker跳板机共享主机硬件的计算、存储等资源,可以实现硬件资源的共享,大幅提高资源利用率,避免资源浪费,降低部署虚拟跳板机的成本。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (13)

1.一种基于docker技术的云跳板机***,其特征在于,所述***包括:
中央管理模块,用于部署docker容器服务器的运行环境以构建docker容器服务器,并在所述docker容器服务器中构建docker容器管理模块,将该docker容器服务器设置为可用状态,并且,在满足预定条件时,向属于可用状态的docker容器服务器中的docker容器管理模块发送创建主docker跳板机的指令,并在所述docker容器管理模块创建并启动相应的主docker跳板机后部署该主docker跳板机的运行环境;
docker容器管理模块,用于在接收到中央管理模块发送的创建主docker跳板机的指令时,创建并启动相应的主docker跳板机,并将所述docker容器服务器的端口映射到所述主docker跳板机的交互服务端口,以使得用户通过docker容器服务器的端口访问所述主docker跳板机;
所述主docker跳板机,用于添加需要管理的服务器,监控并记录用户对所述需要管理的服务器的访问行为,其中,每台服务器隶属于唯一的主docker跳板机。
2.如权利要求1所述的***,其特征在于,所述docker容器管理模块,还用于:
在接收到中央管理模块发送的创建从docker跳板机的指令时,创建并启动与所述主docker跳板机相关联的至少一个从docker跳板机,并将所述docker容器服务器的端口映射到所述从docker跳板机的交互服务端口,以使用户通过docker容器服务器的端口访问所述从docker跳板机;
所述中央管理模块,还用于:在所述docker容器管理模块创建并启动相应的从docker跳板机后部署该从docker跳板机的运行环境;
所述从docker跳板机用于:满足所在地理位置不同的用户的访问需求,以使得用户通过所述从docker跳板机访问其关联的所述主docker跳板机所添加的服务器。
3.如权利要求2所述的***,其特征在于,所述中央管理模块,还用于:
将所述主docker跳板机中的密钥信息同步到相关联的所有所述从docker跳板机中。
4.如权利要求2所述的***,其特征在于,所述中央管理模块,还用于:
产生跳板机的任务消息,并通过所述docker容器服务器的端口将所述任务消息发送到相应的所述主docker跳板机或从docker跳板机;
相应的,所述主docker跳板机或从docker跳板机,还用于:
接收并执行所述任务消息。
5.如权利要求2所述的***,其特征在于,所述中央管理模块,还用于:
发送删除主docker跳板机或删除从docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述删除主docker跳板机或删除从docker跳板机的指令,并删除相应的主docker跳板机或从docker跳板机。
6.如权利要求2所述的***,其特征在于,所述中央管理模块,还用于:
监控所有主docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的主docker跳板机标记为失效状态,并检查该被标记为失效状态的主docker跳板机是否有相关联的从docker跳板机正常动作,如果是,
将该正常工作的从docker跳板机设置为主docker跳板机,并向所述docker容器管理模块发送创建从docker跳板机的指令,否则,
向所述docker容器管理模块发送创建主docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将所述标记为失效状态的主docker跳板机中的用户信息同步到新创建的从docker跳板机中;
接收所述创建主docker跳板机的指令,创建并启动相应的主docker跳板机,将所述标记为失效状态的主docker跳板机中的用户信息同步到新创建的主docker跳板机中。
7.如权利要求6所述的***,其特征在于,所述中央管理模块,还用于:
监控所有从docker跳板机在预设时间范围内是否正常工作;
判断为否时,将在预设时间范围内没有正常工作的从docker跳板机标记为失效状态,并向所述docker容器管理模块发送创建从docker跳板机的指令;
相应的,所述docker容器管理模块,还用于:
接收所述创建从docker跳板机的指令,创建并启动相应的从docker跳板机,将所述标记为失效状态的从docker跳板机所关联的主docker跳板机中的用户信息同步到新创建的从docker跳板机中。
8.如权利要求2-7任意一项所述的***,其特征在于,所述中央管理模块,具体用于:
在所述docker容器管理模块创建并启动所述主docker跳板机或从docker跳板机后,采用fabric远程部署所述创建的主docker跳板机或从docker跳板机的运行环境。
9.如权利要求8所述的***,其特征在于,所述中央管理模块,还用于:
获得升级指定主docker跳板机或从docker跳板机的指令后,采用fabric远程部署所述指定主docker跳板机或从docker跳板机的运行环境。
10.如权利要求8所述的***,其特征在于,所述中央管理模块,还用于:
对所有主docker跳板机和从docker跳板机的密钥信息和数据库信息定期进行备份,并将备份文件存储到相应云盘中。
11.如权利要求8所述的***,其特征在于,所述主docker跳板机和从docker跳板机,还用于:
将本地日志同步到中央数据库,其中,所述本地日志为登陆日志和用户操作日志,所述中央数据库为与所述***对应的中央数据库。
12.如权利要求8所述的***,其特征在于,所述主docker跳板机,还用于:
定期检测是否存在所述主docker跳板机所对应的版本更新包;
如果存在,
下载所述版本更新包,并在预定时间点更新所述主docker跳板机;
所述从docker跳板机,还用于:
定期检测是否存在所述从docker跳板机所对应的版本更新包;
如果存在,
下载所述版本更新包,并在预定时间点更新所述从docker跳板机。
13.如权利要求8所述的***,其特征在于,所述***还包括:
交互模块,用于接收管理人员对所述主docker跳板机或从docker跳板机的管理指令,并对相应的主docker跳板机或从docker跳板机执行与管理指令所对应的管理操作,和/或,用于接收用户对所述主docker跳板机或从docker跳板机的查询指令,并对相应的主docker跳板机或从docker跳板机执行与查询指令所对应的查询操作。
CN201511021768.8A 2015-12-30 2015-12-30 一种基于docker技术的云跳板机*** Active CN105610946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511021768.8A CN105610946B (zh) 2015-12-30 2015-12-30 一种基于docker技术的云跳板机***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021768.8A CN105610946B (zh) 2015-12-30 2015-12-30 一种基于docker技术的云跳板机***

Publications (2)

Publication Number Publication Date
CN105610946A true CN105610946A (zh) 2016-05-25
CN105610946B CN105610946B (zh) 2018-08-03

Family

ID=55990480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021768.8A Active CN105610946B (zh) 2015-12-30 2015-12-30 一种基于docker技术的云跳板机***

Country Status (1)

Country Link
CN (1) CN105610946B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911816A (zh) * 2017-02-22 2017-06-30 郑州云海信息技术有限公司 一种端口转发的设置***及跳板机
CN107608763A (zh) * 2017-09-26 2018-01-19 中国科学院声学研究所 一种通过Web浏览器进入Docker容器操作的方法
CN109819053A (zh) * 2019-03-11 2019-05-28 携程旅游信息技术(上海)有限公司 应用于混合云环境下的跳板机***及其控制方法
CN111343004A (zh) * 2020-02-11 2020-06-26 苏宁金融科技(南京)有限公司 基于Docker的Fabric网络远程部署方法、装置和***
CN111639314A (zh) * 2020-05-15 2020-09-08 京东数字科技控股有限公司 容器登录***、方法、服务器及存储介质
CN113765963A (zh) * 2020-07-24 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN113765871A (zh) * 2020-09-09 2021-12-07 北京沃东天骏信息技术有限公司 堡垒机管理的方法和装置
CN114979108A (zh) * 2022-05-05 2022-08-30 北京精一强远科技有限公司 一种远程协助与安全审计的***、方法、设备与介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041547A1 (en) * 2004-08-17 2006-02-23 Robert Karch Business intelligence monitoring tool
CN101471926A (zh) * 2007-12-24 2009-07-01 北京启明星辰信息技术股份有限公司 网络行为审计访问规则定义方法及***
CN104486346A (zh) * 2014-12-19 2015-04-01 北京奇艺世纪科技有限公司 一种跳板机***
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041547A1 (en) * 2004-08-17 2006-02-23 Robert Karch Business intelligence monitoring tool
CN101471926A (zh) * 2007-12-24 2009-07-01 北京启明星辰信息技术股份有限公司 网络行为审计访问规则定义方法及***
CN104486346A (zh) * 2014-12-19 2015-04-01 北京奇艺世纪科技有限公司 一种跳板机***
CN105119913A (zh) * 2015-08-13 2015-12-02 东南大学 一种基于Docker的Web服务器架构及各模块之间的交互方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘瑞成: "基于GateOne软件的堡垒机应用研究", 《金融科技时代》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911816A (zh) * 2017-02-22 2017-06-30 郑州云海信息技术有限公司 一种端口转发的设置***及跳板机
CN107608763A (zh) * 2017-09-26 2018-01-19 中国科学院声学研究所 一种通过Web浏览器进入Docker容器操作的方法
CN109819053A (zh) * 2019-03-11 2019-05-28 携程旅游信息技术(上海)有限公司 应用于混合云环境下的跳板机***及其控制方法
CN109819053B (zh) * 2019-03-11 2021-07-30 携程旅游信息技术(上海)有限公司 应用于混合云环境下的跳板机***及其控制方法
CN111343004A (zh) * 2020-02-11 2020-06-26 苏宁金融科技(南京)有限公司 基于Docker的Fabric网络远程部署方法、装置和***
CN111639314A (zh) * 2020-05-15 2020-09-08 京东数字科技控股有限公司 容器登录***、方法、服务器及存储介质
CN111639314B (zh) * 2020-05-15 2024-01-12 京东科技控股股份有限公司 容器登录***、方法、服务器及存储介质
CN113765963A (zh) * 2020-07-24 2021-12-07 北京沃东天骏信息技术有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN113765871A (zh) * 2020-09-09 2021-12-07 北京沃东天骏信息技术有限公司 堡垒机管理的方法和装置
CN113765871B (zh) * 2020-09-09 2023-08-04 北京沃东天骏信息技术有限公司 堡垒机管理的方法和装置
CN114979108A (zh) * 2022-05-05 2022-08-30 北京精一强远科技有限公司 一种远程协助与安全审计的***、方法、设备与介质

Also Published As

Publication number Publication date
CN105610946B (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
CN105610946A (zh) 一种基于docker技术的云跳板机***
CN106020930B (zh) 一种基于应用容器的应用管理方法及***
US10292044B2 (en) Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods
CN102571906B (zh) 打补丁期间机器的高可用性
CN103051710B (zh) 一种虚拟云平台管理***
US8321549B2 (en) Action execution management for service configuration items
CN104360878B (zh) 一种应用软件部署的方法及装置
CN103024022B (zh) 一种虚拟机应用服务的管控***和方法
CN102523101B (zh) 机器管理器服务结构
CN104463492A (zh) 一种电力***云仿真平台的运营管理方法
US8346856B2 (en) Client environment creation system, client environment creation method, client environment creation program and storage medium
CN102681899A (zh) 云计算服务平台的虚拟计算资源动态管理***
CN114666333B (zh) 一种基于多租户理论面向云计算资源调度问题的控制方法
CN111027921A (zh) 一种业务处理方法、装置及电子设备和存储介质
CN102571905A (zh) 为在线服务管理网络和机器
CN104252485A (zh) 一种数据库管理平台
US11544052B2 (en) Tenant declarative deployments with release staggering
CN102638566A (zh) 一种基于云存储的blog***运行方法
CN113259447B (zh) 云平台部署方法、装置、电子设备及存储介质
CN107908521A (zh) 一种应用于云环境下的服务器性能以及节点上的容器性能的监控方法
CN112256439B (zh) 一种基于云计算资源池的服务目录动态更新***及方法
CN104717233A (zh) 数据库部署方法和装置
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN112417051A (zh) 容器编排引擎资源管理方法及装置、可读介质及电子设备
CN106502797A (zh) 一种集群***及集群***的部署方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant