一种阻断K8s平台部署不合法镜像的方法及系统与流程

文档序号:34596246发布日期:2023-06-28 20:47阅读:91来源:国知局
一种阻断K8s平台部署不合法镜像的方法及系统与流程

本发明涉及软件运维,尤其涉及一种阻断k8s平台部署不合法镜像的方法及系统。


背景技术:

1、kubernetes,简称k8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效(powerful),kubernetes提供了应用部署,规划,更新,维护的一种机制。

2、镜像安全,容器镜像作为容器运行的前提,更是容器的核心内容,在其中定义了容器运行时所需进程、环境、参数等各种信息,如果容器在运行时被入侵并获取了主机的操作权限,就可能会为系统甚至整个企业运行环境带来巨大的损害,因此镜像的安全对于容器化运行环境至关重要。

3、准入控制器是kubernetes提供的扩展功能,它是一段代码,通过这段代码我们可以在对象被持久化之前拦截、验证k8s api server请求。其中mutatingadmissionwebhook和validatingadmissionwebhook是2个特殊的控制器,它们可以根据各自api中的配置分别执行变更、验证准入控制webhook。整体步骤如图2所示。


技术实现思路

1、本发明的目的是提供一种阻断k8s平台部署不合法镜像的方法及系统,以解决如何在不破坏业务逻辑的前提下实现动态判断镜像是否合法,及时、准确的阻止不合法镜像的部署,保证k8s平台的安全和稳定性的技术问题。

2、本发明是采用以下技术方案实现的:一种阻断k8s平台部署不合法镜像的方法,包括如下步骤:

3、s1:查看k8s集群信息,并检查k8s集群是否开启准入控制回调钩子admissionwebhook;

4、s2:编写回调钩子webhook服务程序,并将回调钩子webhook服务程序构建成镜像;

5、s3:将步骤s2构建的镜像推送至harbor镜像仓库,并通过工作资源负载deployment方式部署webhook服务;

6、s4:创建服务service对webhook服务进行负载。

7、进一步的,步骤s1包括如下子步骤:

8、s11:通过执行kubectl cluster-info指令查看k8s集群信息;

9、s12:确认k8s集群是否存在,若k8s集群不存在时,搭建k8s集群;

10、s13:检查k8s集群是否开启准入控制回调钩子admission webhook。

11、进一步的,步骤s13包括如下子步骤:

12、s131:若k8s集群已开启准入控制回调钩子admission webhook,则进入步骤s2;

13、s132:若k8s集群未开启准入控制回调钩子admission webhook,则手动配置开启准入控制回调钩子admissionwebhook,并重启apiserver服务。

14、进一步的,步骤s2包括如下子步骤:

15、s21:webhook中调用trivy镜像扫描功能进行镜像扫描并生成镜像扫描报告;

16、s22:webhook解析镜像扫描报告,若报告中存在critical漏洞,则返回allowedfalse和镜像不合法错误,否则返回allowed true;

17、s23:通过dockerfile 将webhook构建成镜像。

18、进一步的,步骤s3包括如下子步骤:

19、s31:将webhook程序服务镜像推送到指定harbor镜像仓库上;

20、s32:在kubernetes集群内通过deployment方式部署webhook服务。

21、进一步的,步骤s32包括如下子步骤:

22、s321:从harbor镜像仓库拉取webhook服务镜像;

23、s322:使用webhook镜像启动web server服务。

24、进一步的,步骤s4包括如下子步骤:

25、s41:创建service对webhook server进行负载;

26、s42:配置webhook到webhook链上。

27、一种阻断k8s平台部署不合法镜像的系统,包括查看模块、编写模块、推送模块和创建模块,所述查看模块用以查看k8s集群信息,并检查k8s集群是否开启准入控制回调钩子admission webhook;所述编写模块用以编写回调钩子webhook服务程序,并将回调钩子webhook服务程序构建成镜像;所述推送模块用以将步骤s2构建的镜像推送至harbor镜像仓库,并通过工作资源负载deployment方式部署webhook服务;所述创建模块用以创建服务service对webhook服务进行负载。

28、本发明的有益效果在于:本发明利用动态准入控制器技术实现了阻止在kubernetes平台部署不合法镜像的方法,在不破坏业务逻辑的前提下实现动态判断镜像是否合法,及时、准确的阻止不合法镜像的部署,保证了平台的安全和稳定性。



技术特征:

1.一种阻断k8s平台部署不合法镜像的方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s1包括如下子步骤:

3.如权利要求2所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s13包括如下子步骤:

4.如权利要求1所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s2包括如下子步骤:

5.如权利要求1所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s3包括如下子步骤:

6.如权利要求1所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s32包括如下子步骤:

7.如权利要求1所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,步骤s4包括如下子步骤:

8. 一种阻断k8s平台部署不合法镜像的系统,用以实现权利要求1~7任意一项所述的一种阻断k8s平台部署不合法镜像的方法,其特征在于,包括查看模块、编写模块、推送模块和创建模块,所述查看模块用以查看k8s集群信息,并检查k8s集群是否开启准入控制回调钩子admission webhook;所述编写模块用以编写回调钩子webhook服务程序,并将回调钩子webhook服务程序构建成镜像;所述推送模块用以将步骤s2构建的镜像推送至harbor镜像仓库,并通过工作资源负载deployment方式部署webhook服务;所述创建模块用以创建服务service对webhook服务进行负载。


技术总结
本发明公开了一种阻断K8s平台部署不合法镜像的方法及系统,该方法包括如下步骤:S1:查看K8s集群信息,并检查K8s集群是否开启准入控制回调钩子admission webhook;S2:编写回调钩子webhook服务程序,并将回调钩子webhook服务程序构建成镜像;S3:将步骤S2构建的镜像推送至Harbor镜像仓库,并通过工作资源负载Deployment方式部署webhook服务;S4:创建服务Service对webhook服务进行负载。本发明可及时、准确的阻止不合法镜像的部署。

技术研发人员:王超,田吉,李佳,刘彪,娄江南,李成,杨爽,牛建平,孙大臣,管春元,谢斌,焦质晔,滕训超,孙增强
受保护的技术使用者:启明信息技术股份有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1