本发明涉及云计算和k8s集群,具体地,涉及一种基于云计算和k8s集群部署的数据访问方法、系统、介质及设备。
背景技术:
1、传统的考试系统大多部署在本地机房,仅供内部访问使用,无法对外提供服务;传统的考试系统大多是裸部署,运维、升级等操作比较麻烦;传统的考试系统在监控层面做的不够完善,无法提供较完善的底层系统监控数据;传统的考试系统无法使用相对较低的成本来使用云计算提供的新技术产品,比如k8s集群、统一档存储服务等。
2、基于k8s部署容器化的concerto考试系统,可根据负载变化自动弹性伸缩,当cpu使用量超过一定阈值时自动增加副本数,当cpu使用量降低后再恢复到合适的副本数,整个过程自动化,无需人工参与。相比于传统的考试系统,在系统负载方面更加智慧和自动化。
3、在使用云计算服务时,通常服务是对外暴露,存在一定的安全风险。由于考试系统均供学校使用,不对外部用户提供访问,因此需要限制特定学校才可以访问云计算上的服务。通常做法是使用vpn或者专线来实现,但是这样的成本较高,且维护起来比较麻烦,而基于acl访问控制的方式可零成本实现该需求,即收集各校区的公网ip位址并添加到acl访问控制的白名单中,则仅有白名单中的学校可访问云计算上的服务。
4、专利文献cn115499310a(申请号:cn202211038600.8)公开了一种基于云计算平台容器服务的业务应用上云方法及系统,属于云计算平台领域;所述的方法具体步骤如下:s1创建k8s容器服务,制作程序应用包和docker镜像;s2根据业务场景选择k8s集群服务提出申请;s3利用kustomize包、docker镜像、chart包的部署方式来满足业务应用的容器化上云;s4对已经部署发布的应用进行全生命周期管理。然而该专利无法解决目前存在的技术问题,也无法满足本发明的需求。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于云计算和k8s集群部署的数据访问方法、系统、介质及设备。
2、根据本发明提供的基于云计算和k8s集群部署的数据访问方法,包括:
3、步骤1:在用户端发送数据访问请求至内容交付网络cdn,在cdn检查用户所请求的域名是否存在,若不存在,则返回报错;若存在,则根据管理员配置的cdn策略进行处理;
4、步骤2:将请求转发至访问控制列表acl;
5、步骤3:在请求通过acl后,将请求转发至网站应用防火墙waf;
6、步骤4:在请求通过waf后,将请求转发至负载均衡slb,检查该请求的端口和当前配置的端口是否一致,若一致,则将该请求根据预定义的转发策略转发给后端服务器组,所述后端服务器组是k8s中ecs节点池,由多个ecs节点组成;
7、步骤5:slb将请求转发给ecs节点池后,ecs节点池根据客户端请求中的域名,将请求再转发给对应的虚拟slb负载均衡器svc;
8、步骤6:在svc根据轮询策略将请求转发给后端的pod池,所述pod池由多个pod组成,在每个pod中运行web服务器;
9、步骤7:在pod收到请求后,由web服务器进行最终的处理;
10、步骤8:将处理结果和过程数据保存在网络附加存储模块nas和关系型数据库服务模块rds中。
11、优选的,cdn策略包括:
12、若开启缓存,则cdn节点检查用户请求的资源是否已经缓存在cdn本地,若cdn本地存在已缓存资源,则直接将该资源返回给客户端;若cdn本地没有该缓存,则返回后端进行处理,并且当后端返回结果后,cdn节点将该资源缓存在本地,当有请求再次访问该资源时,cdn节点从本地缓存直接返回给用户;
13、若开启acl访问控制,则cdn节点检查客户端请求的ip地址是否在acl白名单或黑名单中,若客户端请求的ip地址在白名单中,则完全放行;若客户端请求的ip地址在黑名单中,则阻拦请求并返回报错。
14、优选的,cdn节点将请求转发给waf,waf根据预先配置好的安全防护规则进行匹配;
15、所述安全防护规则包括防护规则组、白名单、黑名单、防bot、防目录遍历、防高频攻击和防扫描工具;
16、所述防护规则组包括明确的攻击ip和攻击方式,通过防护规则组对所有到达waf的请求进行扫描,如果匹配到对应的规则,则判定该请求为非法请求,将拦截并返回错误;如果通过匹配,则判定为合法请求,再放行该请求进入下一步。
17、优选的,在web服务器处理请求的过程中,若pod需要连接数据库或者将数据保存到文件中,则将这些操作转由ecs节点处理。
18、根据本发明提供的基于云计算和k8s集群部署的数据访问系统,包括:
19、模块m1:在用户端发送数据访问请求至内容交付网络cdn,在cdn检查用户所请求的域名是否存在,若不存在,则返回报错;若存在,则根据管理员配置的cdn策略进行处理;
20、模块m2:将请求转发至访问控制列表acl;
21、模块m3:在请求通过acl后,将请求转发至网站应用防火墙waf;
22、模块m4:在请求通过waf后,将请求转发至负载均衡slb,检查该请求的端口和当前配置的端口是否一致,若一致,则将该请求根据预定义的转发策略转发给后端服务器组,所述后端服务器组是k8s中ecs节点池,由多个ecs节点组成;
23、模块m5:slb将请求转发给ecs节点池后,ecs节点池根据客户端请求中的域名,将请求再转发给对应的虚拟slb负载均衡器svc;
24、模块m6:在svc根据轮询策略将请求转发给后端的pod池,所述pod池由多个pod组成,在每个pod中运行web服务器;
25、模块m7:在pod收到请求后,由web服务器进行最终的处理;
26、模块m8:将处理结果和过程数据保存在网络附加存储模块nas和关系型数据库服务模块rds中。
27、优选的,cdn策略包括:
28、若开启缓存,则cdn节点检查用户请求的资源是否已经缓存在cdn本地,若cdn本地存在已缓存资源,则直接将该资源返回给客户端;若cdn本地没有该缓存,则返回后端进行处理,并且当后端返回结果后,cdn节点将该资源缓存在本地,当有请求再次访问该资源时,cdn节点从本地缓存直接返回给用户;
29、若开启acl访问控制,则cdn节点检查客户端请求的ip地址是否在acl白名单或黑名单中,若客户端请求的ip地址在白名单中,则完全放行;若客户端请求的ip地址在黑名单中,则阻拦请求并返回报错。
30、优选的,cdn节点将请求转发给waf,waf根据预先配置好的安全防护规则进行匹配;
31、所述安全防护规则包括防护规则组、白名单、黑名单、防bot、防目录遍历、防高频攻击和防扫描工具;
32、所述防护规则组包括明确的攻击ip和攻击方式,通过防护规则组对所有到达waf的请求进行扫描,如果匹配到对应的规则,则判定该请求为非法请求,将拦截并返回错误;如果通过匹配,则判定为合法请求,再放行该请求进入下一步。
33、优选的,在web服务器处理请求的过程中,若pod需要连接数据库或者将数据保存到文件中,则将这些操作转由ecs节点处理。
34、根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于云计算和k8s集群部署的数据访问方法的步骤。
35、根据本发明提供的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现所述的基于云计算和k8s集群部署的数据访问方法的步骤。
36、与现有技术相比,本发明具有如下的有益效果:
37、(1)通过云计算平台以及k8s集群部署进行数据访问,极大提升了访问系统的负载能力、可观测性以及安全性;
38、(2)通过使用云计算平台进行数据访问,相对于自建机房的传统访问方式,以极低的成本就可以使用到主流的技术,比如cdn、waf,同时也加快了网站访问速度,加强了网站安全性;
39、(3)通过k8s集群进行数据访问,相对于传统的物理机访问方式,以极低的成本就可以集群化管理访问系统的各个服务,弹性伸缩副本数,查看到各个服务的实时负载状态等。