一种基于k8s的多用户云终端接入管理方法及系统技术方案

技术编号:37783591 阅读:15 留言:0更新日期:2023-06-09 09:14
本发明专利技术涉及互联网技术领域,公开了一种基于k8s的多用户云终端接入管理方法及系统,首先,接收来自用户的SHELL登录请求;根据SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限,当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。实现了基于容器化SSH代理登录主机或服务器主机提供多用户登录接入,占用计算资源少,权限控制灵活且配置方便。灵活且配置方便。灵活且配置方便。

【技术实现步骤摘要】
一种基于k8s的多用户云终端接入管理方法及系统


[0001]本申请涉及互联网
,尤其是涉及到一种基于k8s的多用户云终端接入管理方法及系统。

技术介绍

[0002]SSH(SecureShell,安全外壳协议)是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH可以有效防止远程管理过程中的信息泄露问题,通过SSH登录到服务器,在开发中经常存在。现有技术中,可通过Cloud Shell方式管理云资源。通过浏览器启动Cloud Shell时,Cloud Shell自动分配一台Linux管理机,并预装CLI、Terraform等多种云管理工具和ssh、vim、jq等系统工具,供开发人员使用。现有技术中的这种方式,需要单独分配一台Linux管理机或虚拟机,占用系统资源较大,用户登录验证依赖于软件本身的安全性要求,无法对多用户场景进行灵活控制,且无法支持RBAC访问权限控制,对登录服务器资源环境的配置不够灵活。

技术实现思路

[0003]有鉴于此,本申请提供了一种基于k8s的多用户云终端接入管理方法及系统,实现基于容器化SSH代理登录主机或服务器主机提供多用户登录接入,占用资源小,实现了灵活的权限控制及资源配置,解决了SSH登录虚拟机占用资源大、权限控制不灵活、配置不便的技术问题。
[0004]根据本申请的第一方面,提供了一种基于k8s的多用户云终端接入管理方法,包括:
[0005]接收来自用户的SHELL登录请求;
[0006]根据所述SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限;
[0007]其中,K8S为Kubernetes的简称,Kubernetes是一个全新的基于容器技术的分布式架构解决方案,是Google开源的一个容器集群管理系统。
[0008]当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。
[0009]根据本申请的第二方面,提供了一种基于k8s的多用户云终端接入管理系统,包括:
[0010]接收模块,用于接收来自用户的SHELL登录请求;
[0011]鉴权模块,用于根据所述SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限;
[0012]接入模块,用于当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。
[0013]根据本申请的第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在
存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于k8s的多用户云终端接入管理方法的步骤。
[0014]根据本申请的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于k8s的多用户云终端接入管理方法的步骤。
[0015]借由上述技术方案,本申请提供的一种基于k8s的多用户云终端接入管理方法、装置、设备及介质,首先,接收来自用户的SHELL登录请求;根据SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限,当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。实现了基于容器化SSH代理登录主机或服务器主机提供多用户登录接入,占用计算资源少,权限控制灵活且配置方便。
[0016]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特列举本申请的具体实施方式。
附图说明
[0017]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1示出了本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理方法应用场景的示意图;
[0019]图2示出了本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理方法流程示意图;
[0020]图3示出了本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理系统示意图。
具体实施方式
[0021]下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0022]如图1所示,为本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理方法应用场景的示意图,K8S中主机(可以是物理机或者虚拟机)包括Master和Node,Node e是一个执行具体工作的机器,它可用是虚拟机也可用是物理机,Master负责管理Node,控制Node具体运行什么容器,同时还承担外部数据访问的角色。每个Pod都会放在预定的Node上面,并且会一直存在于那里直到运行终止或者被删除。每个Node上面可用有多个Pod。每个Node都由Master统一管理,Kubernetes Master会自动在Node之间处理调度相关的处理。Master的自动调度会记录每个Node上的可用资源,其中,Kubernetes Master执行本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理方法,首先,接收来自用户的SHELL登录请求;根据SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限,当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。实现了基于容器化SSH代理登录主机或服务器主机提供多用户登录接入,
占用计算资源少,权限控制灵活且配置方便。
[0023]实施例一
[0024]为了更加清晰的描述本专利技术实施例中提供的一种基于k8s的多用户云终端接入管理方法,如图2所示,包括:
[0025]步骤201、接收来自用户的SHELL登录请求;
[0026]步骤202、根据所述SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限;
[0027]其中,本步骤中需要进行如下操作通过基于角色的访问控制RBAC,通过生成的/var/run/secret进行权限控制,当发起一个SSH连接请求时,会查看生成的/var/run/secret文件,从中提取用户名和组,然后匹配当前创建的RBAC规则进行鉴权,以判断是否有接入权限。
[0028]步骤203、当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。
[0029]为了设置,步骤201之前,包括:
[0030]对Service的配置文件servi本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于k8s的多用户云终端接入管理方法,其特征在于,包括:接收来自用户的SHELL登录请求;根据所述SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限;当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务。2.根据权利要求1所述的方法,其特征在于,所述接收来自用户的SHELL登录请求的步骤之前,包括:对Service的配置文件service

nodeport.yaml中的Service端口、Pod端口、主机端口进行设置。3.根据权利要求1所述的方法,其特征在于,所述当用户拥有接入权限时,为用户分配单独的namespace,并启动Job Pod容器,以开启SHELL接入服务的步骤,包括:当用户拥有接入权限时,根据用户表示,在容器运行时CR中分配对应的namespace;根据Job配置模版,启动Job Pod容器,以开启SHELL接入服务,其中,所述Job配置模版中定义启动的Job Pod数量及。4.根据权利要求3所述的方法,其特征在于,所述根据Job配置模版,启动Job Pod容器,以开启SHELL接入服务的步骤包括:根据Job配置模版,在Job的配置文件中给Job的spec增加ttlSecondsAfterFinished字段;设置ttlSecondsAfterFinished为预设时间数值。5.根据权利要求1所述的方法,其特征在于,所述根据所述SHELL登录请求,通过K8S的Service Account认证对用户进行鉴权,以判断是否有接入权限的步骤,包括:根据所...

【专利技术属性】
技术研发人员:王昊天宋岩强白剑波李青龙
申请(专利权)人:北京智慧星光信息技术有限公司
类型:发明
国别省市:

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

1