一种Kubernetes离线部署方法及系统与流程

文档序号:41077031发布日期:2025-02-28 17:10阅读:26来源:国知局

本发明涉及平台部署,具体涉及一种kubernetes离线部署方法及系统。


背景技术:

1、随着容器技术的发展,kubernetes逐渐成为企业级容器编排的主流平台,然而,kubernetes的部署通常依赖在线资源(如镜像仓库、官方软件仓库),在某些场景下,如高安全要求的内网环境、网络隔离的工业控制系统,以及远程离线设备,直接在线获取资源变得困难,因此,需要一种批量离线部署方案,以保证在网络受限环境下也能高效地完成kubernetes的安装与配置;

2、然而,kubernetes的部署流程通常依赖于在线资源,例如镜像仓库(如docker-hub)和官方软件仓库,在线资源的持续性访问使得kubernetes能够及时更新、管理和扩展,现有技术仍存在以下缺陷:

3、1、这种部署模式在一些特殊环境中却面临巨大挑战,在某些应用场景中,网络安全与访问控制至关重要(例如无人机群任务的容器化平台,由于任务执行环境完全断网,无法依赖在线资源进行实时更新,部署kubernetes和运行容器化任务时,无法从外部获取任何资源,必须依赖离线资源包);

4、2、在许多离线部署场景中,容器镜像可能来源于不受信任的公共镜像仓库,如dockerhub,如果这些镜像没有经过严格验证,可能包含恶意代码或未经审计的漏洞,带来安全风险,此外,在无网络连接的环境中,无法及时从公共镜像仓库获取更新,导致集群环境中存在过时的组件。

5、基于此,本发明提出一种kubernetes离线部署方法及系统,自动识别目标节点的操作系统,选择并配置适合的容器运行,避免了人工干预和配置错误,通过在部署前进行依赖文件的异常分析,确保所有所需的依赖文件都没有问题,避免了缺失、版本不匹配或损坏的文件影响后续部署过程。


技术实现思路

1、本发明的目的是提供一种kubernetes离线部署方法及系统,以解决背景技术中不足。

2、为了实现上述目的,本发明提供如下技术方案:一种kubernetes离线部署方法,所述部署方法包括以下步骤:

3、部署系统基于软件库下载kubernetes平台安装依赖文件,对所有依赖文件进行异常分析,并对存在异常的依赖文件进行处理,在所有依赖文件均无异常时,将所有依赖文件构建文件集合;

4、在目标节点列表中检测所有设备的可达性后,自动传输文件集合中的依赖文件至选择的目标节点,部署系统对目标节点进行配置后,基于目标节点操作系统选择对应容器,在目标节点加载kubernetes平台离线存储的镜像,并导入容器中时,对导入的镜像进行验证,判断是否满足kubernetes平台运行要求,依据判断结果自动生成管理策略;

5、当所有镜像均满足要求时,自动生成kubelet的服务配置文件,并将master节点生成的加入命令分发至所有工作节点,kubernetes集群部署后构建kubernetes平台,自动检查kubernetes平台的健康状态后生成部署报告。

6、在一个优选的实施方式中,将master节点生成的加入命令分发至所有工作节点,kubernetes集群部署后构建kubernetes平台,自动检查kubernetes平台的健康状态后生成部署报告,包括以下步骤:

7、在master节点上运行命令生成工作节点加入集群的令牌,提取令牌以及ca证书哈希值,根据生成的令牌和master节点的apiserver地址,生成标准的加入命令;

8、使用ssh或ansible管理工具,将加入命令分发到所有工作节点,配置加入命令的执行环境,包括权限和路径,在每个工作节点上通过脚本或自动化工具执行加入命令;

9、在master节点上部署kubernetes网络插件,运行kubectlgetnodes查看节点状态,查看系统命名空间下所有pod的状态,使用工具在节点间测试pod的互联互通;

10、生成部署报告,部署报告包括节点状态信息、系统服务信息、日志信息、性能统计、部署结果,以json、yaml或pdf格式输出部署报告。

11、在一个优选的实施方式中,对导入的镜像进行验证,判断是否满足kubernetes平台运行要求,包括以下步骤:

12、获取道路镜像的哈希校验因子、版本差异指数以及元数据一致性指数,对版本差异指数以及元数据一致性指数进行归一化处理,使版本差异指数以及元数据一致性指数的取值范围映射到[0,1]之间,然后计算获取镜像条件系数,表达式为:,式中,为镜像条件系数,为归一化后的元数据一致性指数,为归一化后的版本差异指数,为哈希校验因子;

13、若镜像条件系数大于等于条件阈值,判断满足kubernetes平台运行要求,若镜像条件系数小于条件阈值,判断不满足kubernetes平台运行要求。

14、在一个优选的实施方式中,部署系统基于软件库下载kubernetes平台安装依赖文件,对所有依赖文件进行异常分析,并对存在异常的依赖文件进行处理,包括以下步骤:

15、获取依赖文件的损坏检测赋值、文件覆盖率以及依赖匹配度,通过损坏检测赋值、文件覆盖率以及依赖匹配度计算获取文件指数,表达式为:,式中,为文件指数,为损坏检测赋值,为文件覆盖率,为所有依赖文件中的最大文件覆盖率,为依赖匹配度,为所有依赖文件中的最大依赖匹配度;

16、将获取的文件指数与预设的指数阈值进行比较,指数阈值用于分析依赖文件是否存在异常,若文件指数小于指数阈值,分析依赖文件存在异常,若文件指数大于等于指数阈值,分析依赖文件不存在异常;

17、对于存在异常的依赖文件,使用修复工具自动进行修复,若修复后依赖文件仍存在异常,则重新下载该依赖文件,直到所有依赖文件均无异常时,将所有依赖文件构建文件集合。

18、在一个优选的实施方式中,在目标节点列表中检测所有设备的可达性后,自动传输文件集合中的依赖文件至选择的目标节点,包括以下步骤:

19、获取目标节点的端口连通性评分以及网络安全性评分后,对端口连通性评分以及网络安全性评分进行归一化处理,使端口连通性评分以及网络安全性评分的取值范围映射到[0,1]之间,获取端口连通性评分归一化值以及网络安全性评分归一化值,将端口连通性评分归一化值以及网络安全性评分归一化值求和获取目标节点的可达性因子;

20、将所有目标节点依据可达性因子由大到小进行排序,生成节点列表,选择节点列表中排序第一的目标节点后,自动传输文件集合中的依赖文件至选择的目标节点。

21、在一个优选的实施方式中,所述元数据一致性指数的计算表达式为:,式中,为元数据一致性指数,为元数据数量,为第个元数据的匹配状态;

22、所述版本差异指数的计算逻辑为:获取镜像当前版本标签,将镜像当前版本标签减去镜像需求版本标签获取标签差值,取标签差值绝对值作为版本差异指数;

23、所述哈希校验因子的生成表达式为:,式中,为通过sha256等算法计算的镜像哈希值,为镜像元数据中记录的预期哈希值。

24、在一个优选的实施方式中,部署系统对目标节点进行配置后,基于目标节点操作系统选择对应容器,在目标节点加载kubernetes平台离线存储的镜像,并导入容器中,包括以下步骤:

25、获取目标节点的操作系统类型和版本,检查操作系统是否支持预选的容器运行,根据操作系统生成适配性报告,并记录兼容性信息;

26、在目标节点上安装并配置支持kubernetes的容器运行,从离线资源库中选择目标节点操作系统适配的容器运行安装包,传输并安装容器运行;

27、从部署系统传输kubernetes平台所需的离线镜像到目标节点,使用校验工具对镜像文件的完整性进行验证,将镜像文件通过传输协议发送至目标节点的镜像存储目录,在目标节点运行容器;

28、将镜像导入到容器运行,使用dockerimages或ctrimagesls命令检查镜像是否成功加载。

29、在一个优选的实施方式中,所述端口连通性评分的计算表达式为:,式中,为端口连通性评分,为第个端口的连通性,为第个端口的权重,为目标节点中的端口数量;

30、所述网络安全性评分的计算表达式为:,式中,为网络安全性评分,为认证成功率,为防火墙阻止规则数量,、为调节系数,且、均大于0。

31、在一个优选的实施方式中,所述损坏检测赋值的获取逻辑为:对下载的依赖文件进行检测,若检测后依赖文件无损坏,损坏检测赋值等于1,若检测后依赖文件损坏,损坏检测赋值等于0;

32、所述文件覆盖率的计算逻辑为:获取依赖文件中已下载文件数量,将已下载文件数量比上依赖文件总文件数量获取文件覆盖率;

33、所述依赖匹配度的计算逻辑为:获取依赖文件中匹配版本的文件数量,将匹配版本的文件数量比上依赖文件总文件数量获取依赖匹配度。

34、一种kubernetes离线部署系统,包括文件处理模块、节点分析模块、镜像验证模块、平台构建模块;

35、文件处理模块:基于软件库下载kubernetes平台安装依赖文件,对所有依赖文件进行异常分析,并对存在异常的依赖文件进行处理,在所有依赖文件均无异常时,将所有依赖文件构建文件集合;

36、节点分析模块:在目标节点列表中检测所有设备的可达性后,自动传输文件集合中的依赖文件至选择的目标节点,对目标节点进行配置后,基于目标节点操作系统选择对应容器,在目标节点加载kubernetes平台离线存储的镜像,并导入容器中;

37、镜像验证模块:对导入的镜像进行验证,判断是否满足kubernetes平台运行要求,并依据判断结果自动生成管理策略,当所有镜像均满足要求时,自动生成kubelet的服务配置文件;

38、平台构建模块:将master节点生成的加入命令分发至所有工作节点,kubernetes集群部署后构建kubernetes平台,自动检查kubernetes平台的健康状态后生成部署报告,包括节点状态和系统服务的运行状态。

39、在上述技术方案中,本发明提供的技术效果和优点:

40、1、本发明通过对所有依赖文件进行异常分析,并对存在异常的依赖文件进行处理,在所有依赖文件均无异常时,将所有依赖文件构建文件集合,在目标节点列表中检测所有设备的可达性后,自动传输文件集合中的依赖文件至选择的目标节点,在目标节点加载kubernetes平台离线存储的镜像,并导入容器中时,对导入的镜像进行验证,判断是否满足kubernetes平台运行要求,并依据判断结果自动生成管理策略,当所有镜像均满足要求时,自动生成kubelet的服务配置文件。部署系统自动识别目标节点的操作系统,选择并配置适合的容器运行,避免了人工干预和配置错误,通过在部署前进行依赖文件的异常分析,确保所有所需的依赖文件都没有问题,避免了缺失、版本不匹配或损坏的文件影响后续部署过程,自动化检测目标节点的可达性,确保文件在目标节点成功传输,并进行完整性校验,避免了因传输错误而导致的部署失败,通过在离线环境中导入镜像并进行验证,确保导入的镜像满足kubernetes平台的要求,避免了由于不合规或未经过审查的镜像导致的安全风险。

41、2、本技术将master节点生成的加入命令分发至所有工作节点,kubernetes集群部署后构建kubernetes平台,自动检查kubernetes平台的健康状态后生成部署报告,包括节点状态和系统服务的运行状态。通过对构建完成的kubernetes平台进行综合健康检测,有利于提高kubernetes平台后期运行的稳定性。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!