CN115469961A - 容器组的创建方法和装置、电子设备和存储介质 - Google Patents

容器组的创建方法和装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115469961A
CN115469961A CN202110567560.5A CN202110567560A CN115469961A CN 115469961 A CN115469961 A CN 115469961A CN 202110567560 A CN202110567560 A CN 202110567560A CN 115469961 A CN115469961 A CN 115469961A
Authority
CN
China
Prior art keywords
target
network
container group
target container
network card
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.)
Pending
Application number
CN202110567560.5A
Other languages
English (en)
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110567560.5A priority Critical patent/CN115469961A/zh
Publication of CN115469961A publication Critical patent/CN115469961A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种容器组的创建方法和装置、电子设备和存储介质,其中,该方法包括:在目标云主机上创建目标容器组,其中,所述目标云主机上部署有属于目标容器集群中的节点,所述目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;在确定出所述目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为所述目标容器组申请所述第一网络插件的弹性网卡;在为所述目标容器组申请到目标弹性网卡的情况下,将所述目标弹性网卡绑定给所述目标容器组。通过本申请,解决了相关技术中的使用弹性网卡的容器网络实现方式存在由于能够提供的IP个数有限导致的允许部署的业务数量少的问题。

Description

容器组的创建方法和装置、电子设备和存储介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种容器组的创建方法和装置、电子设备和存储介质。
背景技术
Kubernetes(用于自动部署、扩展和管理容器化应用程序的开源***,简称为K8s)容器管理***支持多种网络实现方案,比如,Flannel、Calico、Canal等开源软件。各网络容器实现方案在K8s内都是以插件调用的形式进行工作的,CNI(Container NetworkInterface,容器网络接口)负责为这些插件提供一个统一的标准接口。上述网络容器实现方案为Pod(K8s创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程)提供的网络IP(Internet Protocol,互联网协议)是集群范围内的,IP个数不受限制。
在上述网络实现方案中存在以下问题:由于使用到bridge(网桥)技术,Pod通信性能会有所损耗;负载均衡器无法直接访问Pod,需要通过K8s集群的节点进行转发从而降低访问性能;此外,云主机的网络和Pod网络不在同一网络层面上,它们之间的通信需要依赖VPC路由,增加了通信的复杂度。为解决上述问题,部分云厂商提出了基于VPC弹性网卡或弹性网卡辅助IP技术实现的容器网络,即,将弹性网卡的IP或辅助IP分配给容器。该网络容器实现方案也是基于CNI接口实现的,此类型的网络插件可以简称为VPC-CNI。目前,各云厂商的做法是提供独立的VPC-CNI网络插件供用户使用。然而,这种网络容器实现方案存在以下问题:能够提供的IP个数有限,无法满足K8s集群中Pod对IP的需求,从而限制了用户可部署的业务数量。
由此可见,相关技术中的容器网络实现方式,存在每台云主机上允许部署的Pod的数量受限于节点所支持***弹性网卡能绑定IP的最大数量。
发明内容
本申请提供了一种容器组的创建方法和装置、电子设备和存储介质,以至少解决相关技术中的使用弹性网卡的容器网络实现方式存在由于能够提供的IP个数有限导致的允许部署的业务数量少的问题。
根据本申请实施例的一个方面,提供了一种容器组的创建方法,包括:在目标云主机上创建目标容器组,其中,所述目标云主机上部署有属于目标容器集群中的节点,所述目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;在确定出所述目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为所述目标容器组申请所述第一网络插件的弹性网卡;在为所述目标容器组申请到目标弹性网卡的情况下,将所述目标弹性网卡绑定给所述目标容器组。
可选地,在所述在目标云主机上创建目标容器组之后,所述方法还包括:获取与所述目标容器组对应的第一目标标识,其中,所述第一目标标识用于指示所述目标容器组所使用的网络类型;在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于同一网络命名空间的情况下,确定所述目标容器组为使用所述目标云主机的网络接口的容器组。
可选地,所述目标容器集群使用的网络插件仅使用第一网络插件;在所述获取与所述目标容器组对应的第一目标标识之后,所述方法还包括:在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,所述目标容器集群使用的网络插件包括所述第一网络插件和第二网络插件,所述第二网络插件为与非基于弹性网卡的第二容器网络对应的网络插件;在所述获取与所述目标容器组对应的第一目标标识之后,所述方法还包括:在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,为所述目标容器组配置所属的目标容器网络;在所述目标容器网络为所述第一容器网络的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,在所述为所述目标容器组配置所属的目标容器网络之后,所述方法还包括:在所述目标容器网络为所述第二容器网络的情况下,获取与所述目标容器组对应的第二目标标识,其中,所述第二目标标识用于指示所述目标容器组是否使用弹性网卡;在根据所述第二目标标识确定出所述目标容器组使用弹性网卡的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,在所述在目标云主机上创建目标容器组之前,所述方法还包括:确定与待创建的所述目标容器集群所对应的目标网络模式,其中,所述目标网络模式为所述第一网络插件和所述第二网络插件共存的网络模式;按照所述目标网络模式,创建所述目标容器集群,其中,所述目标容器集群允许使用所述第一网络插件和所述第二网络插件。
可选地,所述为所述目标容器组申请所述第一网络插件的弹性网卡包括:向目标服务端程序发送目标请求消息,其中,所述目标服务端程序为所述第一网络插件的服务端程序,所述目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址;接收所述目标服务端程序返回的目标响应消息,其中,所述目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
根据本申请实施例的另一个方面,还提供了一种容器组的创建装置,包括:第一创建单元,用于在目标云主机上创建目标容器组,其中,所述目标云主机上部署有属于目标容器集群中的节点,所述目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;申请单元,用于在确定出所述目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为所述目标容器组申请所述第一网络插件的弹性网卡;绑定单元,用于在为所述目标容器组申请到目标弹性网卡的情况下,将所述目标弹性网卡绑定给所述目标容器组。
可选地,所述装置还包括:第一获取单元,用于在所述在目标云主机上创建目标容器组之后,获取与所述目标容器组对应的第一目标标识,其中,所述第一目标标识用于指示所述目标容器组所使用的网络类型;第一确定单元,用于在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于同一网络命名空间的情况下,确定目标容器组为使用所述目标云主机的网络接口的容器组。
可选地,所述目标容器集群使用的网络插件仅使用第一网络插件;所述装置还包括:第二确定单元,用于在所述获取与所述目标容器组对应的第一目标标识之后,在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,所述目标容器集群使用的网络插件包括所述第一网络插件和第二网络插件,所述第二网络插件为与非基于弹性网卡的第二容器网络对应的网络插件;所述装置还包括:配置单元,用于在所述获取与所述目标容器组对应的第一目标标识之后,在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,为所述目标容器组配置所属的目标容器网络;第三确定单元,用于在所述目标容器网络为所述第一容器网络的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,所述装置还包括:第二获取单元,用于在所述为所述目标容器组配置所属的目标容器网络之后,在所述目标容器网络为所述第二容器网络的情况下,获取与所述目标容器组对应的第二目标标识,其中,所述第二目标标识用于指示所述目标容器组是否使用弹性网卡;第四确定单元,用于在根据所述第二目标标识确定出所述目标容器组使用弹性网卡的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
可选地,所述装置还包括:第五确定单元,用于在所述在目标云主机上创建目标容器组之前,选择与待创建的所述目标容器集群所对应的目标网络模式,其中,所述目标网络模式为所述第一网络插件和所述第二网络插件共存的网络模式;第二创建单元,用于按照所述目标网络模式,创建所述目标容器集群,其中,所述目标容器集群允许使用所述第一网络插件和所述第二网络插件。
可选地,所述申请单元包括:发送模块,用于向目标服务端程序发送目标请求消息,其中,所述目标服务端程序为所述第一网络插件的服务端程序,所述目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址;接收模块,用于接收所述目标服务端程序返回的目标响应消息,其中,所述目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
根据本申请实施例的又一个方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;其中,存储器,用于存储计算机程序;处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述任一实施例中的方法步骤。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一实施例中的方法步骤。
在本申请实施例中,采用仅为有需求的容器组分配弹性网卡的方式,通过在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组,由于在创建容器组(例如,Pod)时仅为有需求的容器组分配弹性网卡,从而可以实现使用有限的IP个数创建更多的容器组的目的,达到了提高容器网络中允许创建的容器组的技术效果,进而解决了相关技术中的使用弹性网卡的容器网络实现方式存在由于能够提供的IP个数有限导致的允许部署的业务数量少的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的容器组的创建方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的容器组的创建方法的流程示意图;
图3是根据本申请实施例的另一种可选的容器组的创建方法的流程示意图;
图4是根据本申请实施例的一种可选的容器组的创建方法的示意图;
图5是根据本申请实施例的又一种可选的容器组的创建方法的流程示意图;
图6是根据本申请实施例的另一种可选的容器组的创建方法的示意图;
图7是根据本申请实施例的一种可选的容器组的创建装置的结构框图;
图8是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种容器组的创建方法。可选地,在本实施例中,上述容器组的创建方法可以应用于如图1所示的由终端102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端102进行连接,可用于为终端或终端上安装的客户端提供服务(例如,云服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端102可以并不限定于为PC、手机、平板电脑等。
本申请实施例的容器组的创建方法可以由服务器104来执行,也可以由终端102来执行,还可以是由服务器104和终端102共同执行。其中,终端102执行本申请实施例的容器组的创建方法也可以是由安装在其上的客户端来执行。
以由服务器104来执行本实施例中的容器组的创建方法为例,图2是根据本申请实施例的一种可选的容器组的创建方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件。
本实施例中的容器组的创建方法可以应用于在容器集群中创建容器组的场景。上述容器集群可以是K8s集群,也可以是其他类似的集群。上述容器组可以是容器集群中的原子调度单位,即,容器集群调度的最小单元(创建或部署的最小的基本单位)。每个容器组相当于一个逻辑主机,都有自己的IP地址。而每个容器组可以包含一个或多个容器,同一容器组内的各容器共享相同的IP和端口空间。上述容器组可以是K8s中的Pod,或者其他容器集群中的调度单位。本实施例中创建K8s集群中的Pod为例进行说明。
可选地,目标容器集群可以包含至少一个主节点和至少一个工作节点,每个节点(主节点或者工作节点)可以部署在一台云主机(上述服务器104的一种示例)上。本实施例中的容器组的创建方法可以是由目标容器集群的目标主节点(或者,目标主节点所在的云主机)执行的,或者,由上述目标主节点与目标工作节点(或者,目标工作节点所在的目标云主机)共同执行的,本实施例中以由目标主节点执行为例进行说明。
目标容器集群使用的网络插件可以包括第一网络插件(例如,K8s集群使用独立的VPC-CNI网络插件),该第一网络插件与基于弹性网卡的第一容器网络对应。该第一容器网络可以是基于VPC弹性网卡或者弹性网卡辅助IP技术实现的容器网络;对应地,第一网络插件可以是VPC-CNI网络插件。可选地,目标容器集群使用的网络插件还可以包括其他网络插件,例如,与除了第一容器网络以外的其他容器网络(如,Flannel、Calico、Canal等)对应的网络插件,本实施例中对此不作限定。
根据目标对象(使用目标容器集群的对象、或者对目标容器集群具有控制权限的对象)的创建请求、或者基于其他的控制信息,目标主节点可以在目标云主机上执行创建目标容器组(例如,目标Pod)操作,该目标云主机可以用于部署属于目标容器集群的节点(例如,主节点,工作节点)。
步骤S204,在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡。
相关技术中,如果容器集群使用基于弹性网卡的容器插件,那么,在创建Pod时,则会直接为其绑定弹性网卡,从而会存在每台云主机上允许创建的Pod数量受限于节点所支持***弹性网卡所能绑定IP的最大数量。
结合Pod的属性,有很大一部分的Pod其实不需要使用弹性网卡,因为它们没有与VPC内其他云主机或者K8s集群通信的需求(例如,集群提供的***管理组件),因此,这些Pod没必要给其分配此类型的IP地址。
可选地,在本实施例中,在针对目标容器组进行网络配置时,可以首先确定该目标容器组是否是使用弹性网卡所提供的网络接口的容器组,也就是,是否是需要绑定弹性网卡的容器组(或者说,是否是使用与弹性网卡对应的IP地址的容器组)。如果目标容器组是使用弹性网卡所提供的网络接口的容器组,则可以为目标容器组申请第一网络插件的弹性网卡(或者说,申请与第一网络插件的弹性网卡对应的IP地址)。
步骤S206,在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组。
每个目标云主机上弹性网卡的配额是有限的。如果弹性网卡的配额足够,则可以为给目标容器组申请到目标弹性网卡,目标主节点可以将目标目标弹性网卡绑定给目标容器组。此外,目标云主机还可以为目标容器组配置必要的路由信息(例如,目标路由信息)等,从而完成针对目标容器组的网络配置。
如果弹性网卡的配额不足,则会导致目标容器组创建失败。如果为目标容器组未申请到弹性网卡,则可以生成目标指示信息,该目标指示信息用于指示由于弹性网卡的配额不足导致目标容器组创建失败。目标主节点可以将目标指示信息发送给目标对象的目标终端设备,以指示目标对象目标容器组创建失败。
通过上述步骤S202至步骤S206,在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组,解决了相关技术中的使用弹性网卡的容器网络实现方式存在由于能够提供的IP个数有限导致的允许部署的业务数量少的问题,提高了容器网络中允许创建的容器组。
作为一种可选的实施例,为目标容器组申请第一网络插件的弹性网卡包括:
S11,向目标服务端程序发送目标请求消息,其中,目标服务端程序为第一网络插件的服务端程序,目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址;
S12,接收目标服务端程序返回的目标响应消息,其中,目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
第一网络插件的服务端程序为目标服务端程序。在为目标容器组申请第一网络插件的弹性网卡时,目标主节点可以向目标服务服务端程序请求申请弹性网卡或者弹性网卡的辅助IP,例如,可以向目标服务端程序发送目标请求消息,该目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址。
响应目标请求消息,如果弹性网卡的配额足够,则目标服务端程序可以分配弹性网卡或者弹性网卡的辅助IP地址。如果弹性网卡的配额不足,则目标服务端程序可以不分配弹性网卡或者弹性网卡的辅助IP地址。目标服务端程序可以向目标主节点返回目标响应消息,而目标主节点可以接收该目标响应消息,这里,该目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
对应地,将目标弹性网卡绑定给目标容器组可以是:将申请到的弹性网卡或者弹性网卡的辅助IP绑定给目标容器组。
需要说明的是,目标服务端程序可以运行在目标云主机上(或者,目标服务端程序也可以运行在目标主节点上),而申请弹性网卡或者弹性网卡的辅助IP地址的可以是目标云主机上的目标线程,可以通过目标线程与目标服务端程序的交互完成弹性网卡或者弹性网卡的辅助IP地址的申请。
通过本实施例,通过为容器组申请弹性网卡或者弹性网卡的辅助IP地址的方式为容器组分配IP地址,可以提高弹性网卡绑定的灵活性。
作为一种可选的实施例,在目标云主机上创建目标容器组之后,上述方法还包括:
S21,获取与目标容器组对应的第一目标标识,其中,第一目标标识用于指示目标容器组所使用的网络类型;
S22,在根据第一目标标识确定出目标容器组与目标云主机位于同一网络命名空间的情况下,确定目标容器组为使用目标云主机的网络接口的容器组。
在创建目标容器组之后,目标云主机可以获取与目标容器组对应的第一目标标识,该第一目标标识用于指示目标容器组所使用的网络类型。
如果第一目标标识指示的目标容器组所使用的网络类型为HostNetwork(即,宿主机网络),目标容器组与目标云主机位于同一网络命名空间,可以确定目标容器组使用目标云主机的网络接口,无需为其绑定弹性网卡。此时,可以使用目标云主机的IP地址等为目标容器组进行网络配置。
例如,对于创建Pod,如果Pod的网络类型为HostNetwork,Pod与宿主机位于同一网络命名空间,无需为其绑定弹性网卡,可以结束网络配置流程。
通过本实施例,基于目标容器组与目标云主机位于同一网络命名空间确定是否需要为目标容器组绑定弹性网卡,可以排出部分无需使用弹性网卡的容器组,实现弹性网卡的有效利用。
作为一种可选的实施例,目标容器集群使用的网络插件仅使用第一网络插件。对于目标容器集群,为其配置的网络模式可以为仅使用第一网络插件的网络模式。例如,在创建容器集群时,可以选择VPC-CNI网络模式,等待集群创建成功。
可选地,在本实施例中,在获取与目标容器组对应的第一目标标识之后,上述方法还包括:
S31,在根据第一目标标识确定出目标容器组与目标云主机位于不同网络命名空间的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
如果第一目标标识指示的目标容器组所使用的网络类型为非HostNetwork类型,目标容器组与目标云主机位于不同网络命名空间,则可以确定目标容器组为使用弹性网卡所提供的网络接口的容器组。此时,可以为目标容器组申请弹性网卡。
例如,对于所有非HostNetwork类型的Pod,可以都为其申请弹性网卡或者弹性网卡的辅助IP。
通过本实施例,对于所有非HostNetwork类型的容器组申请弹性网卡,可以提高与容器组网络配置的便捷性。
下面结合可选示例对本申请实施例中的容器组的创建方法进行解释说明。在本示例中,目标容器集群为K8s集群,目标容器组为K8s集群中的Pod,第一网络插件为VPC-CNI网络插件,第一目标标识为HostNetwork类型的标识。
针对使用VPC-CNI网络插件后,在弹性网卡能够绑定的IP数量受限的情况下对弹性网卡有效利用,本示例中提供的容器组的创建方法是一种在VPC-CNI网络模式下,VPC-CNI网络插件不与其他网络插件共存的方案。如图3所示,本可选示例中的容器组的创建方法的流程可以包括以下步骤:
步骤S302,创建K8s集群,选择VPC-CNI网络插件。
在创建K8s集群时,选择VPC-CNI网络模式,在VPC-CNI网络模式下,VPC-CNI网络插件不与其他网络插件共存,等待K8s集群创建成功。
步骤S304,创建Pod。
在K8s集群创建成功之后,可以为该K8s集群创建Pod。
步骤S306,判断Pod是否使用主机网络,如果否,执行步骤S308,如果是,执行步骤S316。
根据Pod的网络类型,确定该Pod是否使用主机网络。如果Pod的网络类型为HostNetwork类型,则无需为该Pod绑定弹性网卡,结束网络配置流程,执行步骤S316。如果Pod的网络类型为非HostNetwork类型,则执行步骤S308。
步骤S308,申请弹性网卡。
如果确定Pod需要使用弹性网卡,则可以向VPC-CNI的服务端程序请求申请弹性网卡或者弹性网卡的辅助IP地址。
步骤S310,判断弹性网卡申请是否成功,如果否,执行步骤S312,如果是,执行步骤S314。
步骤S312,如果弹性网卡的配额不足导致弹性网卡或者弹性网卡的辅助IP地址申请失败,则Pod创建失败。
步骤S314,如果弹性网卡或者弹性网卡的辅助IP地址申请成功,则将申请到的弹性网卡或者弹性网卡的辅助IP绑定给Pod,并配置必要的路由信息等。
步骤S316,完成针对Pod的网络配置。
通过上述步骤,可以实现Pod和VPC网络的通信,形成的拓扑图可以如图4所示,其中,eth指弹性网卡。
通过本示例,通过Pod的标识(例如,Pod的网络类型)区分有无需求绑定弹性网卡的Pod,可以实现弹性网卡的有效利用。
作为一种可选的实施例,目标容器集群使用的网络插件包括第一网络插件和第二网络插件,第二网络插件为与非基于弹性网卡的第二容器网络对应的网络插件。对于目标容器集群,为其配置的网络模式可以为同时使用第一网络插件和第二网络插件的网络模式。
以K8s为例,K8s集群内支持多种不同的容器网络,每种容器网络以插件的形式被调用,其中,VPC-CNI网络插件使用的是弹性网卡。如果控制所有非HostNetwork类型的Pod都申请弹性网卡或者弹性网卡的辅助IP,很容易因配额的不足而导致pod创建失败。而K8s集群中的大部分Pod是不需要绑定弹性网卡的。为了在弹性网卡数量有限情况下对其进行有效利用,可以使用VPC-CNI网络插件和其他网络插件共存的方案。例如,在创建K8s集群时,可以选择其他网络模式,默认会集成VPC-CNI网络模式(两种网络模式),即,VPC-CNI网络插件和其他网络插件共存,等待集群创建成功。
可选地,在本实施例中,在获取与目标容器组对应的第一目标标识之后,上述方法还包括:
S41,在根据第一目标标识确定出目标容器组与目标云主机位于不同网络命名空间的情况下,为目标容器组配置所属的目标容器网络;
S42,在目标容器网络为第一容器网络的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
如果根据第一目标标识确定出目标容器组与目标云主机位于不同网络命名空间(例如,目标容器组的网络类型为非HostNetwork类型),目标主节点可以进一步为目标容器组配置目标容器集群内的容器网络,即,目标容器网络,目标容器网络为第一容器网络和第二容器网络中的一个。
如果目标容器网络为第一容器网络,即,为目标容器组配置的容器网络为第一容器网络,目标主节点可以直接确定该目标容器组为使用弹性网卡所提供的网络接口的容器组。
通过本实施例,当为用户配置的容器网络为基于弹性网卡的容器网络时,直接确定创建的容器组使用弹性网卡,可以提高容器组网络配置的便捷性。
作为一种可选的实施例,在为目标容器组配置所属的目标容器网络之后,上述方法还包括:
S51,在目标容器网络为第二容器网络的情况下,获取与目标容器组对应的第二目标标识,其中,第二目标标识用于指示目标容器组是否使用弹性网卡;
S52,在根据第二目标标识确定出目标容器组使用弹性网卡的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
如果目标容器网络为第一容器网络,即,为目标容器组配置的容器网络不是基于弹性网卡的容器网络,目标主节点可以进一步获取与目标容器组对应的第二目标标识,该第二目标标识用于指示目标容器组是否使用弹性网卡。这里的第二目标标识可以是目标对象在创建目标容器组时选择或者输入的,也就是,由用户设置创建的目标容器组是否使用弹性网卡。
如果根据第二目标标识确定出目标容器组使用弹性网卡,目标主节点可以确定目标容器组为使用弹性网卡所提供的网络接口的容器组。否则,目标主节点可以确定目标容器组不是使用弹性网卡所提供的网络接口的容器组。
可选地,在本实施例中,也可以无论为目标容器组配置的是何种网络,目标主节点均获取与目标容器组对应的第二目标标识,并基于第二目标标识确定目标容器组是否使用弹性网卡,进而确定目标容器组是否是使用弹性网卡所提供的网络接口的容器组。
通过本实施例,当为用户配置的容器网络不是基于弹性网卡的容器网络时,基于容器组的标识确定创建的容器组是否使用弹性网卡,可以提高使用弹性网卡的网络插件与容器集群使用的其他网络插件的兼容性,同时可以避免替换网络插件导致的业务中断。
作为一种可选的实施例,在目标云主机上创建目标容器组之前,上述方法还包括:
S61,确定与待创建的目标容器集群所对应的目标网络模式,其中,目标网络模式为第一网络插件和第二网络插件共存的网络模式;
S62,按照目标网络模式,创建目标容器集群,其中,目标容器集群允许使用第一网络插件和第二网络插件。
在目标云主机上创建目标容器组之前,可以首先在一个或多个云主机上创建目标容器集群。在创建目标容器集群时,目标对象可以为目标容器集群选择与该目标容器集群所对应的网络模式,即,目标网络模式,该目标网络模式是第一网络插件和第二网络插件共存的网络模式。目标服务器(可以是目标主节点,也可以是其他节点)可以确定与待创建的目标容器集群对应的网络模式为上述目标网络模式。
目标服务器可以基于上述目标网络模式,创建上述目标容器集群,创建的目标容器集群同时支持第一网络插件和第二网络插件,即,允许使用第一网络插件和第二网络插件。
可选地,对于已经运行较久的使用其他网络插件的容器集群(例如,K8s集群),如果容器集群内有部分容器组需要绑定弹性网卡或者弹性网卡的辅助IP地址(比如,希望实现负载均衡器对容器组的直通),无法直接切换网络插件,如果手动替换网络插件,势必会造成应用的长时间中断,进而造成业务中断。
为了不会由于替换网络插件导致业务中断,在本实施例中,可以通过更改原网络插件的配置文件,使得原网络插件与在无需业务中断的情况下,享受第一网络插件(即,VPC-CNI模式)带来的便利,而不会影响已有应用的正常运行。
通过本实施例,通过为容器集群配置支持两种网络插件的网络模式,可以提高容器集群配置的便捷性。
下面结合可选示例对本申请实施例中的容器组的创建方法进行解释说明。在本示例中,目标容器集群为K8s集群,目标容器组为K8s集群中的Pod,第一网络插件为VPC-CNI网络插件,第一目标标识为HostNetwork类型的标识,第二目标标识为Pod的annotation(即,注解)中的标识。
如果所有非HostNetwork类型的Pod都需要去申请弹性网卡或者弹性网卡的辅助IP地址,很容易因弹性网卡的配额不足而导致Pod创建失败,而在实际环境中,K8s集群中的大部分Pod是不需要绑定弹性网卡的。为了在弹性网卡数量有限的情况下对弹性网卡有效利用,本示例中所提供的容器组的创建方法是一种基于弹性网卡的容器网络实现方案,在本方案中,VPC-CNI网络插件和其他网络插件共存。如图5所示,本可选示例中的容器组的创建方法的流程可以包括以下步骤:
步骤S502,创建K8s集群,选择其他插件,默认集成VPC-CNI网络插件。
创建K8s集群时,选择其他网络模式,默认会集成VPC-CNI网络模式,即,两种网络模式共存,等待集群创建成功。
步骤S504,创建Pod。
在K8s集群创建成功之后,可以为该K8s集群创建Pod。
步骤S506,判断Pod是否使用主机网络,如果否,执行步骤S508,如果是,执行步骤S520。
根据Pod的网络类型,确定该Pod是否使用主机网络。如果Pod的网络类型为HostNetwork类型,则Pod与宿主机位于同一网络命名空间,无需为其绑定弹性网卡也无需配置集群内的容器网络,结束网络配置流程,执行步骤S520。如果Pod的网络类型为非HostNetwork类型,则执行步骤S508。
步骤S508,为Pod配置集群内容器网络(基于第二网络插件)。
步骤S510,判断是否申请弹性网卡,如果是,执行步骤S512,否则,执行步骤S520。
在容器网络配置成功之后,可以根据Pod的annotation中的标识,判断该Pod是否需要绑定弹性网卡,如果是,执行步骤S512,否则,结束网络配置流程,执行步骤S520。
步骤S512,申请弹性网卡。
如果确定Pod需要使用弹性网卡,则可以向VPC-CNI的服务端程序请求申请弹性网卡或者弹性网卡的辅助IP地址。
步骤S514,判断弹性网卡申请是否成功,如果否,执行步骤S516,如果是,执行步骤S518。
步骤S516,如果弹性网卡的配额不足导致弹性网卡或者弹性网卡的辅助IP地址申请失败,则Pod创建失败。
步骤S518,如果弹性网卡或者弹性网卡的辅助IP地址申请成功,则将申请到的弹性网卡或者弹性网卡的辅助IP绑定给Pod,并配置必要的路由信息等。
步骤S520,完成针对Pod的网络配置。
通过两种网络模式并存,且创建Pod过程中增加了“是否需要弹性网卡”的判断,可以将一大部分的Pod排除出去,从而可以极大程度实现了弹性网卡的有效利用。通过上述步骤,不仅可以实现集群内的容器通信,也可以实现必要Pod和VPC网络的通信,形成的拓扑图可以如图6所示。
通过本示例,使用VPC-CNI网络插件后,通过VPC-CNI网络插件与其他网络插件(例如,K8s集群中原网络插件)共用,通过Pod的标识,判断使用弹性网卡提供的网络接口,还是原网络插件提供的网络接口,并仅给有需求的Pod分配弹性网卡,可以提高节点支持的Pod数量,还可以在不影响现有业务的前提下,将弹性网卡绑定给Pod,从而从很大程度上解决节点上Pod数量受限的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述容器组的创建方法的容器组的创建装置。图7是根据本申请实施例的一种可选的容器组的创建装置的结构框图,如图7所示,该装置可以包括:
第一创建单元702,用于在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;
申请单元704,与第一创建单元702相连,用于在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;
绑定单元706,与申请单元704相连,用于在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组。
需要说明的是,该实施例中的第一创建单元702可以用于执行上述步骤S202,该实施例中的申请单元704可以用于执行上述步骤S204,该实施例中的绑定单元706可以用于执行上述步骤S206。
通过上述模块,在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组,解决了相关技术中的使用弹性网卡的容器网络实现方式存在由于能够提供的IP个数有限导致的允许部署的业务数量少的问题,提高了容器网络中允许创建的容器组。
作为一种可选的实施例,上述装置还包括:
第一获取单元,用于在目标云主机上创建目标容器组之后,获取与目标容器组对应的第一目标标识,其中,第一目标标识用于指示目标容器组所使用的网络类型;
第一确定单元,用于在根据第一目标标识确定出目标容器组与目标云主机位于同一网络命名空间的情况下,确定目标容器组为使用目标云主机的网络接口的容器组。
作为一种可选的实施例,目标容器集群使用的网络插件仅使用第一网络插件;上述装置还包括:
第二确定单元,用于在获取与目标容器组对应的第一目标标识之后,在根据第一目标标识确定出目标容器组与目标云主机位于不同网络命名空间的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
作为一种可选的实施例,目标容器集群使用的网络插件包括第一网络插件和第二网络插件,第二网络插件为与非基于弹性网卡的第二容器网络对应的网络插件;上述装置还包括:
配置单元,用于在获取与目标容器组对应的第一目标标识之后,在根据第一目标标识确定出目标容器组与目标云主机位于不同网络命名空间的情况下,为目标容器组配置所属的目标容器网络;
第三确定单元,用于在目标容器网络为第一容器网络的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
作为一种可选的实施例,上述装置还包括:
第二获取单元,用于在为目标容器组配置所属的目标容器网络之后,在目标容器网络为第二容器网络的情况下,获取与目标容器组对应的第二目标标识,其中,第二目标标识用于指示目标容器组是否使用弹性网卡;
第四确定单元,用于在根据第二目标标识确定出目标容器组使用弹性网卡的情况下,确定目标容器组为使用弹性网卡所提供的网络接口的容器组。
作为一种可选的实施例,上述装置还包括:
第五确定单元,用于在目标云主机上创建目标容器组之前,确定与待创建的目标容器集群所对应的目标网络模式,其中,目标网络模式为第一网络插件和第二网络插件共存的网络模式;
第二创建单元,用于按照目标网络模式,创建目标容器集群,其中,目标容器集群允许使用第一网络插件和第二网络插件。
作为一种可选的实施例,申请单元704包括:
发送模块,用于向目标服务端程序发送目标请求消息,其中,目标服务端程序为第一网络插件的服务端程序,目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址;
接收模块,用于接收目标服务端程序返回的目标响应消息,其中,目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述容器组的创建方法的电子设备,该电子设备可以是服务器、终端、或者其组合。
图8是根据本申请实施例的一种可选的电子设备的结构框图,如图8所示,包括处理器802、通信接口804、存储器806和通信总线808,其中,处理器802、通信接口804和存储器806通过通信总线808完成相互间的通信,其中,
存储器806,用于存储计算机程序;
处理器802,用于执行存储器806上所存放的计算机程序时,实现如下步骤:
在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;
在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;
在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组。
可选地,在本实施例中,上述的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器806中可以但不限于包括上述容器组的创建装置中的第一创建单元702、申请单元704以及绑定单元706。此外,还可以包括但不限于上述容器组的创建装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图8所示的结构仅为示意,实施上述容器组的创建方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项容器组的创建方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
在目标云主机上创建目标容器组,其中,目标云主机上部署有属于目标容器集群中的节点,目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;
在确定出目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为目标容器组申请第一网络插件的弹性网卡;
在为目标容器组申请到目标弹性网卡的情况下,将目标弹性网卡绑定给目标容器组。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种容器组的创建方法,其特征在于,包括:
在目标云主机上创建目标容器组,其中,所述目标云主机上部署有属于目标容器集群中的节点,所述目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;
在确定出所述目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为所述目标容器组申请所述第一网络插件的弹性网卡;
在为所述目标容器组申请到目标弹性网卡的情况下,将所述目标弹性网卡绑定给所述目标容器组。
2.根据权利要求1所述的方法,其特征在于,在所述在目标云主机上创建目标容器组之后,所述方法还包括:
获取与所述目标容器组对应的第一目标标识,其中,所述第一目标标识用于指示所述目标容器组所使用的网络类型;
在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于同一网络命名空间的情况下,确定所述目标容器组为使用所述目标云主机的网络接口的容器组。
3.根据权利要求2所述的方法,其特征在于,所述目标容器集群使用的网络插件仅使用第一网络插件;
在所述获取与所述目标容器组对应的第一目标标识之后,所述方法还包括:
在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
4.根据权利要求2所述的方法,其特征在于,所述目标容器集群使用的网络插件包括所述第一网络插件和第二网络插件,所述第二网络插件为与非基于弹性网卡的第二容器网络对应的网络插件;
在所述获取与所述目标容器组对应的第一目标标识之后,所述方法还包括:
在根据所述第一目标标识确定出所述目标容器组与所述目标云主机位于不同网络命名空间的情况下,为所述目标容器组配置所属的目标容器网络;
在所述目标容器网络为所述第一容器网络的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
5.根据权利要求4所述的方法,其特征在于,在所述为所述目标容器组配置所属的目标容器网络之后,所述方法还包括:
在所述目标容器网络为所述第二容器网络的情况下,获取与所述目标容器组对应的第二目标标识,其中,所述第二目标标识用于指示所述目标容器组是否使用弹性网卡;
在根据所述第二目标标识确定出所述目标容器组使用弹性网卡的情况下,确定所述目标容器组为使用弹性网卡所提供的网络接口的容器组。
6.根据权利要求4所述的方法,其特征在于,在所述在目标云主机上创建目标容器组之前,所述方法还包括:
确定与待创建的所述目标容器集群所对应的目标网络模式,其中,所述目标网络模式为所述第一网络插件和所述第二网络插件共存的网络模式;
按照所述目标网络模式,创建所述目标容器集群,其中,所述目标容器集群允许使用所述第一网络插件和所述第二网络插件。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述为所述目标容器组申请所述第一网络插件的弹性网卡包括:
向目标服务端程序发送目标请求消息,其中,所述目标服务端程序为所述第一网络插件的服务端程序,所述目标请求消息用于请求申请弹性网卡或者弹性网卡的辅助IP地址;
接收所述目标服务端程序返回的目标响应消息,其中,所述目标响应消息用于指示弹性网卡或者弹性网卡的辅助IP地址的申请结果。
8.一种容器组的创建装置,其特征在于,包括:
第一创建单元,用于在目标云主机上创建目标容器组,其中,所述目标云主机上部署有属于目标容器集群中的节点,所述目标容器集群使用的网络插件包括与基于弹性网卡的第一容器网络对应的第一网络插件;
申请单元,用于在确定出所述目标容器组为使用弹性网卡所提供的网络接口的容器组的情况下,为所述目标容器组申请所述第一网络插件的弹性网卡;
绑定单元,用于在为所述目标容器组申请到目标弹性网卡的情况下,将所述目标弹性网卡绑定给所述目标容器组。
9.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,其特征在于,
所述存储器,用于存储计算机程序;
所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行权利要求1至7中任一项所述的方法步骤。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项中所述的方法步骤。
CN202110567560.5A 2021-05-24 2021-05-24 容器组的创建方法和装置、电子设备和存储介质 Pending CN115469961A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110567560.5A CN115469961A (zh) 2021-05-24 2021-05-24 容器组的创建方法和装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110567560.5A CN115469961A (zh) 2021-05-24 2021-05-24 容器组的创建方法和装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN115469961A true CN115469961A (zh) 2022-12-13

Family

ID=84363544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110567560.5A Pending CN115469961A (zh) 2021-05-24 2021-05-24 容器组的创建方法和装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115469961A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913937A (zh) * 2023-01-09 2023-04-04 苏州浪潮智能科技有限公司 一种容器多网卡网络配置方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913937A (zh) * 2023-01-09 2023-04-04 苏州浪潮智能科技有限公司 一种容器多网卡网络配置方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN106843828B (zh) 界面显示、加载方法及装置
CN104734931B (zh) 一种虚拟网络功能间链路建立方法及装置
CN114244717B (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN111163130B (zh) 一种网络服务***及其数据传输方法
CN106301829A (zh) 一种网络业务扩容的方法和装置
CN106453681B (zh) 一种ip地址的分配方法和装置
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储***
CN110493028A (zh) 一种集群部署方法、***、装置及计算机可读存储介质
CN112995247A (zh) 数据发送或处理的方法、装置和***
CN111126604B (zh) 模型训练方法、装置、服务器及存储介质
CN115469961A (zh) 容器组的创建方法和装置、电子设备和存储介质
CN112748961A (zh) 启动任务的执行方法和装置
CN106161075B (zh) 业务处理方法、装置及***
CN109413011B (zh) 公共服务资源申请方法、相关设备及***
CN116339927B (zh) 设备确定方法、装置、存储介质及电子装置
CN110417856B (zh) 多活负载均衡应用的扩容方法、装置、设备及存储介质
CN114173396B (zh) 终端联网时间的确定方法和装置、电子设备和存储介质
CN111262771A (zh) 虚拟私有云通信***、***配置方法及控制器
CN115695210A (zh) 云服务器部署方法和装置、电子设备和存储介质
CN114048028A (zh) 服务调用方法、装置、存储介质和电子设备
CN103490913A (zh) 预启动执行环境测试装置、方法及***
CN109039711B (zh) 一种硬件加速器的更换方法、装置及服务器
CN108737347A (zh) 数据通信方法、装置及其设备
CN113504981A (zh) 任务调度方法和装置、存储介质及电子设备
CN112988176A (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