CN113886011A - 容器组pod的部署配置方法、装置、设备及存储介质 - Google Patents
容器组pod的部署配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113886011A CN113886011A CN202111150837.0A CN202111150837A CN113886011A CN 113886011 A CN113886011 A CN 113886011A CN 202111150837 A CN202111150837 A CN 202111150837A CN 113886011 A CN113886011 A CN 113886011A
- Authority
- CN
- China
- Prior art keywords
- container group
- network
- pod
- group pod
- target
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 241000322338 Loeseliastrum Species 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种容器组pod的部署配置方法,应用于NKNet网络插件,包括:对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;根据容器组pod部署信息进行系统资源调度,得到目标系统资源;根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源;利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。本发明避免了对网络扩张的限制,较大地降低了容器组IP地址分配不成功现象出现的概率,提升了Kubernetes集群的网络性能。本发明还公开了一种容器组pod的部署配置装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及容器化技术领域,特别是涉及一种容器组pod的部署配置方法、装置、设备及计算机可读存储介质。
背景技术
Kubernetes是用于自动部署,扩展和管理容器化应用程序的开源系统,简称k8s。容器组pod作为Kubernetes中最小的资源单位和基础运行单位,Kubernetes中的网络通信是容器组Pod级别的通信,因此,Kubernetes网络方案即为解决容器组Pod的网络部署与网络通信问题。
现有技术中通常选用Calico网络进行容器组pod的部署配置,Calico网络要求各宿主机处于同一个2层网络下,即各宿主机连在一台交换机上。路由的数目与容器数目相同,非常容易超过路由器、三层交换、甚至节点(node)的处理能力,从而限制了整个网络的扩张。Calico网络不支持专有网络VPC,容器只能从calico网络设置的网段中动态获取容器组IP地址,易出现容器组IP地址分配不成功的现象,影响Kubernetes集群的网络性能。
综上所述,如何有效地解决现有的容器组pod的部署配置方式,网络扩张受限,易出现容器组IP地址分配不成功的现象,影响Kubernetes集群的网络性能等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种容器组pod的部署配置方法,该方法避免了对网络扩张的限制,较大地降低了容器组IP地址分配不成功现象出现的概率,提升了Kubernetes集群的网络性能;本发明的另一目的是提供一种容器组pod的部署配置装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种容器组pod的部署配置方法,应用于NKNet网络插件,包括:
对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;
根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源;
根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源;
利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
在本发明的一种具体实施方式中,根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源,包括:
从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源。
在本发明的一种具体实施方式中,从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源,包括:
通过Restful应用程序编程接口从所述Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源。
在本发明的一种具体实施方式中,从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源,包括:
从Neutron虚拟网络服务组件中查找所述容器组pod网络配置信息对应的目标虚拟网卡;
利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,包括:
利用所述目标系统资源进行容器组pod部署操作,得到初始容器组pod;
将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接。
在本发明的一种具体实施方式中,将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接,包括:
将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接,并为所述初始容器组pod分配得到容器组pod静态IP地址。
在本发明的一种具体实施方式中,对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息,包括:
对接收到的容器组pod部署配置命令进行解析,得到所述容器组pod部署信息、所述容器组pod网络配置信息和Kubernetes集群身份信息;
在根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源之前,还包括:
对所述Kubernetes集群身份信息进行认证操作。
在本发明的一种具体实施方式中,对所述Kubernetes集群身份信息进行认证操作,包括:
调用预部署的Keystone身份认证服务组件对所述Kubernetes集群身份信息进行认证操作。
一种容器组pod的部署配置装置,应用于NKNet网络插件,包括:
命令解析单元,用于对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;
系统资源调度单元,用于根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源;
网络资源调度单元,用于根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源;
容器组部署配置单元,用于利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
一种容器组pod的部署配置设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述容器组pod的部署配置方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述容器组pod的部署配置方法的步骤。
本发明所提供的容器组pod的部署配置方法,应用于NKNet网络插件,包括:对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;根据容器组pod部署信息进行系统资源调度,得到目标系统资源;根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源;利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
由上述技术方案可知,通过设置独立于Kubernetes集群的NKNet网络插件,NKNet网络插件提供了用户交互服务,接收用户终端输入的容器组pod部署配置命令,通过命令解析进行系统资源调度和网络资源的自由调度。NKNet网络插件与Kubernetes集群独立设置,避免了对网络扩张的限制,网络资源为根据解析到的容器组pod网络配置信息静态分配获得,较大地降低了容器组IP地址分配不成功现象出现的概率,提升了Kubernetes集群的网络性能。
相应的,本发明还提供了与上述容器组pod的部署配置方法相对应的容器组pod的部署配置装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中容器组pod的部署配置方法的一种实施流程图;
图2为本发明实施例中容器组pod的部署配置方法的另一种实施流程图;
图3为本发明实施例中一种容器组pod的部署配置系统的结构框图;
图4为一种传统Neutron虚拟网络服务组件底层网络架构的结构示意图;
图5为本发明实施例中一种Neutron虚拟网络服务组件底层网络架构的结构示意图;
图6为本发明实施例中一种容器组pod的部署配置装置的结构框图;
图7为本发明实施例中一种容器组pod的部署配置设备的结构框图;
图8为本实施例提供的一种容器组pod的部署配置设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中容器组pod的部署配置方法的一种实施流程图,应用于NKNet网络插件,该方法可以包括以下步骤:
S101:对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息。
预先设置独立于Kubernetes集群的NKNet网络插件,NKNet网络插件提供了用户交互服务,能够接收用户端输入的容器组pod部署配置命令。当需要进行容器组pod部署配置时,生成容器组pod部署配置命令,并向NKNet网络插件发送容器组pod部署配置命令,容器组pod部署配置命令中包含容器组pod部署信息和容器组pod网络配置信息。NKNet网络插件接收容器组pod部署配置命令,并对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息。
容器组pod部署信息可以包括容器组pod部署需占用的CPU资源信息、内存资源信息等。容器组pod网络配置信息可以包括定制的容器组Pod的网段、容器组Pod的IP地址。
S102:根据容器组pod部署信息进行系统资源调度,得到目标系统资源。
在解析得到容器组pod部署信息之后,根据容器组pod部署信息进行系统资源调度,得到目标系统资源。如根据解析得到的容器组pod部署需占用的CPU资源信息,获取相应的CPU资源,根据解析得到的容器组pod部署需占用的内存资源信息,获取相应的内存资源,等等。
S103:根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源。
在解析得到容器组pod网络配置信息之后,根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源。如根据解析得到的定制的容器组Pod的网段,分配相应的容器组Pod的网段资源,根据解析得到的定制的容器组Pod的IP地址,分配相应的容器组Pod静态IP地址。
需要说明的是,本发明实施例对步骤S102和步骤S103的执行顺序不做限定,两者可以顺序执行,也可以并行执行。
S104:利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
在根据容器组pod部署信息进行系统资源调度,得到目标系统资源,并根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源之后,利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。本发明实施例所提供的NKNet网络插件独立于Kubernetes集群设置,相较于通过Calico网络进行容器组pod的部署配置的方式,本发明能够根据实际的容器组pod部署配置需求进行相应的网络扩张,网络扩张不受限制。本发明是根据容器组pod网络配置信息进行容器组Pod网络资源的静态定制,即本发明是通过定制得到容器组Pod静态IP地址,相较于从calico网络设置的网段中动态获取容器组IP地址的方式,
由上述技术方案可知,通过设置独立于Kubernetes集群的NKNet网络插件,NKNet网络插件提供了用户交互服务,接收用户终端输入的容器组pod部署配置命令,通过命令解析进行系统资源调度和网络资源的自由调度。NKNet网络插件与Kubernetes集群独立设置,避免了对网络扩张的限制,网络资源为根据解析到的容器组pod网络配置信息静态分配获得,较大地降低了容器组IP地址分配不成功现象出现的概率,提升了Kubernetes集群的网络性能。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中容器组pod的部署配置方法的另一种实施流程图,应用于NKNet网络插件,该方法可以包括以下步骤:
S201:对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息、容器组pod网络配置信息和Kubernetes集群身份信息。
容器组pod部署配置命令除包含容器组pod部署信息和容器组pod网络配置信息之外,还包含Kubernetes集群身份信息。NKNet网络插件在接收到容器组pod部署配置命令之后,通过对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息、容器组pod网络配置信息和Kubernetes集群身份信息。
S202:对Kubernetes集群身份信息进行认证操作。
在解析得到Kubernetes集群身份信息之后,对Kubernetes集群身份信息进行认证操作。通过对Kubernetes集群身份信息进行认证,保证了Kubernetes集群的安全性。
在本发明的一种具体实施方式中,步骤S202可以包括以下步骤:
调用预部署的Keystone身份认证服务组件对Kubernetes集群身份信息进行认证操作。
参见图3,图3为本发明实施例中一种容器组pod的部署配置系统的结构框图。NKNet网络插件作为可插拔的网络插件,由网络模块和交互模块组成。NKNet网络插件的交互模块包含两个子模块,即命令行子模块和解析子模块;NKNet网络插件的网络模块包含四个子模块,即信息存储子模块、网络部署子模块、身份认证子模块以及网络资源子模块。网络模块为Kubernetes集群提供网络资源支撑与身份认证服务,交互模块为用户提供与Kubernetes集群的网络资源交互服务。Kubernetes集群包括kubernetes集群应用程序接口服务器、kubernetes集群调度器、kubernetes集群控制器、kubernetes集群节点代理。NKNet网络插件通过CNI(Container Network Interface,容器网络接口)与Kubernetes集群相连。
预先设置与NKNet网络插件连接的Keystone身份认证服务组件,当对Kubernetes集群身份信息进行认证操作时,可以具体调用预部署的Keystone身份认证服务组件对Kubernetes集群身份信息进行认证操作。通过Keystone身份认证服务组件完成对Kubernetes集群身份信息的认证服务,Keystone身份认证服务组件要求用户访问OpenStack云计算管理平台API(Application Programming Interface,应用程序编程接口)前,必须先获取访问令牌(token),然后用访问令牌作为用户凭据访问云计算管理平台API,实现对云计算管理平台API的权限控制。
S203:当对Kubernetes集群身份信息认证通过时,根据容器组pod部署信息进行系统资源调度,得到目标系统资源。
通过对Kubernetes集群身份信息进行认证操作,当确定对Kubernetes集群身份信息认证通过时,说明Kubernetes集群合法,根据容器组pod部署信息进行系统资源调度,得到目标系统资源。
S204:从Neutron虚拟网络服务组件中调取容器组pod网络配置信息对应的目标网络资源。
如图3所示,预先设置与NKNet网络插件连接的Neutron虚拟网络服务组件,Neutron虚拟网络服务组件用于管理云计算管理平台中的虚拟网络资源,在解析得到容器组pod网络配置信息之后,从Neutron虚拟网络服务组件中调取容器组pod网络配置信息对应的目标网络资源。Neutron虚拟网络服务组件在设计上遵循了基于SDN(SoftwareDefined Network,软件定义网络)实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关的技术。
在本发明的一种具体实施方式中,步骤S204可以包括以下步骤:
通过Restful应用程序编程接口从Neutron虚拟网络服务组件中调取容器组pod网络配置信息对应的目标网络资源。
如图3所示,预先设置通过Restful应用程序编程接口用于将NKNet网络插件与Neutron虚拟网络服务组件进行连接,通过Restful应用程序编程接口从Neutron虚拟网络服务组件中调取容器组pod网络配置信息对应的目标网络资源。除此之外,还可以预先设置通过Restful应用程序编程接口用于将NKNet网络插件与Keystone身份认证服务组件进行连接,通过Restful应用程序编程接口调用预部署的Keystone身份认证服务组件对Kubernetes集群身份信息进行认证操作。
通过Restful应用程序编程接口将Neutron虚拟网络服务组件和Keystone身份认证服务组件连接于NKNet网络插件,使得NKNet网络插件兼容了多版本Neutron虚拟网络服务组件、Keystone身份认证服务组件和Kubernetes集群,不需要考虑Kubernetes集群与Keystone身份认证服务组件、Neutron虚拟网络服务组件之间底层代码的调用过程。将Kubernetes集群与Neutron虚拟网络服务组件、Keystone身份认证服务组件有机结合,为Kubernetes集群的网络通信提供了保障。
S205:利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
在本发明的一种具体实施方式中,步骤S204可以包括以下步骤:
从Neutron虚拟网络服务组件中查找容器组pod网络配置信息对应的目标虚拟网卡;
对应的,步骤S205可以包括以下步骤:
步骤一:利用目标系统资源进行容器组pod部署操作,得到初始容器组pod;
步骤二:将目标虚拟网卡加载至初始容器组pod对应的目标pod网络命名空间中,以建立初始容器组pod与Neutron虚拟网络服务组件中Br-int集成网桥的连接。
参见图4和图5,图4为一种传统Neutron虚拟网络服务组件底层网络架构的结构示意图,图5为本发明实施例中一种Neutron虚拟网络服务组件底层网络架构的结构示意图。如图4所示,传统的Neutron虚拟网络服务组件底层网络架构中的容器组pod通过网桥LinuxBridge与Neutron虚拟网络服务组件中Br-int集成网桥进行连接,且中间通过多个虚拟机以太端口veth进行信息传输,网络架构性能较低。如图5所示,相对于传统Neutron虚拟网络服务组件底层网络架构,NKNet网络插件对Neutron虚拟网络服务组件底层网络架构进行了优化,NKNet网络插件使用internal类型的虚拟网卡,将该虚拟网卡加载至容器组pod的pod网络命名空间中,实现容器组pod与Br-int集成网桥的互联,从而实现高性能网络架构。
容器组pod与虚拟交换机共享同一个虚拟网卡,减少网桥LinuxBridge的创建,从而减少宿主机需要维护的虚拟网络设备,性能开销得到大幅度降低。容器组pod和Br-int集成网桥之间通信仅需要进行一次数据转发,数据转发的性能损耗降低,大幅度提高了容器组Pod之间的通信性能,进而提高Kubernetes集群的网络性能。
容器组pod网络配置信息中包含虚拟网卡标识信息,在解析得到容器组pod网络配置信息之后,从Neutron虚拟网络服务组件中查找容器组pod网络配置信息对应的目标虚拟网卡,从Neutron虚拟网络服务组件中查找容器组pod网络配置信息对应的目标虚拟网卡,利用目标系统资源进行容器组pod部署操作,得到初始容器组pod,将目标虚拟网卡加载至初始容器组pod对应的目标pod网络命名空间中,从而建立初始容器组pod与Neutron虚拟网络服务组件中Br-int集成网桥的连接。通过对Neutron虚拟网络服务组件底层网络架构进行优化,使得TCP(Transmission Control Protocol,传输控制协议)吞吐量在同宿主机情况下及跨宿主机情况下均有明显提升,网络延迟在同宿主机的情况下及跨宿主机的情况下均有明显下降。
在本发明的一种具体实施方式中,将目标虚拟网卡加载至初始容器组pod对应的目标pod网络命名空间中,以建立初始容器组pod与Neutron虚拟网络服务组件中Br-int集成网桥的连接,可以包括以下步骤:
将目标虚拟网卡加载至初始容器组pod对应的目标pod网络命名空间中,以建立初始容器组pod与Neutron虚拟网络服务组件中Br-int集成网桥的连接,并为初始容器组pod分配得到容器组pod静态IP地址。
通过将目标虚拟网卡加载至初始容器组pod对应的目标pod网络命名空间中,以建立初始容器组pod与Neutron虚拟网络服务组件中Br-int集成网桥的连接,并为初始容器组pod分配得到容器组pod静态IP地址。
在本发明的一种具体实例应用中,如图3所示,NKNet网络插件各子模块功能如下:
(1)命令行子模块,命令行子模块设计并实现了一种新型Kubernetes命令行kubenetctl,在兼容用于运行Kubernetes集群命令的管理工具kubectl的原生命令基础上,新增网络命令,能够完成对Kubernetes集群资源的灵活管理以及对容器组pod网络的多样化配置,从而实现用户与Kubernetes资源的深度交互。
(2)解析子模块,解析子模块完成对参数命令的解析过程,将参数命令解析并分类为原生命令与网络命令,并根据命令内容进行相关操作。
(3)信息存储子模块,信息存储子模块通过实时维护NKNet网络插件的数据库,为NKNet网络插件中的其他子模块提供信息存储保障,实现网络资源信息与Kubernetes资源信息的解耦,便于网络插件的维护。信息存储模块主要对Kubernetes网络资源信息,容器组pod网络配置信息以及Kubernetes集群的认证信息提供持久化实时维护。
(4)身份认证子模块,身份认证子模块负责为Kubernetes集群提供身份认证服务。该模块将Keystone身份认证服务组件与Kubernetes集群进行结合,进而保障了Kubernetes集群的安全性。
(5)网络资源子模块,网络资源子模块实现了NKNet网络插件的网络资源调度和回收。该模块解析信息存储子模块实时维护的容器组pod网络配置信息,向Neutron虚拟网络服务组件申请或回收相应的网络资源,包括网络、子网和端口,并实时更新信息存储子模块的网络资源数据和容器组pod的网络配置数据。
(6)网络部署子模块,网络部署子模块实现容器组pod网络部署,将网络资源子模块申请的网络、子网、端口分配给相应的容器组pod。
相应于上面的方法实施例,本发明还提供了一种容器组pod的部署配置装置,应用于NKNet网络插件,下文描述的容器组pod的部署配置装置与上文描述的容器组pod的部署配置装置方法可相互对应参照。
参见图6,图6为本发明实施例中一种容器组pod的部署配置装置的结构框图,该装置可以包括:
命令解析单元61,用于对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;
系统资源调度单元62,用于根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源;
网络资源调度单元63,用于根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源;
容器组部署配置单元64,用于利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
由上述技术方案可知,通过设置独立于Kubernetes集群的NKNet网络插件,NKNet网络插件提供了用户交互服务,接收用户终端输入的容器组pod部署配置命令,通过命令解析进行系统资源调度和网络资源的自由调度。NKNet网络插件与Kubernetes集群独立设置,避免了对网络扩张的限制,网络资源为根据解析到的容器组pod网络配置信息静态分配获得,较大地降低了容器组IP地址分配不成功现象出现的概率,提升了Kubernetes集群的网络性能。
在本发明的一种具体实施方式中,网络资源调度单元63具体为从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源的单元。
在本发明的一种具体实施方式中,网络资源调度单元63具体为通过Restful应用程序编程接口从所述Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源的单元。
在本发明的一种具体实施方式中,网络资源调度单元63具体为从Neutron虚拟网络服务组件中查找所述容器组pod网络配置信息对应的目标虚拟网卡的单元;
容器组部署配置单元64包括:
容器组部署子单元,用于利用所述目标系统资源进行容器组pod部署操作,得到初始容器组pod;
网卡加载子单元,用于将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接。
在本发明的一种具体实施方式中,网卡加载子单元具体为将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接,并为所述初始容器组pod分配得到容器组pod静态IP地址的单元。
在本发明的一种具体实施方式中,命令解析单元61具体为对接收到的容器组pod部署配置命令进行解析,得到所述容器组pod部署信息、所述容器组pod网络配置信息和Kubernetes集群身份信息的单元;
该装置还可以包括:
身份认证单元,用于在根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源之前,对所述Kubernetes集群身份信息进行认证操作。
在本发明的一种具体实施方式中,身份认证单元具体为调用预部署的Keystone身份认证服务组件对所述Kubernetes集群身份信息进行认证操作的单元。
相应于上面的方法实施例,参见图7,图7为本发明所提供的容器组pod的部署配置设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的容器组pod的部署配置方法的步骤。
具体的,请参考图8,图8为本实施例提供的一种容器组pod的部署配置设备的具体结构示意图,该容器组pod的部署配置设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在容器组pod的部署配置设备301上执行存储器332中的一系列指令操作。
容器组pod的部署配置设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的容器组pod的部署配置方法中的步骤可以由容器组pod的部署配置设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;根据容器组pod部署信息进行系统资源调度,得到目标系统资源;根据容器组pod网络配置信息进行网络资源调度,得到目标网络资源;利用目标系统资源和目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种容器组pod的部署配置方法,其特征在于,应用于NKNet网络插件,包括:
对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;
根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源;
根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源;
利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
2.根据权利要求1所述的容器组pod的部署配置方法,其特征在于,根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源,包括:
从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源。
3.根据权利要求2所述的容器组pod的部署配置方法,其特征在于,从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源,包括:
通过Restful应用程序编程接口从所述Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源。
4.根据权利要求2或3所述的容器组pod的部署配置方法,其特征在于,从Neutron虚拟网络服务组件中调取所述容器组pod网络配置信息对应的目标网络资源,包括:
从Neutron虚拟网络服务组件中查找所述容器组pod网络配置信息对应的目标虚拟网卡;
利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,包括:
利用所述目标系统资源进行容器组pod部署操作,得到初始容器组pod;
将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接。
5.根据权利要求4所述的容器组pod的部署配置方法,其特征在于,将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接,包括:
将所述目标虚拟网卡加载至所述初始容器组pod对应的目标pod网络命名空间中,以建立所述初始容器组pod与所述Neutron虚拟网络服务组件中Br-int集成网桥的连接,并为所述初始容器组pod分配得到容器组pod静态IP地址。
6.根据权利要求1所述的容器组pod的部署配置方法,其特征在于,对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息,包括:
对接收到的容器组pod部署配置命令进行解析,得到所述容器组pod部署信息、所述容器组pod网络配置信息和Kubernetes集群身份信息;
在根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源之前,还包括:
对所述Kubernetes集群身份信息进行认证操作。
7.根据权利要求6所述的容器组pod的部署配置方法,其特征在于,对所述Kubernetes集群身份信息进行认证操作,包括:
调用预部署的Keystone身份认证服务组件对所述Kubernetes集群身份信息进行认证操作。
8.一种容器组pod的部署配置装置,其特征在于,应用于NKNet网络插件,包括:
命令解析单元,用于对接收到的容器组pod部署配置命令进行解析,得到容器组pod部署信息和容器组pod网络配置信息;
系统资源调度单元,用于根据所述容器组pod部署信息进行系统资源调度,得到目标系统资源;
网络资源调度单元,用于根据所述容器组pod网络配置信息进行网络资源调度,得到目标网络资源;
容器组部署配置单元,用于利用所述目标系统资源和所述目标网络资源进行容器组pod部署配置操作,得到目标容器组pod。
9.一种容器组pod的部署配置设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述容器组pod的部署配置方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述容器组pod的部署配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150837.0A CN113886011A (zh) | 2021-09-29 | 2021-09-29 | 容器组pod的部署配置方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111150837.0A CN113886011A (zh) | 2021-09-29 | 2021-09-29 | 容器组pod的部署配置方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886011A true CN113886011A (zh) | 2022-01-04 |
Family
ID=79007881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111150837.0A Withdrawn CN113886011A (zh) | 2021-09-29 | 2021-09-29 | 容器组pod的部署配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886011A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900430A (zh) * | 2022-04-28 | 2022-08-12 | 中国电信股份有限公司 | 容器网络优化方法、装置、计算机设备和存储介质 |
-
2021
- 2021-09-29 CN CN202111150837.0A patent/CN113886011A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900430A (zh) * | 2022-04-28 | 2022-08-12 | 中国电信股份有限公司 | 容器网络优化方法、装置、计算机设备和存储介质 |
CN114900430B (zh) * | 2022-04-28 | 2023-10-20 | 中国电信股份有限公司 | 容器网络优化方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9722867B2 (en) | Resource management method, resource management system and resource manager | |
US7620953B1 (en) | System and method for allocating resources of a core space among a plurality of core virtual machines | |
CN107707622B (zh) | 一种访问桌面云虚拟机的方法、装置及桌面云控制器 | |
CN108886473B (zh) | 一种管理方法及装置 | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
CN111857873A (zh) | 一种实现云原生容器网络的方法 | |
CN109375933B (zh) | 一种客户端升级的方法及设备 | |
US10868856B2 (en) | Network element and method of running applications in a cloud computing system | |
CN110311948B (zh) | 容器/容器组间的通信方法及基于此的容器云网络系统 | |
CN112929210B (zh) | 在WebFlux框架搭建的网关路由应用插件的方法、系统及其应用 | |
Vdovin et al. | Comparing various approaches to resource allocation in data centers | |
CN110061857B (zh) | 一种多mec能力开放和共享的方法及系统 | |
CN113886011A (zh) | 容器组pod的部署配置方法、装置、设备及存储介质 | |
CN111294293B (zh) | 一种基于用户态协议栈的网络隔离方法和装置 | |
CN114422350A (zh) | 一种公共云容器实例创建方法 | |
CN112583655B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
CN110795209B (zh) | 一种控制方法和装置 | |
Alam et al. | Software defined networks: Review and architecture | |
CN113904871B (zh) | 网络切片的接入方法、pcf实体、终端和通信系统 | |
CN111580935A (zh) | 一种网络通信方法、装置、设备及存储介质 | |
CN113535370A (zh) | 一种实现负载均衡的多rdma网卡虚拟化的方法、设备 | |
CN114244724B (zh) | 一种城域网控制平面向容器化演进的方法及装置 | |
US20230336405A1 (en) | Failover of cloud-native network functions within node groups for high availability in a wireless telecommunication network | |
US20240028368A1 (en) | Remote edge virtualization management | |
US20230336420A1 (en) | Utilization of network function (nf) node groups for compute optimization and nf resiliency in a wireless telecommunication network |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220104 |