CN113760325A - 容器环境更新方法及装置 - Google Patents

容器环境更新方法及装置 Download PDF

Info

Publication number
CN113760325A
CN113760325A CN202110513527.4A CN202110513527A CN113760325A CN 113760325 A CN113760325 A CN 113760325A CN 202110513527 A CN202110513527 A CN 202110513527A CN 113760325 A CN113760325 A CN 113760325A
Authority
CN
China
Prior art keywords
container
environment information
container environment
storage space
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110513527.4A
Other languages
English (en)
Other versions
CN113760325B (zh
Inventor
查冲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110513527.4A priority Critical patent/CN113760325B/zh
Publication of CN113760325A publication Critical patent/CN113760325A/zh
Application granted granted Critical
Publication of CN113760325B publication Critical patent/CN113760325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种容器环境更新方法及装置,该方法包括:获取容器环境信息更新指令,该容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到容器的目录所对应的容器环境信息被更新时所触发的。基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,以得到更新的容器环境信息。将更新的容器环境信息映射到容器中,以使容器基于更新的容器环境信息对容器中的容器环境信息进行更新;容器基于更新后的容器环境信息继续运行。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。

Description

容器环境更新方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种容器环境更新方法及装置。
背景技术
当前,对于已交付给业务使用的容器,即运行状态的容器,若出现容器内的信息需要更新等情况,传统的做法是用户先手动更新容器环境信息,并基于该容器环境信息重新创建一个镜像,然后通过该镜像拉起一个新的容器(为方便描述,以下简称新容器),进而重新启动新容器的服务给到用户使用。而对于之前运行状态的容器(为方便描述,简称旧容器),用户需要销毁该旧容器,以释放该旧容器占用的宿主机的资源,可理解的,上述容器环境的更新过程会打断业务的运行,用户操作流程介入性强,而且操作中需要对镜像和容器的知识熟悉,运营门槛高。
发明内容
本申请实施例提供一种容器环境更新方法及装置,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
第一方面,本申请实施例提供了一种容器环境更新方法,该方法包括:
获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
结合第一方面,在一种可能的实施方式中,所述方法还包括:
接收待处理业务触发的业务处理请求,根据所述业务处理请求确定所述待处理业务的业务处理量;
若确定所述待处理业务的业务处理量大于容器处理能力,则获取容器创建指令,并根据所述容器创建指令创建至少一个容器;
将所述至少一个容器分配用于执行所述待处理业务。
结合第一方面,在一种可能的实施方式中,所述方法还包括:
若所述存储空间为宿主机本地存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,将所述宿主机本地存储空间的目录挂载到所述至少一个容器;
若所述存储空间为网盘存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,或者,将所述至少一个容器分配用于执行所述待处理业务之后,将所述网盘存储空间的目录挂载到宿主机,并将挂载到所述宿主机上的所述网盘存储空间的目录映射到所述至少一个容器。
结合第一方面,在一种可能的实施方式中,所述将所述更新的容器环境信息映射到所述容器中,包括:
获取所述至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求;
响应于所述容器环境信息更新请求,将所述更新的容器环境信息生成环境更新配置文件以发送给所述至少一个容器,以使所述至少一个容器根据所述环境更新配置文件中包括的所述更新的容器环境信息对所述容器中的容器环境信息进行更新。
结合第一方面,在一种可能的实施方式中,所述存储空间包括网盘存储空间和宿主机本地存储空间;所述基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息,包括:
根据所述容器环境信息更新指令获取容器环境更新信息,并根据所述容器环境信息更新指令中包括的路径地址确定所述容器的目录是否挂载在所述宿主机本地存储空间的目录下;
若确定所述容器的目录挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息;
若确定所述容器的目录没有挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录进行修改,以得到更新的容器环境信息。
结合第一方面,在一种可能的实施方式中,所述根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息,包括:
将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。
结合第一方面,在一种可能的实施方式中,所述根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息,包括:
对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果;
根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。
第二方面,本申请实施例提供了一种容器环境更新装置,该装置包括:
收发模块,用于获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
处理模块,用于基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
所述处理模块,用于将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
结合第二方面,在一种可能的实施方式中,所述收发模块,还用于接收待处理业务触发的业务处理请求;
所述处理模块,还用于根据所述业务处理请求确定所述待处理业务的业务处理量;
所述处理模块,还用于若确定所述待处理业务的业务处理量大于容器处理能力,则获取容器创建指令,并根据所述容器创建指令创建至少一个容器;
所述处理模块,还用于将所述至少一个容器分配用于执行所述待处理业务。
结合第二方面,在一种可能的实施方式中,所述处理模块,用于:
若所述存储空间为宿主机本地存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,将所述宿主机本地存储空间的目录挂载到所述至少一个容器;
若所述存储空间为网盘存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,或者,将所述至少一个容器分配用于执行所述待处理业务之后,将所述网盘存储空间的目录挂载到宿主机,并将挂载到所述宿主机上的所述网盘存储空间的目录映射到所述至少一个容器。
结合第二方面,在一种可能的实施方式中,所述收发模块,用于获取所述至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求;
所述处理模块,用于响应于所述容器环境信息更新请求,将所述更新的容器环境信息生成环境更新配置文件以发送给所述至少一个容器,以使所述至少一个容器根据所述环境更新配置文件中包括的所述更新的容器环境信息对所述容器中的容器环境信息进行更新。
结合第二方面,在一种可能的实施方式中,所述存储空间包括网盘存储空间和宿主机本地存储空间;所述处理模块,用于:
根据所述容器环境信息更新指令获取容器环境更新信息,并根据所述容器环境信息更新指令中包括的路径地址确定所述容器的目录是否挂载在所述宿主机本地存储空间的目录下;
若确定所述容器的目录挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息;
若确定所述容器的目录没有挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录进行修改,以得到更新的容器环境信息。
结合第二方面,在一种可能的实施方式中,所述处理模块,用于:
将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。
结合第二方面,在一种可能的实施方式中,所述处理模块,用于:
对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果;
根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。
第三方面,本申请实施例提供了一种终端设备,该终端设备包括处理器、存储器和收发器,该处理器、存储器和收发器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器和收发器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
在本申请实施例中,获取容器环境信息更新指令,容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到容器的目录所对应的容器环境信息被更新时所触发的。基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息。将更新的容器环境信息映射到容器中,以使容器基于更新的容器环境信息对容器中的容器环境信息进行更新;容器基于更新后的容器环境信息继续运行。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的容器环境更新方法的一流程示意图;
图3a是本申请实施例提供的容器环境的一更新流程示意图;
图3b是本申请实施例提供的容器环境的另一更新流程示意图;
图4是本申请实施例提供的容器环境更新方法的另一流程示意图;
图5是本申请实施例提供的容器环境更新方法的另一流程示意图;
图6是本申请实施例提供的容器环境更新方法场景示意图;
图7是本申请实施例提供的容器环境更新装置的结构示意图;
图8是本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,下面先对本申请实施例中的部分用语进行解释说明。
(1)容器
容器可认为是提供一个与宿主机操作系统共享内核但与操作系统中的其他进程资源相隔离的执行环境。通过容器方式,可将每个资源设备上的资源进行划分,得到相互隔离且可独立使用的资源单元,以便于不同的用户直接调用这些资源单元。其中,本申请实施例中的容器也指容器环境,它首先是一个相对独立的运行环境,在这一点有点类似于虚拟机,但是不像虚拟机那样彻底。在容器内,应该最小化其对外界的影响,比如不能在容器内把宿主机上的资源全部消耗,这就是资源控制。容器是根据镜像在物理机的操作系统中或者在虚拟机的操作系统中直接创建的实例,它可以被启动、开始、停止或删除。每个容器都包括独立的运行环境(即逻辑上的操作系统,包括用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序。简单来说,容器内的软件包程序及配置文件等静态信息,以及容器内运行态的对象、进程等信息,容器内自身的组织架构信息的汇总,称之为容器或容器环境。可理解的,从功能上划分,容器环境可以包括测试环境、开发环境和生产环境等,在此不做限制。
(2)镜像
镜像是指一个特殊的文件系统,类似于一个模板,是创建容器环境的基础,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
(3)数据卷
母机(或称为宿主机)上的某个目录或者文件,被挂载到容器里作为持久化数据的存储使用,在母机上修改卷的内容,可以在容器或者共享该卷的多个容器间均可见该改动点,挂载的母机上的目录或者文件称之为数据卷。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,网络架构可以包括服务器10和终端设备集群,其中,终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备100a、终端设备101a、终端设备102a等;如图1所示,终端设备100a、终端设备101a、终端设备102a等终端设备均可以与服务器10进行网络连接,以便于每个终端设备可以通过网络连接与服务器10之间进行数据交互。可理解的,每个终端设备上可以部署一个或者多个容器,每个容器中可以部署一个或者多个容器化应用程序,以对外提供服务。可选的,服务器上也可以部署一个或者多个容器,每个容器中可以部署一个或者多个容器化应用程序,以对外提供服务,在此不做限制。
如图1所示的服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。可理解的,本申请实施例提供的容器环境更新方法,可适用于宿主机或宿主机控制设备。其中,本申请中的宿主机可以是服务器,或者也可以是终端设备等,在此不做限制。上述宿主机控制设备可以是用于管理宿主机的服务器,或者也可以是终端设备等,在此不做限制。为方便描述,以下本申请实施例以宿主机为例进行说明。其中,宿主机上可以部署一个或者多个容器,每个容器中可以部署一个或者多个容器化应用程序,以对外提供服务。
本申请实施例提供的容器环境更新方法,宿主机通过获取容器环境信息更新指令,可基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,以得到更新的容器环境信息。其中,该容器环境信息更新指令为处于运行状态的至少一个容器轮询到挂载到容器的目录所对应的容器环境信息被更新时,所触发的。进一步,将更新的容器环境信息映射到容器中,以使容器基于更新的容器环境信息对容器中的容器环境信息进行更新。其中,容器基于更新后的容器环境信息继续运行。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
下面将结合图2至图8分别对本申请实施例提供的方法及相关装置分别进行详细说明。
请参见图2,图2为本申请实施例提供的容器环境更新方法的一流程示意图。本申请实施例提供的方法可以包括如下步骤S201至S203:
S201、获取容器环境信息更新指令。
在一些可行的实施方式中,获取容器环境信息更新指令,其中,该容器环境信息更新指令为处于运行状态的至少一个容器轮询到挂载到容器的目录所对应的容器环境信息被更新时所触发的。也就是说,当容器交付给业务使用后,若需要动态(即在不打断容器中业务运行的前提下)更新容器的容器环境信息,可通过处于运行状态的容器触发容器环境信息更新指令。
S202、基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息。
在一些可行的实施方式中,当检测到容器环境信息更新指令时,可根据容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息。具体地,可根据容器环境信息更新指令获取容器环境更新信息,根据容器环境更新信息对存储空间下的容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息。可理解的,容器环境更新信息可以是容器内的软件包程序及配置文件等静态信息,以及容器内运行态的对象、进程等信息,在此不做限制。具体地,用户可通过宿主机的容器环境配置界面进行容器环境的初始配置(即生成容器环境信息)或容器环境的更新配置(即生成容器环境更新信息)。其中,宿主机通过实时监控用户在容器环境配置界面上的操作,可以获取到用户基于容器环境配置界面生成的容器环境信息或容器环境更新信息。可选的,用户也可以通过除宿主机之外的另一终端设备的容器环境配置界面进行容器环境的配置(即生成容器环境信息)或容器环境的更新配置(即生成容器环境更新信息),并在完成配置后将生成的容器环境信息或容器环境更新信息发送给宿主机,以通过宿主机接收容器环境信息或容器环境更新信息。可理解的,当用户基于另一终端设备的容器环境配置界面进行容器环境的配置时,该终端设备可通过有线或者无线的通信方式向宿主机发送容器环境信息或容器环境更新信息。
可理解的,本申请实施例中的容器环境可以是容器的测试环境、开发环境和生产环境等中的任意一种或多种环境,当容器环境部署好之后,容器环境不会发生改变,只有对容器环境进行更新才能改变或升级容器环境。其中,当容器环境是容器的测试环境时,测试人员能够在测试环境内对容器和容器中所运行的服务进程进行测试。当容器环境为开发环境时,开发人员可以在开发环境内开发容器和开发容器中所运行的服务进程。当容器环境为生产环境时,容器和容器中所运行的服务进程已经完成开发和测试,并在线上发布以投入生产使用,则用户可以在生产环境内,运行容器和服务进程,以实现对应的服务。可理解的,容器环境对应的容器中运行的服务进程可以是任意一种服务进程,例如服务进程可以是实现人工智能(Artificial Intelligence,AI)训练任务的服务进程等,在此不做限制。其中,本申请实施例中所涉及的容器环境信息存储在存储空间的目录下,宿主机中包括的至少一个容器挂载在该存储空间的目录下,因此,当基于存储空间的中的容器环境信息部署好上述至少一个容器的容器环境后,该至少一个容器即可交付给业务使用,即用于执行相应的任务/业务,例如可以是AI训练任务等。在上述至少一个容器的容器运行过程中,若需要执行更新该至少一个容器的容器环境,则可以获取容器环境更新信息。
S203、将更新的容器环境信息映射到容器中。
在一些可行的实施方式中,当确定出更新的容器环境信息(即容器环境更新信息)后,可将更新的容器环境信息映射到容器中。具体地,上述将更新的容器环境信息映射到容器中可理解为:获取至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求。响应于容器环境信息更新请求,将更新的容器环境信息生成环境更新配置文件以发送给至少一个容器,以使至少一个容器根据环境更新配置文件中包括的更新的容器环境信息对容器中的容器环境信息进行更新。也就是说,当数据卷或者网盘存储空间的目录在容器创建的流程中,被挂载到容器内时,该数据卷或网盘存储空间的目录可以作为容器的一个可见目录使用,在该目录中,用户更新了某些配置后,容器内运行的程序会定时轮询的检测配置的更新,因此使得更新的配置会被加载到容器的运行程序中,以完成容器环境的修改/更新操作。
可理解的,本申请实施例中的存储空间可以是宿主机本地存储空间,也可以是网盘存储空间等,在此不做限制。一般来说,容器的容器环境信息可配置/部署在宿主机本地存储空间的目录(或称为数据卷)下,或者容器的容器环境信息也可以配置/部署在网盘存储空间的目录下,或者容器的容器环境信息也可以进行分布式部署(即宿主机本地存储空间的目录和网盘存储空间的目录下分别存放着完整容器环境信息中的部分数据)。通常而言,如果容器的容器环境信息只配置在宿主机本地存储空间的目录,则宿主机本地存储空间需要配置有完整的软件包程序等信息。如果容器的容器环境信息只配置在网盘存储空间中的目录,则网盘存储空间需要配置有完整的软件包程序等信息。如果宿主机本地存储空间的目录和网盘存储空间的目录同时配置有容器的容器环境信息,那么宿主机本地存储空间和网盘存储空间将共同承载完整的软件包程序等信息,即宿主机本地存储空间和网盘存储空间上各自有一部分信息,且宿主机本地存储空间和网盘存储空间上配置的信息可以不重复。
其中,宿主机本地存储空间的目录(即数据卷)和网盘存储空间的目录可以在容器创建的流程中,被挂载到容器内,因此,上述基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息可理解为:根据容器环境信息更新指令获取容器环境更新信息,并根据容器环境信息更新指令中包括的路径地址确定容器的目录是否挂载在宿主机本地存储空间的目录下。若确定容器的目录挂载在宿主机本地存储空间的目录下,则根据容器环境更新信息对宿主机本地存储空间下的容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息。若确定容器的目录没有挂载在宿主机本地存储空间的目录(即相当于容器的目录被挂载在网盘存储空间)下,则根据容器环境更新信息对网盘存储空间下的容器的目录进行修改,以得到更新的容器环境信息。
请参见图3a,图3a是本申请实施例提供的容器环境的一更新流程示意图。如图3a所示,假设宿主机本地存储空间的目录和网盘存储空间的目录皆在容器的创建流程中,已经被挂载到容器内,则用户在更新容器环境信息时,由于需要更新的信息所在目录在网盘存储空间的目录或者宿主机本地存储空间的目录下,因此,当获取到容器环境信息更新指令时,需要先判断容器的目录是否在宿主机本地存储空间的目录,若确定容器的目录在宿主机本地存储空间的目录(即容器被挂载在宿主机本地存储空间的目录),则直接在宿主机本地存储空间的目录更新容器环境信息;若确定容器的目录不在宿主机本地存储空间的目录(即容器被挂载在网盘存储空间的目录),则执行在网盘存储空间的目录更新容器环境信息。然后,通过将更新的容器环境信息映射到容器中,可使容器基于更新的容器环境信息对容器中的容器环境信息进行更新,以使容器环境更新成功。
可理解的,若容器的容器环境信息在宿主机本地存储空间的目录,则宿主机本地存储空间的目录需要在容器的创建流程中被挂载在容器内,若容器的容器环境信息在网盘存储空间的目录,则网盘存储空间的目录可以在容器的创建流程中被挂载在容器内,也可以先不挂载在容器内,而是在后续更新或使用容器的容器环境信息时,再将网盘存储空间的目录挂载在容器内。基于此,上述基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息还可理解为:根据容器环境信息更新指令获取容器环境更新信息,并根据容器环境信息更新指令中包括的路径地址确定容器的目录是否挂载在宿主机本地存储空间的目录下。若确定容器的目录挂载在宿主机本地存储空间的目录下,则根据容器环境更新信息对宿主机本地存储空间下的容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息。若确定容器的目录没有挂载在宿主机本地存储空间的目录下(即相当于容器被挂载在网盘存储空间的目录),则需要进一步确定网盘存储空间的目录是否已挂载到宿主机(或是否已挂载到容器)。若确定网盘存储空间的目录已挂载到宿主机(或已挂载到容器),则根据容器环境更新信息对网盘存储空间的目录下的容器环境信息进行修改,以得到更新的容器环境信息。若确定网盘存储空间的目录没有挂载到宿主机(或没有挂载到容器),则需要先将网盘存储空间的目录挂载到宿主机(或挂载到容器),然后再根据容器环境更新信息对网盘存储空间的目录下的容器环境信息进行修改,以得到更新的容器环境信息。
请参见图3b,图3b是本申请实施例提供的容器环境的另一更新流程示意图。如图3b所示,用户在更新容器环境信息时,由于需要更新的容器环境信息所在目录在宿主机本地存储空间的目录或者网盘存储空间的目录,因此,当获取到容器环境信息更新指令时,可首先判断待更新的容器环境信息是否在宿主机本地存储空间的目录(即判断容器的目录是否在宿主机本地存储空间的目录),若确定需要更新的容器环境信息在宿主机本地存储空间的目录,则直接到宿主机本地存储空间的目录更新容器环境信息(即打开宿主机本地存储空间的目录,并基于根据容器环境信息更新指令获取到的容器环境更新信息更新该目录下的容器环境信息),若确定容器的目录没有挂载在宿主机本地存储空间的目录(即待更新的容器环境信息在网盘存储空间的目录),则需要进一步判断该网盘存储空间的目录是否挂载在宿主机上,若宿主机上已挂载网盘存储空间的目录,则在网盘存储空间的目录更新容器环境信息(即打开网盘存储空间的目录下的容器环境信息,并根据容器环境更新信息更新该容器环境信息),若宿主机没有挂载网盘存储空间的目录,则需要先将网盘存储空间的目录挂载在宿主机(即挂载网盘存储空间的目录),再执行在网盘存储空间的目录更新容器环境信息。进一步地,通过将更新的容器环境信息映射到容器中,可使容器基于更新的容器环境信息对容器中的容器环境信息进行更新,以使容器环境更新成功(即基于容器中程序每间隔预设时间发送容器环境信息更新请求,以根据基于容器环境信息更新请求收到的更新的容器环境信息,完成容器环境更新)。
在本申请实施例中,在容器交付给业务后(即容器的运行过程中),若容器内的配置或者软件包需要更新,但更新不可以打断容器已运行的服务,则宿主机可以通过获取容器环境信息更新指令,基于容器环境信息更新指令,更新挂载到容器的目录所对应存储空间中的容器环境信息,以得到更新的容器环境信息。其中,该容器环境信息更新指令为处于运行状态的至少一个容器轮询到挂载到容器的目录所对应的容器环境信息被更新时所触发的。进一步,将更新的容器环境信息映射到容器中,以使容器基于更新的容器环境信息对容器中的容器环境信息进行更新。其中,容器基于更新后的容器环境信息继续运行。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
请参见图4,图4是本申请实施例提供的容器环境更新方法的另一流程示意图。本申请实施例提供的容器环境更新方法可通过如下步骤S301至S304提供的实现方式进行说明:
S301、创建至少一个容器,并将宿主机本地存储空间的目录挂载到至少一个容器。
在一些可行的实施方式中,当检测到容器创建指令时,可根据容器创建指令创建至少一个容器,并将宿主机本地存储空间的目录(即数据卷)挂载到该至少一个容器。例如,在业务处理过程中(即已存在某些容器正在运行业务时),若再次接收到待处理业务触发的业务处理请求,则可根据业务处理请求确定待处理业务的业务处理量。若确定待处理业务的业务处理量大于容器处理能力(即处于运行状态的容器的处理能力),则获取容器创建指令,根据容器创建指令创建至少一个容器,并将宿主机本地存储空间的目录(即数据卷)挂载到该至少一个容器。进一步地,可将新创建的至少一个容器分配用于执行待处理业务。
其中,数据卷中包括软件包程序、容器内运行态的对象、进程等信息,即数据卷中包括容器配置信息。也就是说,数据卷可以在容器创建的流程中,被挂载到容器内,作为容器的一个可见目录使用。通常而言,在创建好至少一个容器后,可将创建好的上述至少一个容器交付给业务使用,例如可以在容器中运行AI训练任务等。其中,在上述至少一个容器的容器运行过程中,若需要执行更新该至少一个容器的容器环境,则可以首先获取容器环境信息更新指令。
S302、获取容器环境信息更新指令。
在一些可行的实施方式中,在容器运行过程中,当处于运行状态的至少一个容器,轮询到挂载到容器的目录所对应的容器环境信息被更新时,可触发容器环境信息更新指令。其中,宿主机通过接收该容器环境信息更新指令,可更新挂载到容器的目录所对应宿主机本地存储空间中的容器环境信息,得到更新的容器环境信息。也就是说,若宿主机检测到需要对容器环境进行更新或者升级容器环境,则可获取用户基于容器环境配置界面等生成的容器环境更新信息,进而根据获取到的容器环境更新信息进行对容器环境进行更新。
可理解的,本申请实施例中的容器环境可以是容器的测试环境、开发环境和生产环境等中的任意一种或多种环境,当容器环境部署好之后,容器环境不会发生改变,只有对容器环境进行更新才能改变或升级容器环境。其中,当容器环境是容器的测试环境时,测试人员能够在测试环境内对容器和容器中所运行的服务进程进行测试。当容器环境为开发环境时,开发人员可以在开发环境内开发容器和开发容器中所运行的服务进程。当容器环境为生产环境时,容器和容器中所运行的服务进程已经完成开发和测试,并在线上发布以投入生产使用,则用户可以在生产环境内,运行容器和服务进程,以实现对应的服务。可理解的,容器环境对应的容器中运行的服务进程可以是任意一种服务进程,例如服务进程可以是实现AI训练任务的服务进程等,在此不做限制。其中,本申请实施例中所涉及的容器环境信息存储在宿主机本地存储空间的目录下,且宿主机上运行的至少一个容器挂载在该宿主机本地存储空间的目录下。
S303、基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应宿主机本地存储空间中的容器环境信息,得到更新的容器环境信息。
在一些可行的实施方式中,当获取到容器环境信息更新指令后,可根据所述容器环境信息更新指令获取容器环境更新信息,进而根据获取到的容器环境更新信息对宿主机本地存储空间下的目录进行修改,得到更新的容器环境信息。可理解的,本申请实施例中,根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息可理解为:将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。也就是说,可将宿主机本地存储空间的目录中包括的数据或信息全部替换为容器环境更新信息中包括的数据或信息,以得到更新的容器环境信息。
可选的,根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息还可以理解为:对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果。根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。具体地,可获取容器环境更新信息与容器环境信息的比对结果中更新点所处的位置,以在更新点所处的位置对容器环境信息进行更新。可理解的,在更新点所处的位置对容器环境信息进行更新可理解为对更新点位置处的数据进行增加、和/或删除、和/或修改(或称为替换)等,在此不做限制。其中,对更新点位置处的数据进行添加是指,当容器环境更新信息中的任一位置中所存在的信息,在容器环境信息中的对应位置不存在该信息时,则可以将容器环境更新信息中该位置的信息添加到容器环境信息的对应位置。对更新点位置处的数据进行删除是指,当容器环境信息中的任意位置的信息,在容器环境更新信息对应位置中不存在该信息时,则可以删除容器环境信息中该位置的信息。对更新点位置处的数据进行替换是指,当容器环境信息中的任一位置的信息与容器环境更新信息对应位置的信息不同时,则可以采用容器环境更新信息对应位置的信息替换容器环境信息中该位置的信息。
S304、将所述更新的容器环境信息映射到所述容器中。
在一些可行的实施方式中,当根据容器环境更新信息对宿主机本地存储空间的目录下的容器环境信息进行修改得到更新后容器环境信息后,可进一步将更新后容器环境信息同步映射至挂载在宿主机本地存储空间的目录下的至少一个容器,以实现对该至少一个容器的容器环境的更新。可理解的,上述将更新后容器环境信息同步映射至挂载在宿主机本地存储空间下的至少一个容器可理解为:获取至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求。响应于容器环境信息更新请求,将更新的容器环境信息生成环境更新配置文件以发送给至少一个容器,以使至少一个容器根据环境更新配置文件中包括的更新的容器环境信息对容器中的容器环境信息进行更新。也就是说,当在宿主机本地存储空间的目录中更新了某些配置后,容器内运行的程序会定时轮询的检测配置的更新,一个轮询的时间周期后,更新的配置会被加载到容器的运行程序中,以完成容器环境的修改/更新操作。
在本申请实施例中,宿主机本地存储空间的目录可以在容器创建的流程中,被挂载到容器内,作为容器的一个可见目录使用。当基于容器环境更新信息在宿主机本地存储空间的目录中更新了某些配置后,容器内运行的程序会定时轮询以检测配置更新,一个轮询的时间周期后,更新的配置会被加载到容器的运行程序中,完成容器环境的修改/更新操作。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
请参见图5,图5是本申请实施例提供的容器环境更新方法的另一流程示意图。本申请实施例提供的容器环境更新方法可通过如下步骤S401至S404提供的实现方式进行说明:
S401、创建至少一个容器,将网盘存储空间的目录挂载到宿主机,并将挂载到宿主机上的网盘存储空间的目录映射到至少一个容器。
在一些可行的实施方式中,创建至少一个容器,将网盘存储空间的目录挂载到宿主机,并将挂载到宿主机上的网盘存储空间的目录映射到至少一个容器。也就是说,可在容器创建的过程中,将网盘存储空间的目录挂载到至少一个容器内。其中,网盘存储空间的目录中包括软件包程序、容器内运行态的对象、进程等信息,即网盘存储空间的目录下包括容器环境信息。通常而言,网盘存储空间的目录可以先在宿主机上完成网盘的挂载操作,然后将挂载后的网盘存储空间的目录再映射到容器中,这样就可以实现同一个宿主机上的多个容器只需要做多次映射即可完成挂载,不必在容器内执行多次的云盘网络挂载。其中,在创建好至少一个容器后,可将创建好的上述至少一个容器交付给业务使用,例如可以在容器中运行AI训练任务等。其中,在上述至少一个容器的容器运行过程中,若需要执行更新该至少一个容器的容器环境,则可以获取容器环境更新信息。可选的,也可以在将至少一个容器分配用于执行待处理业务之后,将网盘存储空间的目录挂载到宿主机,并将挂载到宿主机上的网盘存储空间的目录映射到至少一个容器。也就是说,可以在容器创建完成并交付给业务使用之后,再将网盘存储空间的目录挂载到至少一个容器内,在此不做限制。
S402、获取容器环境信息更新指令。
在一些可行的实施方式中,在容器运行过程中,当处于运行状态的至少一个容器,轮询到挂载到容器的目录所对应的容器环境信息被更新时,可触发容器环境信息更新指令。其中,宿主机通过接收该容器环境信息更新指令,可更新挂载到容器的目录所对应网盘存储空间中的容器环境信息,得到更新的容器环境信息。也就是说,若宿主机检测到需要对容器环境进行更新或者升级容器环境,则可获取用户基于容器环境配置界面等生成的容器环境更新信息,进而根据获取到的容器环境更新信息进行对容器环境进行更新。
可理解的,本申请实施例中的容器环境可以是容器的测试环境、开发环境和生产环境等中的任意一种或多种环境,当容器环境部署好之后,容器环境不会发生改变,只有对容器环境进行更新才能改变或升级容器环境。其中,当容器环境是容器的测试环境时,测试人员能够在测试环境内对容器和容器中所运行的服务进程进行测试。当容器环境为开发环境时,开发人员可以在开发环境内开发容器和开发容器中所运行的服务进程。当容器环境为生产环境时,容器和容器中所运行的服务进程已经完成开发和测试,并在线上发布以投入生产使用,则用户可以在生产环境内,运行容器和服务进程,以实现对应的服务。可理解的,容器环境对应的容器中运行的服务进程可以是任意一种服务进程,例如服务进程可以是实现AI训练任务的服务进程等,在此不做限制。其中,本申请实施例中所涉及的容器环境信息存储在网盘存储空间的目录下,且宿主机上运行的至少一个容器挂载在该网络存储空间的目录下。
S403、基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应网络存储空间中的容器环境信息,得到更新的容器环境信息。
在一些可行的实施方式中,当获取到容器环境信息更新指令后,可根据所述容器环境信息更新指令获取容器环境更新信息,进而根据获取到的容器环境更新信息对网盘存储空间下的目录进行修改,得到更新的容器环境信息。可理解的,本申请实施例中,根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息可理解为:将所述网盘存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。也就是说,可将网盘存储空间的目录中包括的数据或信息全部替换为容器环境更新信息中包括的数据或信息,以得到更新的容器环境信息。
可选的,根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息还可以理解为:对所述容器环境更新信息与所述网盘存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果。根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。具体地,可获取容器环境更新信息与容器环境信息的比对结果中更新点所处的位置,以在更新点所处的位置对容器环境信息进行更新。可理解的,在更新点所处的位置对容器环境信息进行更新可理解为对更新点位置处的数据进行增加、和/或删除、和/或修改(或称为替换)等,在此不做限制。其中,对更新点位置处的数据进行添加是指,当容器环境更新信息中的任一位置中所存在的信息,在容器环境信息中的对应位置不存在该信息时,则可以将容器环境更新信息中该位置的信息添加到容器环境信息的对应位置。对更新点位置处的数据进行删除是指,当容器环境信息中的任意位置的信息,在容器环境更新信息对应位置中不存在该信息时,则可以删除容器环境信息中该位置的信息。对更新点位置处的数据进行替换是指,当容器环境信息中的任一位置的信息与容器环境更新信息对应位置的信息不同时,则可以采用容器环境更新信息对应位置的信息替换容器环境信息中该位置的信息。
S404、将所述更新的容器环境信息映射到所述容器中。
在一些可行的实施方式中,当根据容器环境更新信息对网盘存储空间的目录下的容器环境信息进行修改得到更新后容器环境信息后,可进一步将更新后容器环境信息同步映射至挂载在网盘存储空间的目录下的至少一个容器,以实现对该至少一个容器的容器环境的更新。可理解的,上述将更新后容器环境信息同步映射至挂载在网盘存储空间下的至少一个容器可理解为:获取至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求。响应于容器环境信息更新请求,将更新的容器环境信息生成环境更新配置文件以发送给至少一个容器,以使至少一个容器根据环境更新配置文件中包括的更新的容器环境信息对容器中的容器环境信息进行更新。也就是说,当在网盘存储空间的目录中更新了某些配置后,容器内运行的程序会定时轮询的检测配置的更新,一个轮询的时间周期后,更新的配置会被加载到容器的运行程序中,以完成容器环境的修改/更新操作。
在本申请实施例中,网盘存储空间的目录可以在容器创建的流程中,被挂载到容器内,作为容器的一个可见目录使用。当基于容器环境更新信息在网盘存储空间的目录中更新了某些配置后,容器内运行的程序会定时轮询以检测配置更新,一个轮询的时间周期后,更新的配置会被加载到容器的运行程序中,完成容器环境的修改/更新操作。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
为方便理解,请进一步参见图6,图6是本申请实施例提供的容器环境更新方法场景示意图。如图6所示,宿主机包括容器1和容器2,其中,容器1和容器2是基于用户选择的镜像,创建出的用于生产交付的容器。例如可以在容器1和/或容器2中运行AI训练任务等。通常而言,数据卷(即宿主机本地存储空间的目录)或者网盘目录(即网盘存储空间的目录)可以在容器创建的流程中,被挂载到容器内,作为容器的一个可见目录使用,在该目录中,用户更新了某些配置后,容器内运行的程序会定时轮询的检测配置的更新,使得更新的配置被加载到容器的运行程序中,从而完成容器环境的修改/更新操作。可理解的,本申请中的数据卷是指宿主机上的宿主机本地存储空间的目录或者文件,在容器创建时,通过挂载操作挂载到容器的某个目录上,在容器内操作此目录,相当于操作宿主机本地存储空间的目录,对其他挂载了该数据卷的容器修改也是可见的(即其他挂载了该数据卷的容器,也会被相应更新)。在宿主机上修改数据卷,同样在各挂载了目录的容器内都是可见的(即挂载了该数据卷的各个容器,会被相应更新)。相应地,本申请中的网盘存储空间的目录或文件通常可以是便携式操作系统接口(POSIX)文件,其支持文件系统的操作接口,被挂载到容器内后,用户可以像读写本地盘一样操作网盘存储空间的目录,而且网盘被挂载到多个容器,对网盘存储空间的目录的写更新会被实时的同步到各个容器中,多个容器间共享修改,避免需要增加外围的批量系统完成容器的更新操作。
如图6所示,容器1内挂载了宿主机本地存储空间的目录和网盘存储空间的目录,容器2内挂载了网盘存储空间的目录。可理解的,在容器1和/或容器2的运行过程中,若需要更新某个配置,则用户可直接在数据卷或者网盘存储空间的目录,完成相关配置文件的更新操作。其中,当修改后的配置更新被容器内的程序轮询加载后,即可完成容器环境更新操作。
请参见图7,图7是本申请实施例提供的容器环境更新装置的结构示意图。本申请实施例提供的容器环境更新装置包括:
收发模块51,用于获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
处理模块52,用于基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
所述处理模块52,用于将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
在一种可能的实施方式中,所述收发模块51,还用于接收待处理业务触发的业务处理请求;
所述处理模块52,还用于根据所述业务处理请求确定所述待处理业务的业务处理量;
所述处理模块52,还用于若确定所述待处理业务的业务处理量大于容器处理能力,则获取容器创建指令,并根据所述容器创建指令创建至少一个容器;
所述处理模块52,还用于将所述至少一个容器分配用于执行所述待处理业务。
在一种可能的实施方式中,所述处理模块52,用于:
若所述存储空间为宿主机本地存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,将所述宿主机本地存储空间的目录挂载到所述至少一个容器;
若所述存储空间为网盘存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,或者,将所述至少一个容器分配用于执行所述待处理业务之后,将所述网盘存储空间的目录挂载到宿主机,并将挂载到所述宿主机上的所述网盘存储空间的目录映射到所述至少一个容器。
在一种可能的实施方式中,所述收发模块51,用于获取所述至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求;
所述处理模块52,用于响应于所述容器环境信息更新请求,将所述更新的容器环境信息生成环境更新配置文件以发送给所述至少一个容器,以使所述至少一个容器根据所述环境更新配置文件中包括的所述更新的容器环境信息对所述容器中的容器环境信息进行更新。
在一种可能的实施方式中,所述存储空间包括网盘存储空间和宿主机本地存储空间;所述处理模块52,用于:
根据所述容器环境信息更新指令获取容器环境更新信息,并根据所述容器环境信息更新指令中包括的路径地址确定所述容器的目录是否挂载在所述宿主机本地存储空间的目录下;
若确定所述容器的目录挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息;
若确定所述容器的目录没有挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录进行修改,以得到更新的容器环境信息。
在一种可能的实施方式中,所述处理模块52,用于:
将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。
在一种可能的实施方式中,所述处理模块52,用于:
对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果;
根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。
在本申请实施例中,在容器交付给业务后(即容器的运行过程中),若容器内的配置或者软件包需要更新,但更新不可以打断容器已运行的服务,则容器环境更新装置(即宿主机)可以通过获取容器环境更新信息,根据上述容器环境更新信息对存储空间下的容器的目录进行修改,以得到更新后容器的目录。通过将上述更新后容器的目录同步映射至挂载在上述存储空间下的至少一个容器,可实现对至少一个容器的容器环境的更新。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
请参见图8,图8是本申请实施例提供的终端设备的结构示意图。如图8所示,本实施例中的终端设备可以包括:一个或多个处理器601、存储器602和收发器603。上述处理器601、存储器602和收发器603通过总线604连接。存储器602用于存储计算机程序,该计算机程序包括程序指令,处理器601和收发器603用于执行存储器602存储的程序指令,执行如下操作:
收发器603,用于获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
处理器601,用于基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
处理器601,用于将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
在一种可能的实施方式中,所述收发器603,用于接收待处理业务触发的业务处理请求;
处理器601,用于根据所述业务处理请求确定所述待处理业务的业务处理量;
处理器601,用于若确定所述待处理业务的业务处理量大于容器处理能力,则基于收发器603获取容器创建指令,并根据所述容器创建指令创建至少一个容器;
处理器601,用于将所述至少一个容器分配用于执行所述待处理业务。
在一种可能的实施方式中,所述处理器601用于:
若所述存储空间为宿主机本地存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,将所述宿主机本地存储空间的目录挂载到所述至少一个容器;
若所述存储空间为网盘存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,或者,将所述至少一个容器分配用于执行所述待处理业务之后,将所述网盘存储空间的目录挂载到宿主机,并将挂载到所述宿主机上的所述网盘存储空间的目录映射到所述至少一个容器。
在一种可能的实施方式中,所述处理器601用于:
基于收发器603获取所述至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求;
响应于所述容器环境信息更新请求,将所述更新的容器环境信息生成环境更新配置文件以发送给所述至少一个容器,以使所述至少一个容器根据所述环境更新配置文件中包括的所述更新的容器环境信息对所述容器中的容器环境信息进行更新。
在一种可能的实施方式中,所述存储空间包括网盘存储空间和宿主机本地存储空间;所述处理器601用于:
根据所述容器环境信息更新指令获取容器环境更新信息,并根据所述容器环境信息更新指令中包括的路径地址确定所述容器的目录是否挂载在所述宿主机本地存储空间的目录下;
若确定所述容器的目录挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息;
若确定所述容器的目录没有挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录进行修改,以得到更新的容器环境信息。
在一种可能的实施方式中,所述处理器601用于:
将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。
在一种可能的实施方式中,所述处理器601用于:
对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果;
根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。
应当理解,在一些可行的实施方式中,上述处理器601可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器602可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器602的一部分还可以包括非易失性随机存取存储器。例如,存储器602还可以存储设备类型的信息。
具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图2至图6中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,在容器交付给业务后(即容器的运行过程中),若容器内的配置或者软件包需要更新,但更新不可以打断容器已运行的服务,则终端设备(即宿主机)可以通过获取容器环境更新信息,根据上述容器环境更新信息对存储空间下的容器的目录进行修改,以得到更新后容器的目录。通过将上述更新后容器的目录同步映射至挂载在存储空间下的至少一个容器,可实现对至少一个容器的容器环境的更新。采用本申请实施例,可在不打断业务运行的前提下,实现容器环境的批量更新,操作简便,适用性高。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2至图6中各个步骤所提供的容器环境更新方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的容器环境更新装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

Claims (10)

1.一种容器环境更新方法,其特征在于,所述方法包括:
获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
接收待处理业务触发的业务处理请求,根据所述业务处理请求确定所述待处理业务的业务处理量;
若确定所述待处理业务的业务处理量大于容器处理能力,则获取容器创建指令,并根据所述容器创建指令创建至少一个容器;
将所述至少一个容器分配用于执行所述待处理业务。
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
若所述存储空间为宿主机本地存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,将所述宿主机本地存储空间的目录挂载到所述至少一个容器;
若所述存储空间为网盘存储空间,则在将所述至少一个容器分配用于执行所述待处理业务之前,或者,将所述至少一个容器分配用于执行所述待处理业务之后,将所述网盘存储空间的目录挂载到宿主机,并将挂载到所述宿主机上的所述网盘存储空间的目录映射到所述至少一个容器。
4.根据权利要求1-3任一项所述方法,其特征在于,所述将所述更新的容器环境信息映射到所述容器中,包括:
获取所述至少一个容器中任一容器每间隔预设时间发送的容器环境信息更新请求;
响应于所述容器环境信息更新请求,将所述更新的容器环境信息生成环境更新配置文件以发送给所述至少一个容器,以使所述至少一个容器根据所述环境更新配置文件中包括的所述更新的容器环境信息对所述容器中的容器环境信息进行更新。
5.根据权利要求1-3任一项所述方法,其特征在于,所述存储空间包括网盘存储空间和宿主机本地存储空间;所述基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息,包括:
根据所述容器环境信息更新指令获取容器环境更新信息,并根据所述容器环境信息更新指令中包括的路径地址确定所述容器的目录是否挂载在所述宿主机本地存储空间的目录下;
若确定所述容器的目录挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息;
若确定所述容器的目录没有挂载在所述宿主机本地存储空间的目录下,则根据所述容器环境更新信息对所述网盘存储空间下的所述容器的目录进行修改,以得到更新的容器环境信息。
6.根据权利要求5所述方法,其特征在于,所述根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息,包括:
将所述宿主机本地存储空间下的所述容器的目录中的容器环境信息替换为所述容器环境更新信息,以得到更新的容器环境信息。
7.根据权利要求5所述方法,其特征在于,所述根据所述容器环境更新信息对所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行修改,以得到更新的容器环境信息,包括:
对所述容器环境更新信息与所述宿主机本地存储空间下的所述容器的目录中的容器环境信息进行差异对比,得到比对结果;
根据所述比对结果中包括的更新点所处的位置,在所述容器环境信息中的所述更新点所处的位置对所述容器环境信息进行修改,以得到更新的容器环境信息。
8.一种容器环境更新装置,其特征在于,所述装置包括:
收发模块,用于获取容器环境信息更新指令,所述容器环境信息更新指令为处于运行状态的至少一个容器,轮询到挂载到所述容器的目录所对应的容器环境信息被更新时所触发的;
处理模块,用于基于所述容器环境信息更新指令,更新挂载到所述容器的目录所对应存储空间中的容器环境信息,得到更新的容器环境信息;
所述处理模块,用于将所述更新的容器环境信息映射到所述容器中,以使所述容器基于所述更新的容器环境信息对所述容器中的容器环境信息进行更新;所述容器基于更新后的容器环境信息继续运行。
9.一种终端设备,其特征在于,包括处理器、存储器和收发器,所述处理器、所述存储器和所述收发器相互连接;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器和所述收发器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN202110513527.4A 2021-05-11 2021-05-11 容器环境更新方法及装置 Active CN113760325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110513527.4A CN113760325B (zh) 2021-05-11 2021-05-11 容器环境更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110513527.4A CN113760325B (zh) 2021-05-11 2021-05-11 容器环境更新方法及装置

Publications (2)

Publication Number Publication Date
CN113760325A true CN113760325A (zh) 2021-12-07
CN113760325B CN113760325B (zh) 2023-08-08

Family

ID=78787058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110513527.4A Active CN113760325B (zh) 2021-05-11 2021-05-11 容器环境更新方法及装置

Country Status (1)

Country Link
CN (1) CN113760325B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721783A (zh) * 2022-05-16 2022-07-08 龙芯中科技术股份有限公司 资源文件提取方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851167A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 容器环境更新方法、装置、设备及存储介质
CN111492347A (zh) * 2018-01-30 2020-08-04 华睿泰科技有限责任公司 用于更新容器的系统和方法
CN111651178A (zh) * 2020-05-27 2020-09-11 平安普惠企业管理有限公司 容器配置更新方法、装置、计算机设备和存储介质
CN111782339A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 一种容器创建方法、装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111492347A (zh) * 2018-01-30 2020-08-04 华睿泰科技有限责任公司 用于更新容器的系统和方法
CN110851167A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 容器环境更新方法、装置、设备及存储介质
CN111651178A (zh) * 2020-05-27 2020-09-11 平安普惠企业管理有限公司 容器配置更新方法、装置、计算机设备和存储介质
CN111782339A (zh) * 2020-06-28 2020-10-16 京东数字科技控股有限公司 一种容器创建方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721783A (zh) * 2022-05-16 2022-07-08 龙芯中科技术股份有限公司 资源文件提取方法、装置、电子设备及存储介质
CN114721783B (zh) * 2022-05-16 2022-08-26 龙芯中科技术股份有限公司 资源文件提取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113760325B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
US10467025B2 (en) Managing delivery of code and dependent data using application containers
CA2768752C (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
CN109726067B (zh) 一种进程监控方法以及客户端设备
CN115136114A (zh) 固件更新补丁
CN108073423B (zh) 一种加速器加载方法、系统和加速器加载装置
US11099915B2 (en) Optimizing startup time for event-driven functions
CN111079125A (zh) 一种应用程序调用第三方库动态提升权限的方法及装置
CN108234551B (zh) 一种数据处理方法及装置
CN113760325B (zh) 容器环境更新方法及装置
CN114625536A (zh) 显存分配方法、装置、介质及电子设备
CN114096946A (zh) 用于管理应用的方法和装置
US20220326939A1 (en) Mobile service upgrade method and apparatus, and terminal
WO2019195154A1 (en) Cloud workspace assignment by user location
CN114860203A (zh) 项目创建方法、装置、服务器及存储介质
CN114662102A (zh) 一种文件处理方法、装置及存储介质
CN110324722B (zh) 直播间中数据的获取方法、装置、设备和存储介质
CN113835846B (zh) k8s集群的创建方法、装置及计算机可读存储介质
CN115277408B (zh) 代理配置信息的更新方法、装置、设备及存储介质
CN109032684B (zh) 一种基于安卓系统广播插件的实现方法及终端
CN116301934A (zh) 软件安装方法、装置、计算机设备和存储介质
CN114035823A (zh) 一种业务服务的更新方法及装置
CN116737557A (zh) 应用的模拟方法、装置、设备及存储介质
CN117390617A (zh) 权限控制方法、装置、电子设备及计算机可读存储介质
CN114489486A (zh) 行业数据长存储方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant