CN113886796B - 基于k8s的服务部署方法、装置、电子设备和存储介质 - Google Patents
基于k8s的服务部署方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113886796B CN113886796B CN202111194888.3A CN202111194888A CN113886796B CN 113886796 B CN113886796 B CN 113886796B CN 202111194888 A CN202111194888 A CN 202111194888A CN 113886796 B CN113886796 B CN 113886796B
- Authority
- CN
- China
- Prior art keywords
- user
- deployment
- role
- container
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种基于K8S的服务部署方法、装置、电子设备和存储介质,其中,方法可以应用于服务部署设备,该服务部署设备包括服务端和用户端,具体而言,该方法包括:所述服务端根据所述用户端提交的角色创建请求,创建用户角色;所述用户端根据所述用户角色,获取部署令牌,其中,所述部署令牌中包含所述用户的用户名;所述用户端通过所述部署令牌向所述服务端提交部署请求;所述服务端向所述部署请求中添加防伪水印,并将添加了所述防伪水印的部署请求封装入容器中,得到初始容器;所述服务端向所述初始容器中添加检验规则,得到部署容器;所述用户端调用所述部署容器,以完成K8S环境中的服务部署。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于K8S的服务部署方法、装置、电子设备和存储介质。
背景技术
在现有的认证授权框架,例如:Shiro、Spring-security、Oauth2.0、Sa-token等中,对于基于统一WEB前端的登陆认证及GBD授权访问的实现是比较容易实现的。但是对于K8S(Kubernetes)的原生技术栈restapi调用、官方开源客户端调用、大数据开源组件K8S原生部署、operatorhub社区K8S部署、以及开源社区PASS平台支持等功能的实现方面,则需要开发者自行实现对K8S官方、社区、以及平台的所有开源接口的对接工作。基于此,现有的认证授权框架的安全框架完全自实现,缺乏扩展性及灵活性。同时,现有的认证授权框架无法解决用户伪装的问题,在数据安全性方面存在一定的风险。
发明内容
为了解决现有技术中存在的上述问题,本申请实施方式提供了一种基于K8S的服务部署方法、装置、电子设备和存储介质,可以实现容器的安全虚拟化,解决用户伪装的问题,同时,实现GBD数据校验逻辑的灵活定制,提升了数据的安全性。
第一方面,本申请的实施方式提供了一种基于K8S的服务部署方法,该方法可以应用于服务部署设备,具体而言,服务部署设备可以包括服务端和用户端,该方法包括:
服务端根据用户端提交的角色创建请求,创建用户角色;
用户端根据用户角色,获取部署令牌,其中,部署令牌中包含用户的用户名;
用户端通过部署令牌向服务端提交部署请求;
服务端向部署请求中添加防伪水印,并将添加了防伪水印的部署请求封装入容器中,得到初始容器;
服务端向初始容器中添加检验规则,得到部署容器;
用户端调用部署容器,以完成K8S环境中的服务部署。
第二方面,本申请的实施方式提供了一种基于K8S的服务部署装置,包括:
服务端和用户端,其中,
服务端,用于根据用户端提交的角色创建请求,创建用户角色;
用户端,用于根据用户角色,获取部署令牌,其中,部署令牌中包含用户的用户名;
用户端,还用于通过部署令牌向服务端提交部署请求;
服务端,还用于向部署请求中添加防伪水印,并将添加了防伪水印的部署请求封装入容器中,得到初始容器;
服务端,还用于向初始容器中添加检验规则,得到部署容器;
用户端,还用于调用部署容器,以完成K8S环境中的服务部署。
第三方面,本申请实施方式提供一种电子设备,包括:处理器,处理器与存储器相连,存储器用于存储计算机程序,处理器用于执行存储器中存储的计算机程序,以使得电子设备执行如第一方面的方法。
第四方面,本申请实施方式提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序使得计算机执行如第一方面的方法。
第五方面,本申请实施方式提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机可操作来使计算机执行如第一方面的方法。
实施本申请实施方式,具有如下有益效果:
在本申请实施方式中,通过在服务端创建用户角色,继而使用户端通过该用户角色获取部署令牌,再通过该部署令牌向服务端提交部署请求。服务端在收到包含部署请求的部署令牌后,根据部署令牌中包含的用户名向部署请求中添加防伪水印,再封装为容器,得到初始容器。服务端再向初始容器中添加检验规则,得到部署容器,继而由用户端调用该部署容器,完成K8S环境中的服务部署。由此,可以实现对用户的管理及权限控制,解决了用户伪装的问题。同时,实现GBD数据校验逻辑的灵活定制,解决了GBD平台数据访问的安全问题,提升了数据的安全性的同时,实现了容器的安全虚拟化。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式提供的一种基于K8S的服务部署装置的硬件结构示意图;
图2为本申请实施方式提供的一种基于K8S的服务部署方法的流程示意图;
图3为本申请实施方式提供的一种基于K8S的服务部署装置的功能模块组成框图;
图4为本申请实施方式提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施方式”意味着,结合实施方式描述的特定特征、结果或特性可以包含在本申请的至少一个实施方式中。在说明书中的各个位置出现该短语并不一定均是指相同的实施方式,也不是与其它实施方式互斥的独立的或备选的实施方式。本领域技术人员显式地和隐式地理解的是,本文所描述的实施方式可以与其它实施方式相结合。
首先,参阅图1,图1为本申请实施方式提供的一种基于K8S的服务部署装置的硬件结构示意图。该基于K8S的服务部署装置100包括至少一个处理器101,通信线路102,存储器103以及至少一个通信接口104。
在本实施方式中,处理器101,可以是一个通用中央处理器(central processingunit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路102,可以包括一通路,在上述组件之间传送信息。
通信接口104,可以是任何收发器一类的装置(如天线等),用于与其他设备或通信网络通信,例如以太网,RAN,无线局域网(wireless local area networks,WLAN)等。
存储器103,可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
在本实施方式中,存储器103可以独立存在,通过通信线路102与处理器101相连接。存储器103也可以和处理器101集成在一起。本申请实施方式提供的存储器103通常可以具有非易失性。其中,存储器103用于存储执行本申请方案的计算机执行指令,并由处理器101来控制执行。处理器101用于执行存储器103中存储的计算机执行指令,从而实现本申请下述实施方式中提供的方法。
在可选的实施方式中,计算机执行指令也可以称之为应用程序代码,本申请对此不作具体限定。
在可选的实施方式中,处理器101可以包括一个或多个CPU,例如图1中的CPU0和CPU1。
在可选的实施方式中,该基于K8S的服务部署装置100可以包括多个处理器,例如图1中的处理器101和处理器107。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在可选的实施方式中,若基于K8S的服务部署装置100为服务器,例如,可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。则基于K8S的服务部署装置100还可以包括输出设备105和输入设备106。输出设备105和处理器101通信,可以以多种方式来显示信息。例如,输出设备105可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备106和处理器101通信,可以以多种方式接收用户的输入。例如,输入设备106可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的基于K8S的服务部署装置100可以是一个通用设备或者是一个专用设备。本申请实施方式不限定基于K8S的服务部署装置100的类型。
其次,需要说明的是,本申请所公开的实施方式可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
以下,将对本申请所公开的基于K8S的服务部署方法进行说明:
参阅图2,图2为本申请实施方式提供的一种基于K8S的服务部署方法的流程示意图。该基于K8S的服务部署方法包括以下步骤:
201:服务端根据用户端提交的角色创建请求,创建用户角色。
在本实施方式中,服务端可以根据用户端提交的角色创建请求,确定用户的用户名,继而根据用户名查询权限表,以确定用户名对应的权限,最后,根据用户名和用户名对应的权限,创建用户角色。
具体而言,本实施方式中提供了一种通过服务端,例如:KS(kubesphere)平台(http://gbd-ks-stg.paic.com.cn)创建user01用户,并授权user01用户以operator(KS中定义operator角色具备对授权空间CRUD的部署权限)角色访问k8s名称空间gbd-hadoop2。具体实现代码如下:
同时,通过上述代码可以看出对KS的rest-api的调用结果,其中,显示了KS平台绑定用户后,用户→名称空间→部署角色三者的对应关系,即显示了user01→gbd-hadoop2→operator。
202:用户端根据用户角色,获取部署令牌。
在本实施方式中,部署令牌(Token)中可以包含用户的用户名。示例性的,用户通过用户端在KS注册后,可以通过KS平台获取到已注册的user01用户的部署令牌,例如:access_token,此令牌中隐含了user01真实用户名信息。
具体而言,本实施方式中提供了一种实现步骤202中的方案的具体实施方式,代码如下:
203:用户端通过部署令牌向服务端提交部署请求。
在本实施方式中,用户可以通过调用任意一款k8s用户端,通过指定应用部署网关为KS平台地址,即http://gbd-ks-stg.paic.com.cn,以及步骤202中的access_token信息,以实现提交用户对k8s名称空间gbd-hadoop2的部署请求。
具体而言,本实施方式中提供了一种实现步骤203中的方案的具体实施方式,代码如下:
具体而言,上述代码为用户通过curl的linux客户端工具,携带token信息,请求KS网关地址,部署k8s的deployment组件应用。
204:服务端向部署请求中添加防伪水印,并将添加了防伪水印的部署请求封装入容器中,得到初始容器。
在本实施方式中,服务端可以根据部署令牌确定部署请求对应的用户名,继而根据该用户名生成防伪水印,并将防伪水印添加至部署请求中。示例性的,该防伪水印也可以为隐藏于部署令牌中的真实用户名,例如,上述示例中隐含在access_token中的user01。基于此,只要用户端通过部署令牌提交部署请求,例如:部署基于KS的网关应用的请求,KS就会自动校验用户信息的真伪,最终自动打上真实部署防伪水印标识。
具体而言,本实施方式中提供了一种实现向部署请求中添加防伪水印的方案的具体实施方式,代码如下:
205:服务端向初始容器中添加检验规则,得到部署容器。
企业大数据hadoop应用,对数据访问是有安全控制的,在本实施方式中,通过HMS系统(hadoop用户系统)对需要访问数据的真实用户建立对应的虚拟用户,然后,通过虚拟用户来访问hadoop大数据集群中的数据。因此,部署应用的用户信息就尤为重要。
在本实施方式中,要做到用户信息防篡改,即必须强制使用真实用户对应的虚拟用户来启动容器应用,同时,本实施方式中还加固了一层安全控制,使得虚拟用户不允许切换成其他用户,完全做到容器启动的用户就是真实用户对应的虚拟用户,如果不是就不允许启动的效果。
需要说明的是,上述方法同时也达到了物理机安全虚拟化的效果,将物理机的运行时转换为容器的运行时。此外,在该方法中,采用部署令牌的形式隐式传递用户名,由此,用户无法通过伪造部署文件的方式,击穿数据安全层,提升了数据的安全性。
基于此,在本实施方式中,得到初始容器后,服务端还可以根据初始容器对应的用户角色确定用户角色的虚拟用户名,继而根据虚拟用户名创建用户角色对应的虚拟用户角色。
具体而言,用户可以通过HMS系统(http://10.20.14.118:8999/hms)对用户角色user01建立相应的虚拟用户角色hduser6040,并赋予用户角色user01以虚拟用户hduser6040对hadoop大数据集群进行访问的数据访问权限,具体代码如下:
由此,在本实施方式中,提供了一种基于虚拟用户角色向初始容器中添加检验规则,得到部署容器的具体实施方式。具体而言,服务端首先可以确定初始容器对应的用户角色的虚拟用户角色,继而获取虚拟用户角色的虚拟用户名。最后,根据虚拟用户名生成检验规则,并将检验规则添加至初始容器中,得到部署容器。代码如下:
其中,k8sadmissionwebhook根据从KS传递过来的用户防伪水印中的用户名信息,关联HMS系统获取user01对应的虚拟用户名hduser6040,然后,自动在初始容器,例如:POD中加上基于虚拟用户名hduser6040的校验规则和防止用户通过命令“su”进行切换的规则。即控制容器启动的用户必须是hduser6040,并且不允许用户通过su的命令进行切换。
206:用户端调用部署容器,以完成K8S环境中的服务部署。
在本实施方式中,用户端可以通过虚拟用户角色调用部署容器。在部署容器被调用后,服务端获取调用部署容器的虚拟用户角色的虚拟用户名,并在虚拟用户名和部署容器中的校验规则的虚拟用户名相同时,服务端执行部署容器,以完成K8S环境中的服务部署。
示例性的,在上述示例中,当确定部署容器的启动用户为hduser6040用户,即为HMS中注册的真实用户user01对应的虚拟用户时,对部署容器的校验通过,POD启动成功,状态为Running。此时,此容器可以通过hduser6040虚拟用户来访问hadoop大数据中的hduser6040用户的数据,其他数据无法访问。具体代码如下:
kubectl get pod-n gbd-hadoop2
NAME READY STATUS RESTARTS AGE
gbd-test5-d8768cbc6-4bss6 1/1 Running 0 18m
综上所述,本发明所提供的基于K8S的服务部署方法中,通过在服务端创建用户角色,继而使用户端通过该用户角色获取部署令牌,再通过该部署令牌向服务端提交部署请求。服务端在收到包含部署请求的部署令牌后,根据部署令牌中包含的用户名向部署请求中添加防伪水印,再封装为容器,得到初始容器。服务端再向初始容器中添加检验规则,得到部署容器,继而由用户端调用该部署容器,完成K8S环境中的服务部署。由此,可以实现对用户的管理及权限控制,解决了用户伪装的问题。同时,实现GBD数据校验逻辑的灵活定制,解决了GBD平台数据访问的安全问题,提升了数据的安全性的同时,实现了容器的安全虚拟化。
参阅图3,图3为本申请实施方式提供的一种基于K8S的服务部署装置的功能模块组成框图。如图3所示,该基于K8S的服务部署装置300包括:
服务端301,用于根据用户端提交的角色创建请求,创建用户角色;
用户端302,用于根据用户角色,获取部署令牌,其中,部署令牌中包含用户的用户名;
其中,用户端302,还用于通过部署令牌向服务端提交部署请求;
服务端301,还用于向部署请求中添加防伪水印,并将添加了防伪水印的部署请求封装入容器中,得到初始容器;
服务端301,还用于向初始容器中添加检验规则,得到部署容器;
用户端302,还用于调用部署容器,以完成K8S环境中的服务部署。
在本发明的实施方式中,在根据用户端提交的角色创建请求,创建用户角色方面,服务端301,具体用于:
根据用户端提交的角色创建请求,确定用户的用户名;
根据用户名查询权限表,确定用户名对应的权限;
根据用户名和用户名对应的权限,创建用户角色。
在本发明的实施方式中,在向部署请求中添加防伪水印方面,服务端301,具体用于:
根据部署令牌确定部署请求对应的用户名;
根据用户名生成防伪水印,并将防伪水印添加至部署请求中。
在本发明的实施方式中,在服务端向初始容器中添加检验规则,得到部署容器之前,服务端301,还用于:
根据初始容器对应的用户角色确定用户角色的虚拟用户名;
根据虚拟用户名创建用户角色对应的虚拟用户角色。
在本发明的实施方式中,在向初始容器中添加检验规则,得到部署容器方面,服务端301,具体用于:
确定初始容器对应的用户角色的虚拟用户角色;
获取虚拟用户角色的虚拟用户名;
根据虚拟用户名生成检验规则,并将检验规则添加至初始容器中,得到部署容器。
在本发明的实施方式中,在调用部署容器,以完成K8S环境中的服务部署方面,用户端302,具体用于:
通过虚拟用户角色调用部署容器;
服务端获取调用部署容器的虚拟用户角色的虚拟用户名;
当调用部署容器的虚拟用户角色的虚拟用户名和部署容器中的校验规则的虚拟用户名相同时,服务端执行部署容器,以完成K8S环境中的服务部署。
参阅图4,图4为本申请实施方式提供的一种电子设备的结构示意图,该电子设备可以与服务部署设备相互通信,以控制服务部署设备完成服务部署,该服务部署设备可以包括服务端和用户端。具体而言,如图4所示,电子设备400包括收发器401、处理器402和存储器403。它们之间通过总线404连接。存储器403用于存储计算机程序和数据,并可以将存储器403存储的数据传输给处理器402。
处理器402用于读取存储器403中的计算机程序执行以下操作:
服务端根据用户端提交的角色创建请求,创建用户角色;
用户端根据用户角色,获取部署令牌,其中,部署令牌中包含用户的用户名;
用户端通过部署令牌向服务端提交部署请求;
服务端向部署请求中添加防伪水印,并将添加了防伪水印的部署请求封装入容器中,得到初始容器;
服务端向初始容器中添加检验规则,得到部署容器;
用户端调用部署容器,以完成K8S环境中的服务部署。
在本发明的实施方式中,在根据用户端提交的角色创建请求,创建用户角色方面,处理器402,具体用于执行以下操作:
服务端根据用户端提交的角色创建请求,确定用户的用户名;
服务端根据用户名查询权限表,确定用户名对应的权限;
服务端根据用户名和用户名对应的权限,创建用户角色。
在本发明的实施方式中,在向部署请求中添加防伪水印方面,处理器402,具体用于执行以下操作:
服务端根据部署令牌确定部署请求对应的用户名;
服务端根据用户名生成防伪水印,并将防伪水印添加至部署请求中。
在本发明的实施方式中,在服务端向初始容器中添加检验规则,得到部署容器之前,处理器402,还用于执行以下操作:
服务端根据初始容器对应的用户角色确定用户角色的虚拟用户名;
服务端根据虚拟用户名创建用户角色对应的虚拟用户角色。
在本发明的实施方式中,在向初始容器中添加检验规则,得到部署容器方面,处理器402,具体用于执行以下操作:
服务端确定初始容器对应的用户角色的虚拟用户角色;
服务端获取虚拟用户角色的虚拟用户名;
服务端根据虚拟用户名生成检验规则,并将检验规则添加至初始容器中,得到部署容器。
在本发明的实施方式中,在调用部署容器,以完成K8S环境中的服务部署方面,处理器402,具体用于执行以下操作:
用户端通过虚拟用户角色调用部署容器;
服务端获取调用部署容器的虚拟用户角色的虚拟用户名;
当调用部署容器的虚拟用户角色的虚拟用户名和部署容器中的校验规则的虚拟用户名相同时,服务端执行部署容器,以完成K8S环境中的服务部署。
应理解,本申请中的基于K8S的服务部署装置可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备MID(Mobile Internet Devices,简称:MID)、机器人或穿戴式设备等。上述基于K8S的服务部署装置仅是举例,而非穷举,包含但不限于上述基于K8S的服务部署装置。在实际应用中,上述基于K8S的服务部署装置还可以包括:智能车载终端、计算机设备等等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
因此,本申请实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施方式中记载的任何一种基于K8S的服务部署方法的部分或全部步骤。例如,所述存储介质可以包括硬盘、软盘、光盘、磁带、磁盘、优盘、闪存等。
本申请实施方式还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施方式中记载的任何一种基于K8S的服务部署方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于可选的实施方式,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施方式中,对各个实施方式的描述都各有侧重,某个实施方式中没有详述的部分,可以参见其他实施方式的相关描述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施方式的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施方式进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施方式的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种基于K8S的服务部署方法,其特征在于,所述方法应用于服务部署设备,所述服务部署设备包括服务端和用户端,所述方法包括:
所述服务端根据所述用户端提交的角色创建请求,创建用户角色;
所述用户端根据所述用户角色,获取部署令牌,其中,所述部署令牌中包含所述用户的用户名;
所述用户端通过所述部署令牌向所述服务端提交部署请求;
所述服务端向所述部署请求中添加防伪水印,并将添加了所述防伪水印的部署请求封装入容器中,得到初始容器;
所述服务端根据所述初始容器对应的用户角色确定所述用户角色的虚拟用户名;
所述服务端根据所述虚拟用户名创建所述用户角色对应的虚拟用户角色;
所述服务端确定所述初始容器对应的用户角色的虚拟用户角色;
所述服务端获取所述虚拟用户角色的虚拟用户名;
所述服务端根据所述虚拟用户名生成检验规则,并将所述检验规则添加至所述初始容器中,得到部署容器;
所述用户端调用所述部署容器,以完成K8S环境中的服务部署。
2.根据权利要求1所述的方法,其特征在于,所述服务端根据所述用户端提交的角色创建请求,创建用户角色,包括:
所述服务端根据所述用户端提交的角色创建请求,确定所述用户的用户名;
所述服务端根据所述用户名查询权限表,确定所述用户名对应的权限;
所述服务端根据所述用户名和所述用户名对应的权限,创建所述用户角色。
3.根据权利要求1所述的方法,其特征在于,所述服务端向所述部署请求中添加防伪水印,包括:
所述服务端根据所述部署令牌确定所述部署请求对应的用户名;
所述服务端根据所述用户名生成防伪水印,并将所述防伪水印添加至所述部署请求中。
4.根据权利要求1所述的方法,其特征在于,所述用户端调用所述部署容器,以完成K8S环境中的服务部署,包括:
所述用户端通过所述虚拟用户角色调用所述部署容器;
所述服务端获取调用所述部署容器的虚拟用户角色的虚拟用户名;
当所述调用所述部署容器的虚拟用户角色的虚拟用户名和所述部署容器中的校验规则的虚拟用户名相同时,所述服务端执行所述部署容器,以完成K8S环境中的服务部署。
5.一种基于K8S的服务部署装置,其特征在于,所述装置包括:
服务端和用户端;
其中,
所述服务端,用于根据所述用户端提交的角色创建请求,创建用户角色;
所述用户端,用于根据所述用户角色,获取部署令牌,其中,所述部署令牌中包含所述用户的用户名;
所述用户端,还用于通过所述部署令牌向所述服务端提交部署请求;
所述服务端,还用于向所述部署请求中添加防伪水印,并将添加了所述防伪水印的部署请求封装入容器中,得到初始容器;
所述服务端,还用于根据所述初始容器对应的用户角色确定所述用户角色的虚拟用户名,根据所述虚拟用户名创建所述用户角色对应的虚拟用户角色,确定所述初始容器对应的用户角色的虚拟用户角色,获取所述虚拟用户角色的虚拟用户名,根据所述虚拟用户名生成检验规则,并将所述检验规则添加至所述初始容器中,得到部署容器;
所述用户端,还用于调用所述部署容器,以完成K8S环境中的服务部署。
6.根据权利要求5所述的装置,其特征在于,在所述根据所述用户端提交的角色创建请求,创建用户角色方面,所述服务端,具体用于:
根据所述用户端提交的角色创建请求,确定所述用户的用户名;
根据所述用户名查询权限表,确定所述用户名对应的权限;
根据所述用户名和所述用户名对应的权限,创建所述用户角色。
7.一种电子设备,其特征在于,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述一个或多个程序包括用于执行权利要求1-4任一项方法中的步骤的指令。
8.一种可读计算机存储介质,其特征在于,所述可读计算机存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194888.3A CN113886796B (zh) | 2021-10-13 | 2021-10-13 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111194888.3A CN113886796B (zh) | 2021-10-13 | 2021-10-13 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886796A CN113886796A (zh) | 2022-01-04 |
CN113886796B true CN113886796B (zh) | 2024-05-28 |
Family
ID=79002602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111194888.3A Active CN113886796B (zh) | 2021-10-13 | 2021-10-13 | 基于k8s的服务部署方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886796B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343934A (zh) * | 2018-09-17 | 2019-02-15 | 北京北信源信息安全技术有限公司 | 一种基于容器的私服架构及其搭建和可视化方法 |
CN110166278A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | Kubernetes集群搭建方法、装置、计算机设备及存储介质 |
KR102146940B1 (ko) * | 2020-03-16 | 2020-08-24 | 주식회사 스태비 | 토큰 위변조 검증 방법 |
CN111625316A (zh) * | 2020-05-15 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种环境部署方法、装置及电子设备和存储介质 |
CN111736956A (zh) * | 2020-06-29 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种容器服务部署方法、装置、设备及可读存储介质 |
CN113064600A (zh) * | 2021-04-20 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 部署应用的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112840318A (zh) * | 2018-12-03 | 2021-05-25 | 易享信息技术有限公司 | 用于计算机系统的自动化操作管理 |
US11277267B2 (en) * | 2019-05-07 | 2022-03-15 | International Business Machines Corporation | Fine-grained token based access control |
-
2021
- 2021-10-13 CN CN202111194888.3A patent/CN113886796B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343934A (zh) * | 2018-09-17 | 2019-02-15 | 北京北信源信息安全技术有限公司 | 一种基于容器的私服架构及其搭建和可视化方法 |
CN110166278A (zh) * | 2019-04-09 | 2019-08-23 | 平安科技(深圳)有限公司 | Kubernetes集群搭建方法、装置、计算机设备及存储介质 |
KR102146940B1 (ko) * | 2020-03-16 | 2020-08-24 | 주식회사 스태비 | 토큰 위변조 검증 방법 |
CN111625316A (zh) * | 2020-05-15 | 2020-09-04 | 苏州浪潮智能科技有限公司 | 一种环境部署方法、装置及电子设备和存储介质 |
CN111736956A (zh) * | 2020-06-29 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种容器服务部署方法、装置、设备及可读存储介质 |
CN113064600A (zh) * | 2021-04-20 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 部署应用的方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于边缘计算的多集群容器云资源调度机制研究与实现;王博;中国优秀硕士学位论文全文数据库信息科技辑;20190915(第9期);第I139-137页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113886796A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10447684B2 (en) | Hosted application sandbox model | |
CN111414407A (zh) | 数据库的数据查询方法、装置、计算机设备及存储介质 | |
US10579442B2 (en) | Inversion-of-control component service models for virtual environments | |
US10250723B2 (en) | Protocol-level identity mapping | |
US11521137B2 (en) | Deployment of self-contained decision logic | |
US20150052258A1 (en) | Direct map proxy system and protocol | |
US10733238B2 (en) | Script manager for distributed systems | |
US10091179B2 (en) | User authentication framework | |
US10972444B1 (en) | Mapping account information | |
US11924210B2 (en) | Protected resource authorization using autogenerated aliases | |
US11882154B2 (en) | Template representation of security resources | |
US20180107812A1 (en) | Security model for network information service | |
US10262155B1 (en) | Disabling features using feature toggle | |
US9672052B1 (en) | Secure inter-process communication | |
US20240126846A1 (en) | Identifying and consenting to permissions for workflow and code execution | |
US10776180B1 (en) | Expression-based feature toggle in an application programming interface (API) | |
CN109040339A (zh) | 基于ajax的跨域请求处理方法、装置及设备 | |
US10341420B1 (en) | Approaches for preparing and delivering bulk data to clients | |
CN113886796B (zh) | 基于k8s的服务部署方法、装置、电子设备和存储介质 | |
CN116610354A (zh) | 参数校验方法、装置、计算机设备及存储介质 | |
CN114924783A (zh) | 应用程序的接口调用方法、装置、设备及存储介质 | |
CN114266072A (zh) | 一种权限分配控制方法、装置、电子设备及存储介质 | |
US11616787B1 (en) | Mechanism to manage group of resources using virtual resource containers | |
CN109472156A (zh) | 信息访问方法、装置、电子设备及计算机可读存储介质 | |
CN109561146A (zh) | 文件下载方法、装置、终端设备 |
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 |