一种基于Kubernetes的软件部署方法技术

技术编号:29834771 阅读:21 留言:0更新日期:2021-08-27 14:24
本发明专利技术提供了一种基于Kubernetes的软件部署方法,包括以下步骤:编写应用微服务的所有Kubernetes资源模板文件,打包到安装部署工具中;在Kubernetes集群创建安装部署工具workload;浏览器访问所述安装部署工具;根据引导步骤,输入收集的安装信息数据;根据所述收集的安装信息数据将所述Kubernetes资源模板文件生成最终的Kubernetes资源对象安装文件;将Kubernetes资源对象文件依次导入Kubernetes集群,生成资源对象;完成所有应用微服务的安装。本发明专利技术降低了企业级微服务软件的交付成本,提高了交付效率;保证了所有交付出去的软件一致性,降低了后期服务成本。

【技术实现步骤摘要】
一种基于Kubernetes的软件部署方法
本专利技术涉及应用微服务部署
,具体而言,涉及一种基于Kubernetes的软件部署方法。
技术介绍
在步入云计算时代后,很多企业级应用从单体架构向微服务架构转变,以云原生的微服务架构部署交付。对于客户侧的众多应用微服务的部署交付,大量微服务部署以及配置与管理是其中很大的难点。部署应用微服务的数量大,且由于各个应用微服务的运行环境不同而很容易出错,客户侧部署的众多应用微服务很难做到一致性,给后期的维护带来诸多不便,并且增加了维护成本。
技术实现思路
鉴于此,本专利技术的目的在于提高企业的云原生软件交付效率、降低交付部署与升级维护成本。本专利技术基于kubernetes的云原生微服务架构软件交付部署,利用kubectl工具,对软件的一整套配套的镜像容器服务、namespace、deployment、service、ingress、pvc、configmap等应用所需要的kubernetes资源对象文件进行管理的方法。本专利技术提供一种基于Kubernetes的软件部署方法,包括以下步骤:S1、编写应用微服务的所有Kubernetes资源模板文件,打包到安装部署工具中;所述编写应用微服务的所有Kubernetes资源模板文件的方法为使用模板化语言,对应用微服务部署交付需要的信息进行模板化描述,所述应用微服务部署交付需要的信息包括:应用微服务的各个服务的应用配置文件信息和Kubernetes资源对象文件;所述Kubernetes资源对象文件包括namespace、deployment、service、ingress、pvc、configmap的一种或多种;S2、在Kubernetes集群创建安装部署工具workload;所述安装部署工具workload用于软件资源包的管理、安装过程数据收集以及应用微服务的kubernetes资源对象文件的创建,所述安装部署工具使用浏览器比如web页面,对应用微服务必要的安装信息数据进行输入收集;S3、浏览器访问所述安装部署工具;S4、根据引导步骤,输入收集的安装信息数据;所述收集的安装信息数据包括:a、收集应用微服务依赖的各种数据库软件的主机端口地址、账号、密码信息中的一种或多种;具体地,所述数据库软件包括MySQL、Redis、InfluxDB、Elasticsearch;b、收集应用微服务的各子系统的域名;c、收集域名的SSL证书信息;所述引导步骤包括:S41、检测Kubernetes环境是否已安装过需要的应用微服务,如已安装过,则对已安装过的应用微服务进行清理后再继续安装,以保证应用微服务的正常安装;S42、将Kubernetes资源对象模板文件的configmap根据收集的安装信息数据生成Kubernetes资源对象文件,并提供部署修改应用配置的configmapKubernetes资源文件;S43、根据所有应用微服务的Docker镜像配置以及kubernetes资源对象关系的配置,将Kubernetes资源模板文件的deployment、service生成最终的Kubernetes资源对象文件;所述所有应用微服务的Docker镜像配置以及kubernetes资源对象关系的配置包括config.yaml列表、应用的所有服务名称列表以及每个服务的Docker镜像地址、镜像版本、每个服务使用的configmap文件关系的一种或多种;S5、根据所述收集的安装信息数据将所述Kubernetes资源模板文件生成最终的Kubernetes资源对象文件;具体地,kubernetes资源对象文件为yaml文件;S6、将Kubernetes资源对象文件依次导入Kubernetes集群,生成资源对象;所述将Kubernetes资源对象文件依次导入Kubernetes集群的方法包括:将所有应用微服务的Kubernetes资源对象文件,通过kubectl命令导入到Kubernetes集群中;所述生成资源对象的方法包括:利用kubectl命令创建与启动整个应用微服务的所有Kubernetes资源对象文件。S7、完成所有应用微服务的安装。所述完成所有应用微服务的安装之后,还包括:监听所有应用微服务的workload状态,等全部服务软件启动完毕后,在数据库软件中写入当前安装的应用版本号,以便后续升级应用时做版本判断依据。与现有技术相比,本专利技术的有益效果是:1、降低了企业级微服务软件的交付成本,提高了交付效率。2、保证了所有交付出去的软件的一致性,降低了后期服务成本。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。在附图中:图1是本专利技术基于Kubernetes的软件部署方法的流程图;图2是本专利技术实施例的引导步骤的流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三来描述各种信号,但这些信号不应限于这些术语。这些术语仅用来将同一类型的信号彼此区分开。例如,在不脱离本公开范围的情况下,第一信号也可以被称为第二信号,类似地,第二信号也可以被称为第一信号。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本专利实施例首先是开发一个可视化的安装部署工具,用于管理应用微服务的所有Kubernetes资源模板文件、Kubernetes资源对象文件、以及帮助安装部署人员去可视化操作完成微服务框架应用的安装与部署。安装前提是先准备好应用微服务所有必须依赖的基础设施,比如Kubernetes集群,各种基础数据库等。然后将安装部署工具在Kubernetes集群中创建并启动,安装部署工具中需要一个Kuberntetes的kubeconfig授权文件以使用kubectl命令去控制集群,创建与管理各种资源对象,浏览器访问安装部署工具。本专利技术实施例提供一种基于Kubernetes的软件部署方法,参阅附图图1所示,包括以下步骤:...

【技术保护点】
1.一种基于Kubernetes的软件部署方法,其特征在于,包括以下步骤;/nS1、编写应用微服务的所有Kubernetes资源模板文件,打包到安装部署工具中;/nS2、在Kubernetes集群创建安装部署工具workload;/nS3、浏览器访问所述安装部署工具;/nS4、根据引导步骤,输入收集的安装信息数据;/nS5、根据所述收集的安装信息数据将所述Kubernetes资源模板文件生成最终的Kubernetes资源对象安装文件;/nS6、将Kubernetes资源对象文件依次导入Kubernetes集群,生成资源对象;/nS7、完成所有应用微服务的安装。/n

【技术特征摘要】
1.一种基于Kubernetes的软件部署方法,其特征在于,包括以下步骤;
S1、编写应用微服务的所有Kubernetes资源模板文件,打包到安装部署工具中;
S2、在Kubernetes集群创建安装部署工具workload;
S3、浏览器访问所述安装部署工具;
S4、根据引导步骤,输入收集的安装信息数据;
S5、根据所述收集的安装信息数据将所述Kubernetes资源模板文件生成最终的Kubernetes资源对象安装文件;
S6、将Kubernetes资源对象文件依次导入Kubernetes集群,生成资源对象;
S7、完成所有应用微服务的安装。


2.根据权利要求1所述的软件部署方法,其特征在于,所述S4步骤的所述收集的安装信息数据包括:
a、收集应用微服务依赖的各种数据库软件的主机端口地址、账号、密码信息中的一种或多种;
b、收集应用微服务的各子系统的域名;
c、收集域名的SSL证书信息。


3.根据权利要求1所述的软件部署方法,其特征在于,所述S4步骤的所述引导步骤包括:
S41、检测Kubernetes环境是否已安装过需要的应用微服务,如已安装过,则对已安装过的应用微服务进行清理后再继续安装;
S42、将Kubernetes资源对象模板文件的configmap根据收集的安装信息数据生成Kubernetes资源对象文件,并提供部署修改应用配置的configmapKubernetes资源文件;
S43、根据所有应用微服务的Docker镜像配置以及kubernetes资源对象关系的配置,将Kubernetes资源模板文件的deployment、service生成最终的Kubernetes资源对象文件。


4.根据权利要求1所述的软件部署方法,其特征在于,所述S6步骤的所述将Kubernetes资源对象文件依次导入Kubernetes集群的方法包括:将所有应用微...

【专利技术属性】
技术研发人员:陆宏鸣
申请(专利权)人:上海驻云信息科技有限公司
类型:发明
国别省市:上海;31

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

1