CN110308968A - 维持宿主机和容器组编号一致的方法、装置、设备及介质 - Google Patents

维持宿主机和容器组编号一致的方法、装置、设备及介质 Download PDF

Info

Publication number
CN110308968A
CN110308968A CN201910564470.3A CN201910564470A CN110308968A CN 110308968 A CN110308968 A CN 110308968A CN 201910564470 A CN201910564470 A CN 201910564470A CN 110308968 A CN110308968 A CN 110308968A
Authority
CN
China
Prior art keywords
container group
container
gid
uid
host
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.)
Pending
Application number
CN201910564470.3A
Other languages
English (en)
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910564470.3A priority Critical patent/CN110308968A/zh
Publication of CN110308968A publication Critical patent/CN110308968A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种维持宿主机和容器组编号一致的方法、装置、设备及介质,该方法包括步骤:当接收到创建容器组的容器创建请求后,根据容器创建请求确定待创建容器组,获取待创建容器组对应的用户标识;在存储有容器组对应宿主机GID和UID的预设数据库中获取用户标识对应的GID和UID;将GID和UID添加至待创建容器组的上下文安全属性中,得到携带GID和UID的容器创建请求,以使宿主机GID和UID与待创建容器组中对应的GID和UID一致。本发明提高了维持宿主机和容器组中GID及UID一致性的效率。

Description

维持宿主机和容器组编号一致的方法、装置、设备及介质
技术领域
本发明涉及金融科技(Fintech)的数据处理技术领域,尤其涉及一种维持宿主机和容器组编号一致的方法、装置、设备及介质。
背景技术
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、大数据、区块链Blockchain、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业线上交互过程中的操作权限也有更高的要求。
Kubernetes,简称K8s(容器集群管理系统),是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Pod是容器组,是K8s集群中容器应用运行的最小单位,包含若干个容器,默认情况下Pod可以使用Node Selector(节点选择器)。Pod Security Context(Pod上下文安全),是Pod的一个属性,通过此属性的定义可以设置Pod容器内的权限,包括容器内的GID及UID。GID和UID,分别是Linux操作系统中Group ID和User ID的缩写,即组编号及用户编号。在Linux操作系统中,任何文件及目录均有一个UID和GID,表示该UID对应的操作系统用户及GID对应的操作系统用户组拥有该文件或文件夹的所有权。除根用户root外,只有该用户或该用户组内的用户对文件有完全的操作权限。Deployment是K8s集群中容器应用运行的单位之一(其他同级的单位如StatefulSet、DaemonSet等),包含若干个容器组,默认情况下Deployment不能使用Node Selector。
目前Kubernetes容器平台的Pod Security Context作为Kubernetes的原生机制,可以很好地配容器应用的操作权限管控,用户可以按照需求为特定的容器设置特定的GID及UID,从而使用该容器与宿主机Node上的文件系统操作权限保持一致。Node是K8s集群中的计算节点,是负载各种容器应用运行的硬件集合,容器的运行依赖于每个Node上的不同资源,如CPU(Central Processing Unit,中央处理器)、内存、磁盘和GPU(GraphicsProcessing Unit,图形处理器)等,每个K8s集群包含若干个Node节点。当为Deployment内的Pod添加Pod Security Context属性时,需要为其包含的每个Pod都手动添加PodSecurity Context对应的GID和UID,才能使Pod中的容器使用的GID及UID与宿主机中对应的GID及UID一致。由此可知,目前维持宿主机和容器组中GID及UID一致需要用户手动操作,即目前维持宿主机和容器组中GID及UID一致性的效率低下。
发明内容
本发明的主要目的在于提供一种维持宿主机和容器组编号一致的方法、装置、设备及介质,旨在解决现有的维持宿主机和容器组中GID及UID一致性的效率低下的技术问题。
为实现上述目的,本发明提供一种维持宿主机和容器组编号一致的方法,所述维持宿主机和容器组编号一致的方法包括步骤:
当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识;
在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID;
将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
优选地,所述当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识的步骤之前,还包括:
当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识;
获取容器组对应宿主机中的GID和UID,将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
优选地,所述将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤之前,还包括:
获取所述信息创建请求对应用户的身份信息,并检测所述身份信息是否通过校验;
若检测到所述身份信息通过校验,则执行所述将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤。
优选地,所述获取所述信息创建请求对应用户的身份信息,并检测所述身份信息是否通过校验的步骤包括:
获取所述信息创建请求对应用户的用户名和用户密码,并检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码;
若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
优选地,所述获取容器组对应宿主机中的GID和UID,将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤之后,还包括:
当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
优选地,所述当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识的步骤包括:
当接收到创建容器组的容器创建请求后,获取所述容器创建请求对应用户的身份信息;
若检测到所述容器创建请求对应用户的身份信息通过校验,则根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识。
优先地,所述将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致的步骤之后,还包括:
将携带所述GID和UID的容器创建请求发送至容器集群管理系统K8s集群中,以供所述K8s集群根据携带所述GID和UID的容器创建请求创建所述待创建容器组。
此外,为实现上述目的,本发明还提供一种维持宿主机和容器组编号一致的装置,所述维持宿主机和容器组编号一致的装置包括:
确定模块,用于当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组;
获取模块,用于获取所述待创建容器组对应的用户标识;在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID;
添加模块,用于将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
进一步地,所述确定模块还用于当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识;
所述获取模块还用于获取容器组对应宿主机中的GID和UID;
所述维持宿主机和容器组编号一致的装置还包括:
存储模块,用于将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
进一步地,所述获取模块还用于获取所述信息创建请求对应用户的身份信息;
所述维持宿主机和容器组编号一致的装置还包括:
检测模块,用于检测所述身份信息是否通过校验;
所述存储模块还用于若检测到所述身份信息通过校验,则将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
进一步地,所述获取模块还用于获取所述信息创建请求对应用户的用户名和用户密码;
所述检测模块还用于检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码;
所述确定模块还用于若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
进一步地,所述维持宿主机和容器组编号一致的装置还包括:
修改模块,用于当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
此外,为实现上述目的,本发明还提供一种维持宿主机和容器组编号一致的设备,所述维持宿主机和容器组编号一致的设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的维持宿主机和容器组编号一致的程序,所述维持宿主机和容器组编号一致的程序被所述处理器执行时实现如上所述的维持宿主机和容器组编号一致的方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有维持宿主机和容器组编号一致的程序,所述维持宿主机和容器组编号一致的程序被处理器执行时实现如上所述的维持宿主机和容器组编号一致的方法的步骤。
本发明通过在创建容器资源时,根据容器创建请求确定待创建容器组对应的用户标识,在存储宿主机的GID和UID的预设数据库中获取用户标识对应的GID和UID,将所获取的宿主机的GID和UID添加至待创建容器组的上下文安全属性中,以使宿主机GID和UID与待创建容器组中对应的GID和UID一致。实现了在创建容器组过程中,自动获取宿主机的GID和UID添加至所需创建的容器组的上下文安全属性中,以保证所创建容器组中的GID与宿主机中的GID一致,所创建容器组中的UID与宿主机中的UID一致,提高了维持宿主机和容器组中GID及UID一致性的效率。
附图说明
图1是本发明维持宿主机和容器组编号一致的方法第一实施例的流程示意图;
图2是本发明维持宿主机和容器组编号一致的方法第二实施例的流程示意图;
图3是本发明维持宿主机和容器组编号一致的装置较佳实施例的功能示意图模块图;
图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种维持宿主机和容器组编号一致的方法,参照图1,图1为本发明维持宿主机和容器组编号一致的方法第一实施例的流程示意图。
本发明实施例提供了维持宿主机和容器组编号一致的方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
维持宿主机和容器组编号一致的方法应用于容器创建系统中,该容器创建资源系统可为金融机构对应的系统。在维持宿主机和容器组编号一致的方法的各个实施例中,为了便于描述,省略执行主体进行阐述各个实施例。
维持宿主机和容器组编号一致的方法包括:
步骤S10,当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识。
需要说明的是,当K8s的容器挂载了宿主机的外部路径时,宿主机的UID和GID会延续,即当用户往挂载的外部路径读写文件时,宿主机上外部路径下保存的文件的UID和GID会对应与容器中的UID和GID保持一致,从而容器的读写权限与宿主机的读写权限保持一致。当接收到创建容器组的容器创建请求后,根据容器创建请求确定待创建容器组,获取待创建容器组对应的用户标识。其中,容器创建请求为用户根据具体需要而触发,也可为根据定时任务定时触发的。在容器创建请求中,携带有所需创建的待创建容器组的容器组名称、待创建容器的上下文安全(Security Context)属性、以及与待创建容器组对应操作用户的用户标识等。可以理解的是,通过容器创建请求携带的容器组名称可确定待创建容器组,容器创建请求携带的用户标识就是待创建容器组对应的用户标识。用户标识可为用户登录容器创建系统的用户名,也可为用户的电话号码或者身份证号码等。
步骤S20,在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID。
当获取到待创建容器组对应的用户标识后,在预设数据库中获取该用户标识对应的GID和UID,其中,预设数据库中存储有容器组对应宿主机的GID和UID。需要说明的是,每一用户都存在对应的GID和UID,在预设数据库中,各个用户的用户标识与其对应的GID和UID是关联存储的。
步骤S30,将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
当在预设数据库中获取到用户标识对应的GID和UID后,将所获取的GID和UID添加至待创建容器组的上下文安全属性中,得到携带GID和UID的容器创建请求。需要说明的是,每一个待创建容器组中,只存在一个用户的GID和UID。若容器创建请求对应的待创建容器组有多个,则将GID和UID依次添加至待创建容器组对应的上下文安全属性中。可以理解的是,一个用户可对应多个待创建容器组。由于添加到待创建容器组的上下文安全属性中的GID和UID是从预设数据库中获取的,而预设数据库中存储的是宿主机中的GID和UID,因此,可以保证宿主机中的GID和待创建容器组中GID一致,以及保证宿主机中的UID和待创建容器组中的UID一致。如为用户a创建容器资源时,在预设数据库中读取到其用户a的GID=3000和UID=3000,并为待创建容器组Pod的Pod Security Context属性中加上GID=3000和UID=3000。
进一步地,维持宿主机和容器组编号一致的方法还包括:
步骤a,将携带所述GID和UID的容器创建请求发送至K8s集群中,以供所述K8s集群根据携带所述GID和UID的容器创建请求创建所述待创建容器组。
当得到携带GID和UID的容器创建请求后,调用K8s集群的API(ApplicationProgramming Interface,应用程序编程接口),通过K8s集群的API将集群GID和UID的容器创建请求发送至K8s集群中,以供K8s集群根据集群GID和UID的容器创建请求创建待创建容器组,以创建容器资源,使所创建容器组中的GID与宿主机中的GID一致,所创建容器组中的UID与宿主机中的UID一致。当运行所创建的容器组时,容器组对应的所有文件中都会携带对应的GID和UID。
本实施例通过在创建容器资源时,根据容器创建请求确定待创建容器组对应的用户标识,在存储宿主机的GID和UID的预设数据库中获取用户标识对应的GID和UID,将所获取的宿主机的GID和UID添加至待创建容器组的上下文安全属性中,以使宿主机GID和UID与待创建容器组中对应的GID和UID一致。实现了在创建容器组过程中,自动获取宿主机的GID和UID添加至所需创建的容器组的上下文安全属性中,以保证所创建容器组中的GID与宿主机中的GID一致,所创建容器组中的UID与宿主机中的UID一致,提高了维持宿主机和容器组中GID及UID一致性的效率。
进一步地,提出本发明维持宿主机和容器组编号一致的方法第二实施例。
所述维持宿主机和容器组编号一致的方法第二实施例与所述维持宿主机和容器组编号一致的方法第一施例的区别在于,参照图2,维持宿主机和容器组编号一致的方法还包括:
步骤S40,当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识。
步骤S50,获取容器组对应宿主机中的GID和UID,将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
当接收到创建用户信息的信息创建请求后,获取信息创建请求携带的用户标识,以确定信息创建请求对应的用户标识,并获取容器组对应宿主机中的GID和UID,将所获取的宿主机中的GID和UID与信息创建请求对应的用户标识关联存储在预设数据库中。具体地,每一个用户标识都会关联一个GID和一个UID。如用户a的GID=2000,UID=2000;用户b的GID=3000,UID=3000;用户c的GID=4000,UID=5000。对于同一个用户而言,其对应的GID和UID可能相同,也可能不相同。需要说明的是,在将获取的宿主机中的GID和UID与信息创建请求对应的用户标识关联存储在预设数据库的过程中,也会将创建容器资源所需的其它信息一起存储到预设数据库中,如将创建容器组所需的环境变量、待创建容器组的上下文安全信息和待创建容器组所包括的容器数量等。
本实施例通过在接收到信息创建请求后,获取容器组对应宿主机中的GID和UID,并将所获取的宿主机中的GID和UID与用户标识关联存储在数据库中,以便于后续在创建容器资源时,可直接在预设数据库中获取宿主机中的GID和UID添加到待创建容器组的上下文安全属性中,保证宿主机和容器组中GID和UID一致,提高了创建容器组的创建效率。
进一步地,维持宿主机和容器组编号一致的方法还包括:
步骤b,获取所述信息创建请求对应用户的身份信息,并检测所述身份信息是否通过校验。
若检测到所述身份信息通过校验,则执行所述将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤。
进一步地,当接收到创建用户信息的信息创建请求后,获取信息创建请求对应用户的身份信息,并检测身份信息是否通过校验。在本实施例中,身份信息可为登录容器创建系统的用户名和密码。在其它实施例中,身份信息还可包括用户的身份证号码和/或电话号码等。若检测到身份信息通过校验,则将获取的宿主机中的GID和UID与用户标识关联存储在预设数据库中;若检测到用户信息未通过校验,则不将获取的宿主机中的GID和UID与用户标识关联存储在预设数据库中。
进一步地,步骤b包括:
步骤b1,获取所述信息创建请求对应用户的用户名和用户密码,并检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码。
步骤b2,若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
具体地,检测身份信息是否通过校验的过程为:获取信息创建请求对应用户的用户名和用户密码,并检测用户管理系统中是否存在与用户名相同的预设用户名,以及检测用户管理系统中是否存在与用户密码相同的预设密码。若检测到用户管理系统中存在与用户名相同的预设用户名,以及存在与用户密码相同的预设密码,则确定信息创建请求对应用户的身份信息通过用户管理系统的校验;若检测到用户管理系统中未存在与用户名相同的预设用户名,和/或未存在与用户密码相同的预设密码,则确定信息创建请求对应用户的身份信息未通过用户管理系统的校验。用户管理系统为User Management系统,简称UM系统,用于提供对用户进行密码管理和权限校验等功能。可以理解的是,在校验身份信息时,可将信息创建请求对应用户的身份信息发送给用户管理系统,当用户管理系统接收到身份信息后,用户管理系统检测其数据库中是否存储有用户名和用户密码,若用户管理系统的数据库中存储有用户名和用户密码,用户管理系统则返回身份信息通过校验的第一通知消息,以根据该第一通知消息确定身份信息通过校验;若用户管理系统的数据库中未存储有用户名和/或用户密码,用户管理系统则返回身份信息未通过校验的第二通知消息,以根据该第二通知消息确定身份信息通未过校验。
进一步地,需要说明的是,在用户管理系统中,同一用户的用户名和密码是关联存储的。因此,为了提高身份信息的安全性,在检测到用户管理系统中存在与用户名相同的预设用户名,以及存在与用户密码相同的预设密码后,检测预设用户名和预设密码是否存在关联关系,若预设用户名和预设密码未存在关联关系,则确定身份信息未通过校验;若预设用户名和预设密码存在关联关系,则确定身份信息通过校验。
本实施例通过在将获取的宿主机中的GID和UID与用户标识关联存储在预设数据库中之前,先检测信息创建请求对应用户的身份信息是否通过校验,只有在身份信息通过校验后,才将获取的宿主机中的GID和UID与用户标识关联存储在预设数据库中,提高了预设数据库中所存储信息的安全性。
进一步地,维持宿主机和容器组编号一致的方法还包括:
步骤c,当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
进一步地,当将获取的宿主机中的GID和/或UID与用户标识关联存储在预设数据库中后,检测是否接收到修改预设数据库中存储的GID和/或UID的修改指令。当接收到修改预设数据库中存储的GID和/或UID的修改指令后,根据该修改指令对应修改预设数据库中存储的GID和/或UID。该修改指令可为对应用户根据具体需要而触发。进一步地,当未接收到修改指令后,则继续检测是否接收到修改指令。进一步地,用户也可触发修改预设数据库中除GID和UID外的其它数据的修改指令。
本实施例通过提供用户修改预设数据库中存储的GID和UID的功能,允许用户修改预设数据库中的GID和UID,提高了预设数据库的可操作性。
进一步地,提出本发明维持宿主机和容器组编号一致的方法第三实施例。
所述维持宿主机和容器组编号一致的方法第三实施例与所述维持宿主机和容器组编号一致的方法第一或者第二实施例的区别在于,步骤S10包括:
步骤d,当接收到创建容器组的容器创建请求后,获取所述容器创建请求对应用户的身份信息。
步骤e,若检测到所述容器创建请求对应用户的身份信息通过校验,则根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识。
当接收到创建容器组的容器创建请求后,获取容器创建请求对应用户的身份信息,并检测容器创建请求对应用户的身份信息是否通过校验。创建请求对应用户的身份信息包括但不限于登录容器创建系统的用户名和密码。需要说明的是,检测容器创建请求对应用户的身份信息是否通过校验的过程和检测信息创建请求对应用户的身份信息是否通过校验的过程一致,在此不再详细赘述。若检测到容器创建请求对应用户的身份信息通过校验,则根据容器创建请求确定待创建容器组,并获取待创建容器组对应的用户标识;若检测到容器创建请求对应用户的身份信息未通过校验,则禁止执行根据容器创建请求确定待创建容器组,获取待创建容器组对应的用户标识的操作。
本实施例通过在接收到容器创建请求后,先检测容器创建请求对应用户的身份信息是否通过校验,只有在容器创建请求对应用户的身份信息通过校验后,才执行后面创建容器组的相关操作,以保证创建容器组的用户不是非法用户,提高了所创建的容器组的安全性,以及提高了K8s集群的安全性。
此外,参照图3,本发明还提供一种维持宿主机和容器组编号一致的装置,所述维持宿主机和容器组编号一致的装置包括:
确定模块10,用于当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组;
获取模块20,用于获取所述待创建容器组对应的用户标识;在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID;
添加模块30,用于将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
进一步地,所述确定模块10还用于当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识;
所述获取模块20还用于获取容器组对应宿主机中的GID和UID;
所述维持宿主机和容器组编号一致的装置还包括:
存储模块,用于将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
进一步地,所述获取模块20还用于获取所述信息创建请求对应用户的身份信息;
所述维持宿主机和容器组编号一致的装置还包括:
检测模块,用于检测所述身份信息是否通过校验;
所述存储模块还用于若检测到所述身份信息通过校验,则将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
进一步地,所述获取模块20还用于获取所述信息创建请求对应用户的用户名和用户密码;
所述检测模块还用于检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码;
所述确定模块10还用于若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
进一步地,所述维持宿主机和容器组编号一致的装置还包括:
修改模块,用于当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
进一步地,所述确定模块10包括:
获取单元,用于当接收到创建容器组的容器创建请求后,获取所述容器创建请求对应用户的身份信息;
确定单元,用于若检测到所述容器创建请求对应用户的身份信息通过校验,则根据所述容器创建请求确定待创建容器组。
所述维持宿主机和容器组编号一致的装置包括:
发送模块,用于将携带所述GID和UID的容器创建请求发送至K8s集群中,以供所述K8s集群根据携带所述GID和UID的容器创建请求创建所述待创建容器组。
需要说明的是,维持宿主机和容器组编号一致的装置的各个实施例与上述维持宿主机和容器组编号一致的方法的各实施例基本相同,在此不再详细赘述。
此外,本发明还提供一种维持宿主机和容器组编号一致的设备。如图4所示,图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图4即可为维持宿主机和容器组编号一致的设备的硬件运行环境的结构示意图。本发明实施例维持宿主机和容器组编号一致的设备可以是PC,便携计算机等终端设备。
如图4所示,该维持宿主机和容器组编号一致的设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,维持宿主机和容器组编号一致的设备还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图4中示出的维持宿主机和容器组编号一致的设备结构并不构成对维持宿主机和容器组编号一致的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及维持宿主机和容器组编号一致的程序。其中,操作系统是管理和控制维持宿主机和容器组编号一致的设备硬件和软件资源的程序,支持维持宿主机和容器组编号一致的程序以及其它软件或程序的运行。
在图4所示的维持宿主机和容器组编号一致的设备中,用户接口1003主要用于用户管理系统,与用户管理系统进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的维持宿主机和容器组编号一致的程序,并执行如上所述的维持宿主机和容器组编号一致的方法的步骤。
本发明维持宿主机和容器组编号一致的设备具体实施方式与上述维持宿主机和容器组编号一致的方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有维持宿主机和容器组编号一致的程序,所述维持宿主机和容器组编号一致的程序被处理器执行时实现如上所述的维持宿主机和容器组编号一致的方法的步骤。
本发明计算机可读存储介质具体实施方式与上述维持宿主机和容器组编号一致的方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种维持宿主机和容器组编号一致的方法,其特征在于,所述维持宿主机和容器组编号一致的方法包括以下步骤:
当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识;
在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID;
将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
2.如权利要求1所述的维持宿主机和容器组编号一致的方法,其特征在于,所述当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识的步骤之前,还包括:
当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识;
获取容器组对应宿主机中的GID和UID,将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
3.如权利要求2所述的维持宿主机和容器组编号一致的方法,其特征在于,所述将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤之前,还包括:
获取所述信息创建请求对应用户的身份信息,并检测所述身份信息是否通过校验;
若检测到所述身份信息通过校验,则执行所述将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤。
4.如权利要求3所述的维持宿主机和容器组编号一致的方法,其特征在于,所述获取所述信息创建请求对应用户的身份信息,并检测所述身份信息是否通过校验的步骤包括:
获取所述信息创建请求对应用户的用户名和用户密码,并检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码;
若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
5.如权利要求2所述的维持宿主机和容器组编号一致的方法,其特征在于,所述获取容器组对应宿主机中的GID和UID,将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中的步骤之后,还包括:
当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
6.如权利要求1所述的维持宿主机和容器组编号一致的方法,其特征在于,所述当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识的步骤包括:
当接收到创建容器组的容器创建请求后,获取所述容器创建请求对应用户的身份信息;
若检测到所述容器创建请求对应用户的身份信息通过校验,则根据所述容器创建请求确定待创建容器组,获取所述待创建容器组对应的用户标识。
7.如权利要求1至6任一项所述的维持宿主机和容器组编号一致的方法,其特征在于,所述将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致的步骤之后,还包括:
将携带所述GID和UID的容器创建请求发送至容器集群管理系统K8s集群中,以供所述K8s集群根据携带所述GID和UID的容器创建请求创建所述待创建容器组。
8.一种维持宿主机和容器组编号一致的装置,其特征在于,所述维持宿主机和容器组编号一致的装置包括:
确定模块,用于当接收到创建容器组的容器创建请求后,根据所述容器创建请求确定待创建容器组;
获取模块,用于获取所述待创建容器组对应的用户标识;在预设数据库中获取所述用户标识对应的组编号GID和用户编号UID,其中,所述预设数据库中存储有容器组对应宿主机的GID和UID;
添加模块,用于将所述GID和UID添加至所述待创建容器组的上下文安全属性中,得到携带所述GID和UID的容器创建请求,以使所述宿主机GID和UID与所述待创建容器组中对应的GID和UID一致。
9.如权利要求8所述的维持宿主机和容器组编号一致的装置,其特征在于,所述确定模块还用于当接收到创建用户信息的信息创建请求后,确定所述信息创建请求对应的用户标识;
所述获取模块还用于获取容器组对应宿主机中的GID和UID;
所述维持宿主机和容器组编号一致的装置还包括:
存储模块,用于将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
10.如权利要求9所述的维持宿主机和容器组编号一致的装置,其特征在于,所述获取模块还用于获取所述信息创建请求对应用户的身份信息;
所述维持宿主机和容器组编号一致的装置还包括:
检测模块,用于检测所述身份信息是否通过校验;
所述存储模块还用于若检测到所述身份信息通过校验,则将获取的所述宿主机中的GID和UID与所述信息创建请求对应的用户标识关联存储在预设数据库中。
11.如权利要求10所述的维持宿主机和容器组编号一致的装置,其特征在于,所述获取模块还用于获取所述信息创建请求对应用户的用户名和用户密码;
所述检测模块还用于检测用户管理系统中是否存在与所述用户名相同的预设用户名,以及是否存在与所述用户密码相同的预设密码;
所述确定模块还用于若检测到所述用户管理系统中存在与所述信息创建请求对应用户的用户名相同的预设用户名,以及存在与所述用户密码相同的预设密码,则确定所述身份信息通过校验。
12.如权利要求9所述的维持宿主机和容器组编号一致的装置,其特征在于,所述维持宿主机和容器组编号一致的装置还包括:
修改模块,用于当接收到修改所述GID和/或UID的修改指令后,根据所述修改指令对应修改所述预设数据库中存储的GID和/或UID。
13.一种维持宿主机和容器组编号一致的设备,其特征在于,所述维持宿主机和容器组编号一致的设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的维持宿主机和容器组编号一致的程序,所述维持宿主机和容器组编号一致的程序被所述处理器执行时实现如权利要求1至7中任一项所述的维持宿主机和容器组编号一致的方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有维持宿主机和容器组编号一致的程序,所述维持宿主机和容器组编号一致的程序被处理器执行时实现如权利要求1至7中任一项所述的维持宿主机和容器组编号一致的方法的步骤。
CN201910564470.3A 2019-06-26 2019-06-26 维持宿主机和容器组编号一致的方法、装置、设备及介质 Pending CN110308968A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910564470.3A CN110308968A (zh) 2019-06-26 2019-06-26 维持宿主机和容器组编号一致的方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910564470.3A CN110308968A (zh) 2019-06-26 2019-06-26 维持宿主机和容器组编号一致的方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN110308968A true CN110308968A (zh) 2019-10-08

Family

ID=68076320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910564470.3A Pending CN110308968A (zh) 2019-06-26 2019-06-26 维持宿主机和容器组编号一致的方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110308968A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806881A (zh) * 2019-11-05 2020-02-18 浪潮云信息技术有限公司 一种kubernetes部署不同CPU架构的方法
CN115543549A (zh) * 2022-12-01 2022-12-30 中国电子科技集团公司第十五研究所 一种应用运行效果与宿主机一致的容器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806881A (zh) * 2019-11-05 2020-02-18 浪潮云信息技术有限公司 一种kubernetes部署不同CPU架构的方法
CN110806881B (zh) * 2019-11-05 2023-07-04 浪潮云信息技术股份公司 一种kubernetes部署不同CPU架构的方法
CN115543549A (zh) * 2022-12-01 2022-12-30 中国电子科技集团公司第十五研究所 一种应用运行效果与宿主机一致的容器

Similar Documents

Publication Publication Date Title
US10623418B2 (en) Internet of Things security appliance
US10296563B2 (en) Automated testing of perceptible web page elements
CN107506620B (zh) 应用市场管理控件
US9349015B1 (en) Programmatically detecting collusion-based security policy violations
US9665465B1 (en) Automated determination of application permissions
US9280665B2 (en) Fast and accurate identification of message-based API calls in application binaries
CN105787364B (zh) 任务的自动化测试方法、装置及系统
US8661412B2 (en) Managing automated and manual application testing
JP5689400B2 (ja) アクセス要求に対する予期せぬ応答に関するコンピュータ・プログラムの検証
CN106471466A (zh) 短暂应用
US20200065235A1 (en) White box code concurrency testing for transaction processing
US10754717B2 (en) Fast and accurate identification of message-based API calls in application binaries
CN110324338A (zh) 数据交互方法、装置、堡垒机与计算机可读存储介质
KR20110128632A (ko) 스마트폰 응용프로그램의 악성행위 탐지 방법 및 장치
CN105389263A (zh) 应用软件权限监控方法、系统及设备
CN109688183A (zh) 群控设备识别方法、装置、设备及计算机可读存储介质
CN110149363A (zh) 一种消息推送方法、装置及存储介质
CN110308968A (zh) 维持宿主机和容器组编号一致的方法、装置、设备及介质
Vieira et al. A context simulator as testing support for mobile apps
CN116501315A (zh) 基于DevOps域的低代码软件开发系统、方法及设备
US10977218B1 (en) Distributed application development
CN111930449B (zh) 数据管理方法和服务器
CN105512552B (zh) 参数检测方法及装置
CN109688096A (zh) Ip地址的识别方法、装置、设备及计算机可读存储介质
GB2584018A (en) Root-level application selective configuration

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