一种利用容器技术私有化部署的方法技术

技术编号:35851303 阅读:24 留言:0更新日期:2022-12-07 10:35
本发明专利技术公开了一种利用容器技术私有化部署的方法:步骤1、离线安装NFS远程共享文件服务,配置所有私有化部署应用配置文件的共享目录;步骤2、制作容器docker、编排工具kubernetes的rpm包;步骤3、使用yumlocalinstall方式离线安装docker容器,kubernetes集群;步骤4、制作PV、PVC存储卷yaml文件并在kubernetes集群中完成部署;步骤5、获取应用系统所有依赖的中间件离线镜像,在kubernetes集群中部署所有中间件;步骤6、制作上传私有化部署系统的每个子系统的镜像文件,利用shell脚本一次性在kubernetes集群中部署所有应用。所有应用。所有应用。

【技术实现步骤摘要】
一种利用容器技术私有化部署的方法


[0001]本专利技术涉及计算机领域,具体涉及一种利用容器化技术私有化部署的方法。

技术介绍

[0002]一个SAAS系统(Software As a Service软件即服务)的私有化部署越来越成为很多中小企业,特别是创业公司盈利的一种重要模式,通过SAAS这种完整的平台系统的私有化部署,使得用户购买的服务更加稳定可控和数据安全。一个完整的平台系统由多个子系统、数据库、中间件所构成。使用传统的部署模式,即先计算各个部分所需的硬件资源,上传所有离线包,然后,通过脚本搭建环境,安装中间件,部署各个应用,最后调试完成后交付。这种私有化部署对于提供这种产品的企业来说,面对两个难题:第一:每一次私有化部署都需要提供足够的技术支持资源,因为每次私有化部署中所遇到的问题可能都是不一样的,比如软件环境问题,子系统间通信的网络问题。第二:平台系统某部分组件的升级问题,比如有系统bug(故障)需要修复升级,这种情况往往都是需要提供1对1的专门服务。这两个问题就直接影响到企业的私有化部署效率以及成本投入和收益比。而容器技术做为最热门最受欢迎的服务器端技术,其中镜像文件技术、集群管理、负载均衡等天然特性极大的提高了PASS系统的私有化部署的效率。

技术实现思路

[0003]针对上述的问题,本专利技术提供一种利用容器技术私有化部署的方法,通过镜像文件制作、部署清单、应用容器化、中间件容器化、kubernetes一键部署等标准流程管理,完成复杂系统平台的快速高效部署。
[0004]名词解释:
[0005]1、NFS:网络文件系统,一种分布式文件系统,客户端主机可以访问服务器端文件,其过程就像访问本地存储一样。
[0006]2、kubernetes:一个用于跨多主机管理容器化应用的开源编排系统。
[0007]3、docker:就是容器技术,用于支持创建和使用linux容器。docker load:加载镜像文件。docker pull:从仓库拉取镜像。docker build:构建镜像文件。
[0008]4、PV:持久化存储卷,主要定义的是一个持久化存储在宿主机上的目录,比如一个NFS的挂载目录。
[0009]5、PVC:描述的是kubernetes最小部署单元pod所希望使用的持久化存储的属性,比如:存储大小、可读写权限等等。
[0010]6、Dockerfile:一个用于构建镜像文件的文本文档,其主体由一个个命令行所构成。
[0011]7、yaml:一种可读性友好的通用的可序列化的标记语言。
[0012]8、dashboard:系统可视化控制面板。
[0013]9、yum localinstall:离线安装软件工具。
[0014]10、kubelet、kubeadm、kubectl:容器集群管理工具。
[0015]11、storage、path、server:文件服务器存储、路径、地址信息。
[0016]12、mysql、redis、mongodb、elk:关系数据库、缓存、文档数据库、日志数据库。
[0017]13、shell:一种脚本编程语言。
[0018]14、imagePullPolicy:容器拉取镜像的策略。
[0019]为实现上述技术目的,达到上述技术效果,本专利技术通过以下技术方案实现:
[0020]一种利用容器技术私有化部署的方法,包括如下部署:
[0021]步骤1、离线安装NFS服务,创建共享文件夹目录,上传所有私有化部署应用系统的配置文件,按照应用系统划分分别配置其配置文件所在的NFS共享目录;
[0022]步骤2、制作完整的可离线使用的包含所有依赖包的kubernetes rpm安装包以及所有kubernetes服务安装所必须的核心镜像文件以及网络插件镜像文件、dashboard控制面板镜像文件;
[0023]步骤3、所有部署机器离线安装docker容器服务,使用docker load加载所有kubernetes服务的离线镜像文件,使用yum localinstall指令将所有部署机器离线安装kubelet、kubeadm、kubectl后组成一个kubernetes集群,在该kubernetes集群里部署dashboard控制面板应用;
[0024]步骤4、依据NFS服务,制作存储卷PV、PVC的yaml清单配置文件,检查确认storage、path、server参数正确性;
[0025]步骤5、使用PV、PVC yaml清单文件部署,部署完成后检查PV、PVC状态是否处于绑定状态,并且对应绑定正确;
[0026]步骤6、使用docker pull获取应用依赖的中间件mysql、redis、mongodb、elk镜像文件,然后加载到kubernetes集群的所有节点上,使用kubenetes部署应用系统依赖的中间件;
[0027]步骤7、制作私有化部署应用系统的每个子系统的Dockerfile文件,yaml清单文件,根据Dockerfile文件使用docker build制作镜像文件,yaml清单文件中应用配置使用本地配置,挂载卷使用PVC挂载;
[0028]步骤8、根据私有化部署系统的每个子系统的yaml清单文件编写shell启动脚本,一次性在kubernetes集群中部署所有应用。
[0029]优选的,在实际私有化部署过程中,所有的安装文件、部署文件、部署镜像都使用离线方式。这样能确保私有化部署不依赖外网。
[0030]优选的,所有应用系统配置文件存储目录使用PV挂载进行持久化存储。
[0031]优选的,所有中间件的数据存储目录使用PV挂载进行持久化存储。
[0032]优选的,应用根据Dockerfile制作的镜像文件中的应用包需要提前使用打包工具将源码打包好,Dockerfile需要包含应用包、时区配置、应用包运行环境、暴露端口、启动命令。
[0033]优选的,需要打包的应用需要区分版本,初始版本为1.0.0,需要镜像文件升级,应用系统需要重新打包,升级版本的原则是小功能升小版本号,大功能升大版本号。
[0034]优选的,在升级应用版本过程中,如果有应用配置更新,则以补丁的方式执行shell脚本更新配置文件,初始版本配置文件内容不要手动一个个更新,而是通过不同版本
的脚本去更新。
[0035]优选的,所有部署系统的镜像文件提前加载到本地仓库,yaml部署清单中imagePullPolicy均设置为Never。
[0036]与现有技术相比较,本专利技术的有益效果是:
[0037]1)显著提高私有化部署的效率,降低人力服务成本和管理成本。
[0038]2)容器化部署显著提高了硬件资源的利用率,相比较于传统的部署方式,降低了硬件资源的浪费。
[0039]3)配置文件、系统数据的中心化管理,使得配置、数据与系统隔离,系统故障重启本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用容器技术私有化部署的方法,其特征在于,包括如下部署:步骤1、离线安装NFS服务,创建共享文件夹目录,上传所有私有化部署应用系统的配置文件,按照应用系统划分分别配置其配置文件所在的NFS共享目录;步骤2、制作完整的可离线使用的包含所有依赖包的kubernetes rpm安装包以及所有kubernetes服务安装所必须的核心镜像文件以及网络插件镜像文件、dashboard控制面板镜像文件;步骤3、所有部署机器离线安装docker容器服务,使用docker load加载所有kubernetes服务的离线镜像文件,使用yumlocalinstall指令将所有部署机器离线安装kubelet、kubeadm、kubectl后组成一个kubernetes集群,在该kubernetes集群里部署dashboard控制面板应用;步骤4、依据NFS服务,制作存储卷PV、PVC的yaml清单配置文件,检查确认storage、path、server参数正确性;步骤5、使用PV、PVC yaml清单文件部署,部署完成后检查PV、PVC状态是否处于绑定状态,并且对应绑定正确;步骤6、使用docker pull获取应用依赖的中间件mysql、redis、mongodb、elk镜像文件,然后加载到kubernetes集群的所有节点上,使用kubenetes部署应用系统依赖的中间件;步骤7、制作私有化部署应用系统的每个子系统的Dockerfile文件,yaml清单文件,根据Dockerfile文件使用docker build制作镜像文件,yaml清单文件中应用配置使用本地配置,挂载卷使用PVC挂...

【专利技术属性】
技术研发人员:桂进康刘鹏飞谢汶达赵音龙陈丰生
申请(专利权)人:海纳致远数字科技上海有限公司
类型:发明
国别省市:

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

1