一种基于K8s开发的应用迁移到无网环境的方法与流程

文档序号:26548145发布日期:2021-09-07 23:53阅读:120来源:国知局
一种基于K8s开发的应用迁移到无网环境的方法与流程
一种基于k8s开发的应用迁移到无网环境的方法
技术领域
1.本发明涉及k8s系统开发技术领域,具体涉及一种基于k8s开发的应用迁移到无网环境的方法。


背景技术:

2.k8s系统是一个全新的基于容器技术的分布式架构领先方案,在docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性,是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时k8s系统提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
3.k8s系统的优势在于:容器编排、轻量级、开源、弹性伸缩、负载均衡等,k8s系统是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,还具有故障迁移能力,故障迁移就是当某一个node节点关机或挂掉后,node节点上的服务会自动转移到另一个node节点上,这个过程所有服务不中断,这是docker或普通云主机是不能做到的。
4.当前云原生的开发模式在基于云计算(公有云/私有云)k8s环境的应用系统开发已经越来越多,方便管理,弹性使用资源,对于部分场景(如安全检查工具箱等)需要运行在单机的终端上,不能连接到外部网络环境,甚至都没有配置网卡,为了最大可能复用已开发的应用系统,减少对应用系统的开发改造,可以将包含有应用系统的k8s环境做整体迁移到单机无网络环境。
5.k8s是以服务器运行环境为基础,使用网络是一个约定的前提,其中在k8s内部包含overlay网络、dns服务等网络相关的服务,如果外部没有一个网络环境,k8s系统环境将是无法运行的,在桌面端的开发环境中通常使用的方式是本安装虚拟机(含有网络),并在虚拟机中安装一个k8s环境,性能上会有较大限制。对于无网络(或无网卡)物理机的环境,目前还没有发现直接可用的方法。
6.目前,但是其在实际使用时,在虚拟机中安装一个k8s系统,性能上会有较大限制,很多功能难以实现,也容易出现卡顿的现象,k8s系统也无法在无网络、无网卡的物理机环境下直接安装使用。
7.因此,发明一种基于k8s开发的应用迁移到无网环境的方法来解决上述问题很有必要。


技术实现要素:

8.本发明的目的是提供一种基于k8s开发的应用迁移到无网环境的方法,通过将k8s开发并已经运行的应用系统在最小化修改的情况下,整体迁移到单机无网络环境中,在无
网络的环境下也可以直接使用,使用场景不受限制,使用更加的便利,给使用者提供便利,也不会出现卡顿的情况,效率提高,以解决技术中的上述不足之处。
9.为了实现上述目的,本发明提供如下技术方案:一种基于k8s开发的应用迁移到无网环境的方法,包括以下步骤:
10.步骤一、安装linux操作系统,含gui;
11.步骤二、创建虚拟网卡设备;
12.步骤三、配置虚拟网卡ip;
13.步骤四、配置默认路由;
14.步骤五、配置dns服务解析地址、将主机名解析到本机地址;
15.步骤六、安装docker服务、安装本机镜像库服务、安装k8s服务、安装k8s网络组件flannel、flannel配置使用虚拟网卡、修改引用本机镜像库;
16.步骤七、安装k8s中的应用。
17.优选的,在步骤一中,在电脑上安装linux操作系统,所安装的linux操作系统需要包含gui,gui即人机交互图形化用户界面设计,是一种人与计算机通信的界面显示格式,允许用户使用鼠标和键盘操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。
18.优选的,在步骤二中,创建虚拟网卡设备包括创建网桥、tap设备、tun设备、veth

pair设备,这些网络虚拟设备的驱动在最新版本的linux内核均已支持,可以使用ip命令创建出来。
19.优选的,在步骤三中,配置虚拟网卡ip,同时配置真实mac地址(虚拟网卡的默认mac地址一般是随机的,没有规律),使看起来像是一个更像是一个接近于物理网卡,并给网卡配置链路本地地址,例如设置为169.254.12.34,使之能够访问。
20.优选的,在步骤四中,配置默认路由,默认网卡配置地地址之后,只会将网卡ip子网地址段的网络数据发送,而k8s集群中需要使用虚拟的ip地址段,必须通过默认路由才能转发,默认路由的规则是将default的地址发往指定的网卡,或使用特别的ip地址作为网关的地址,再发送到虚拟网卡中。
21.优选的,在步骤五中,修改etc/resolv.conf文件,配置dns服务解析地址,修改etc/hosts文件,将主机名解析到本机(如169.254.12.34),部分组件在会解析当前主机名的ip地址,配置之后以防止部分组件使用本机主机名时进行网络通讯时出现无法获取ip地址的情形。
22.优选的,在步骤六中,k8s网络组件一般使用vxlan方式进行构建出k8s内部的服务子网和pod子网,vxlan网络需要基于另一个已存在的网络接口进行通讯用,在网络组件(如flannel)的配置(如iface参数)指定虚拟网卡的名称(如tap)。
23.优选的,在步骤七中,在k8s环境上配置应用系统,包括pod、deploy/sts/ds。
24.在上述技术方案中,本发明提供的技术效果和优点:
25.通过安装适配linux操作系统(含gui操作),虚拟网络配置、安装docker&k8s环境(k8s镜像,flannel网络镜像)、容器镜像库(registry)、在k8s环境上配置应用系统(pod、deploy/sts/ds),与现有技术相比,可实现将k8s开发并已经运行的应用系统在最小化修改的情况下,整体迁移到单机无网络环境中,在无网络的环境下也可以直接使用,使用场景不
受限制,使用更加的便利,给使用者提供便利,也不会出现卡顿的情况,效率提高。
附图说明
26.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
27.图1为本发明的整体流程示意图。
具体实施方式
28.为了使本领域的技术人员更好地理解本发明的技术方案,下面将结合附图对本发明作进一步的详细介绍。
29.本发明提供了如图1所示的一种基于k8s开发的应用迁移到无网环境的方法,包括以下步骤:
30.步骤一、安装linux操作系统,含gui;
31.步骤二、创建虚拟网卡设备;
32.步骤三、配置虚拟网卡ip;
33.步骤四、配置默认路由;
34.步骤五、配置dns服务解析地址、将主机名解析到本机地址;
35.步骤六、安装docker服务、安装本机镜像库服务、安装k8s服务、安装k8s网络组件flannel、flannel配置使用虚拟网卡、修改引用本机镜像库;
36.步骤七、安装k8s中的应用。
37.进一步的,在上述技术方案中,在步骤一中,在电脑上安装linux操作系统,所安装的linux操作系统需要包含gui,gui即人机交互图形化用户界面设计,是一种人与计算机通信的界面显示格式,允许用户使用鼠标和键盘操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务,linux系统具有类似于windows操作系统的图形界面,其名称是x

window系统,x

window是一种起源于linux操作系统的标准图形界而,可以为用户提供一种具有多种窗口管理功能的对象集成环境,linux系统采取了多种安全措施,如任务保护机制、审计跟踪、核心报校、访问授权等,为网络多用户环境中的用户提供了强大的安全保障,由于linux系统的开放性及其他一些原因,使其对计算机病毒具有良好的防御机制,linux平台基木上不需要安装防病毒软件,另外linux系统具有极强的稳定性,可以长时间稳定地运行。
38.进一步的,在上述技术方案中,在步骤二中,创建虚拟网卡设备包括创建网桥、tap设备、tun设备、veth

pair设备,这些网络虚拟设备的驱动在最新版本的linux内核均已支持,可以使用ip命令创建出来,虚拟网卡可以模拟集线器功能,实现vpn的功能,使的系统把此软件识别成一块网,设备都可以连接到虚拟集线器(hub)上与其它电脑组成局域网,在此虚拟的局域网上能进行所有物理存在的局域网的操作,可以互相访问。
39.进一步的,在上述技术方案中,在步骤三中,配置虚拟网卡ip,同时配置真实mac地址(虚拟网卡的默认mac地址一般是随机的,没有规律),使看起来像是一个更像是一个接近于物理网卡,并给网卡配置链路本地地址,例如设置为169.254.12.34,使之能够访问,虚拟
网卡ip是为了便于访问所设置的。
40.进一步的,在上述技术方案中,在步骤四中,配置默认路由,默认网卡配置地地址之后,只会将网卡ip子网地址段的网络数据发送,而k8s集群中需要使用虚拟的ip地址段,必须通过默认路由才能转发,默认路由的规则是将default的地址发往指定的网卡,或使用特别的ip地址作为网关的地址,再发送到虚拟网卡中。
41.进一步的,在上述技术方案中,在步骤五中,修改etc/resolv.conf文件,配置dns服务解析地址,修改etc/hosts文件,将主机名解析到本机(如169.254.12.34),部分组件在会解析当前主机名的ip地址,配置之后以防止部分组件使用本机主机名时进行网络通讯时出现无法获取ip地址的情形。
42.进一步的,在上述技术方案中,在步骤六中,k8s网络组件一般使用vxlan方式进行构建出k8s内部的服务子网和pod子网,vxlan网络需要基于另一个已存在的网络接口进行通讯用,在网络组件(如flannel)的配置(如iface参数)指定虚拟网卡的名称(如tap),vxlan技术通过建立vxlan隧道,在现有网络架构上创建大量的虚拟可扩展局域网,不同的虚拟可扩展局域网使用vni(vxlan network identifier,虚拟可扩展局域网网络标识符)进行标识,flannel实质上是一种”覆盖网络(overlay network)”,也就是将tcp数据包装在另一种网络包里面进行路由转发和通信,目前已经支持udp、vxlan、aws vpc和gce路由数据转发方式,默认的节点间数据通信方式是udp转发。
43.进一步的,在上述技术方案中,在步骤七中,在k8s环境上配置应用系统,包括pod、deploy/sts/ds,在k8s环境上配置pod、deploy/sts/ds之后便可以进行使用。
44.实施方式具体为:安装适配linux操作系统(含gui操作),虚拟网络配置、安装docker&k8s环境(k8s镜像,flannel网络镜像)、容器镜像库(registry)、在k8s环境上配置应用系统(pod、deploy/sts/ds),其中虚拟网络配置,主要创建一块虚拟卡,并在单机上配置网络连接,包含有几个部分:一、虚拟网卡设备(如tap);二、配置虚拟网卡ip(如链路本地地址169.254.12.34);三、配置默认路由(如使用虚拟网卡);四、修改/etc/resolv.conf文件,配置dns服务解析地址(如本机地址169.254.12.34);五、修改/etc/hosts文件,将主机名解析到本机地址(如169.254.12.34);这样能够在无网卡的环境,可以构建出一个最小的网络环境,之后安装k8s环境中时,将apiserver服务ip地址指定为本机地址(如169.254.12.34),将flannel网络组件的网络接口配置为虚拟网卡的名称(如tap),至此k8s基础环境配置完成,将镜像仓库地址指向本机地址(如169.254.12.34),安装k8s环境中的pod、deploy/sts/ds即可,本发明可实现将k8s开发并已经运行的应用系统在最小化修改的情况下,整体迁移到单机无网络环境中,在无网络的环境下也可以直接使用,使用场景不受限制,使用更加的便利,给使用者提供便利,也不会出现卡顿的情况,效率提高,该实施方式具体解决了现有技术中在虚拟机中安装一个k8s系统,性能上会有较大限制,很多功能难以实现,也容易出现卡顿的现象,k8s系统也无法在无网络、无网卡的物理机环境下直接安装使用的问题。
45.以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明权利要求保护范围的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1