本发明专利技术实施例提供一种基于Kubernetes的协议转换处理方法,所述方法包括:通过在pod中部署的本地代理接收全局代理转发的根据第一协议的第一请求;通过所述本地代理将所述第一请求转换为基于第二协议的第二请求,其中,所述pod还部署有本地服务;通过所述本地代理将所述第二请求发送给所述本地服务。根据本发明专利技术,能够使本地服务自带定制处理,方便不同本地服务的统一部署和管理。
【技术实现步骤摘要】
基于Kubernetes的协议转换处理方法和设备
本专利技术涉及计算机网络领域,更为具体而言,涉及一种基于Kubernetes的协议转换处理方法和设备。
技术介绍
Kubernetes系统,也可以称为K8S系统。基于安全目的,K8S系统与用户客户端之间的通信是基于第一协议,例如,来自用户的请求是基于第一协议的请求,该请求到达Kubernetes系统中,是基于Kubernetes系统内部通信的第二协议被转发到对应的服务,该服务根据该第二协议的请求做出反馈结果,那么从Kubernetes系统发往用户的反馈结果是基于第二协议的请求结果,产生跨域问题,而导致服务无法提供。
技术实现思路
为解决上述问题,本专利技术实施方式提供了一种基于Kubernetes的协议转换方法,通过在pod中设置本地代理和本地服务,并且通过本地代理进行协议转换,使得本地服务自带定制处理,无需将Kubernetes服务的配置文件与通用的配置文件进行差别处理,对于部署而言,可以与其他服务等同处理,从而方便服务的开发和部署。第一方面,本专利技术实施方式提供一种基于Kubernetes的协议转换处理方法,所述方法包括:通过在pod中部署的本地代理接收全局代理转发的根据第一协议的第一请求;通过所述本地代理将所述第一请求转换为基于第二协议的第二请求,其中,所述pod还部署有本地服务;通过所述本地代理将所述第二请求发送给所述本地服务。在本专利技术的一些实施方式中,所述第二协议与Kubernetes系统和用户客户端之间的通信协议相同。在本专利技术的一些实施方式中,所述第一协议为超文本传输协议HTTP,所述第二协议为超文本传输协议安全HTTPS。在本专利技术的一些实施方式中,所述本地服务包括中央认证服务CAS。在本专利技术的一些实施方式中,所述Pod和其他pod的通信是基于所述第一协议。在本专利技术的一些实施方式中,所述方法还包括:所述本地服务向所述本地代理返回基于所述第二协议的请求结果。在本专利技术的一些实施方式中,所述方法还包括:将所述本地服务的对外服务的端口修改为所述本地代理的端口。在本专利技术的一些实施方式中,通过所述本地代理将所述第二请求发送给所述本地服务包括:将所述第二请求从所述本地代理的端口发送到所述本地服务的端口。第二方面,本专利技术实施方式还提供一种计算机设备,包括存储器和处理器,其中,存储器,用于存储计算机指令;处理器,配置为执行所述计算机指令以使所述计算机设备执行第一方面所述的方法。第三方面,本专利技术实施方式还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面所述的方法。附图说明图1示出了根据本专利技术实施方式的基于Kubernetes的环境切换处理方法。图2示出了根据本专利技术实施方式的基于Kubernetes的生产环境的端口暴露示意图。图3示出了根据本专利技术实施方式的基于Kubernetes的开发环境的端口暴露示意图。图4示出了根据本专利技术实施方式的基于Kubernetes的协议转换处理方法。图5示出了一种Kubernetes的请求转发处理示意图。图6示出了根据本专利技术实施方式的请求转发处理示意图。图7示出了根据本专利技术实施方式的计算机设备的结构示意图。具体实施方式现参考示例性的实施方式详细描述本专利技术,一些实施例图示在附图中。以下描述参考附图进行,除非另有表示,否则在不同附图中的相同数字代表相同或类似的元件。以下示例性实施方式中描述的方案不代表本专利技术的所有方案。相反,这些方案仅是所附权利要求中涉及的本专利技术的各个方面的系统和方法的例子。在本专利技术实施方式中,Kubernetes系统可以是集群形式的系统,可将集群中的机器划分为一个Master节点和一群工作节点(Node)。其中,Master节点上运行着集群管理相关的一组进程etcd、APIServer、ControllerManager、Scheduler,后三个组件APIServer、ControllerManager和Scheduler构成了Kubernetes的总控中心,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能。RC(ReplicationController),用于目标Pod的定义;目标Pod需要运行的副本数量;要监控的目标Pod标签(Label);Kubernetes通过RC中定义的Lable筛选出对应的Pod实例,并实时监控其状态和数量,如果实例数量少于定义的副本数量(Replicas),则会根据RC中定义的Pod模板来创建一个新的Pod,然后将此Pod调度到合适的Node上启动运行,直到Pod实例数量达到预定目标。Kubernetes中的流程处理如下:通过Kubectl提交一个创建RC的请求,该请求通过APIServer被写入etcd中,此时ControllerManager通过APIServer的监听资源变化的接口监听到RC事件,分析之后,发现当前集群中还没有它所对应的Pod实例,于是根据RC里的Pod模板定义生成一个Pod对象,通过APIServer写入etcd,接下来,此事件被Scheduler发现,它立即执行一个复杂的调度流程,为这个新Pod选定一个落户的Node,然后通过APIServer将这一结果写入到etcd中,随后,目标Node上运行的Kubelet进程通过APIServer监测到这个“新生的”Pod,并按照它的定义,启动该Pod,为pod提供服务,直到Pod的生命结束。随后,通过Kubectl提交一个新的映射到该Pod的Service的创建请求,ControllerManager会通过Label标签查询到相关联的Pod实例,然后生成Service的Endpoints信息,并通过APIServer写入到etcd中,接下来,所有Node上运行的Proxy进程通过APIServer查询并监听Service对象与其对应的Endpoints信息,建立一个软件方式的负载均衡器来实现Service访问到后端Pod的流量转发功能。本专利技术实施方式中,Kubernetes框架中的etcd,用于持久化存储集群中所有的资源对象,如Node、Service、Pod、RC、Namespace等;APIServer提供了操作etcd的封装接口API,这些API基本上都是集群中资源对象的增删改查及监听资源变化的接口。本专利技术实施方式中,Kubernetes框架中,一个Pod中的应用容器共享同一组资源,包括:为每个Pod分配一个IP地址,使用Pod名作为容器间通信的主机名等,在Kubernetes系统,虽然每个Pod都会被分配一个单独的IP地址,但这个IP地址会随着Pod的销毁而消失;PID命名空间:Pod中的不同应用程序可以看到其他应用程序的进程ID;网络命名空间:Pod中的多个容器能够访问同一个IP和端口范围;IPC命名空间:Pod中的多个容器能够使用Syste本文档来自技高网...
【技术保护点】
1.一种基于Kubernetes的协议转换处理方法,其特征在于,所述方法包括:/n通过在pod中部署的本地代理接收全局代理转发的根据第一协议的第一请求;/n通过所述本地代理将所述第一请求转换为基于第二协议的第二请求,其中,所述pod还部署有本地服务;/n通过所述本地代理将所述第二请求发送给所述本地服务。/n
【技术特征摘要】
1.一种基于Kubernetes的协议转换处理方法,其特征在于,所述方法包括:
通过在pod中部署的本地代理接收全局代理转发的根据第一协议的第一请求;
通过所述本地代理将所述第一请求转换为基于第二协议的第二请求,其中,所述pod还部署有本地服务;
通过所述本地代理将所述第二请求发送给所述本地服务。
2.根据权利要求1所述的方法,其特征在于,所述第二协议与Kubernetes系统和用户客户端之间的通信协议相同。
3.根据权利要求1所述的方法,其特征在于,所述第一协议为超文本传输协议HTTP,所述第二协议为超文本传输协议安全HTTPS。
4.根据权利要求1所述的方法,其特征在于,所述本地服务包括中央认证服务CAS。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述Pod和其他pod的通...
【专利技术属性】
技术研发人员:陈登月,
申请(专利权)人:易保网络技术上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。