CN114640652A - 一种信息处理方法及装置 - Google Patents
一种信息处理方法及装置 Download PDFInfo
- Publication number
- CN114640652A CN114640652A CN202210173766.4A CN202210173766A CN114640652A CN 114640652 A CN114640652 A CN 114640652A CN 202210173766 A CN202210173766 A CN 202210173766A CN 114640652 A CN114640652 A CN 114640652A
- Authority
- CN
- China
- Prior art keywords
- address
- information
- matching
- determining
- storage table
- 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
Links
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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
Abstract
本申请公开了一种信息处理方法及装置,所述方法包括:创建虚拟对象;对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址;其中,所述地址存储表存储供第一匹配信息匹配的第二匹配信息和与所述第二匹配信息映射的IP地址,应用本方法,可以使虚拟机在创建的时候,无需注解就可以获得固定的IP地址。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种信息处理方法及装置。
背景技术
容器化是现有业务系统越来越普遍的趋势,容器管理平台能够为容器化的虚拟机提供良好的实现架构。但通过容器管理平台管理容器化的虚拟机,在容器化的虚拟机的停止或重启、迁移等过程中,虚拟机会出现IP地址改变的情况。容器的网络插件(CNI)众多,采用注解是固定容器IP的常用方式,但是,通过在pod上增加注解,并不能解决容器化的虚拟机启动、停止过程中固定IP的功能,容易发生IP冲突的情况。
发明内容
本申请实施例为了解决背景技术中存在的上述问题,提供一种信息处理方法及装置。
根据本申请实施例第一方面,提供了一种信息处理方法,所述方法包括:创建虚拟对象;对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址;其中,所述地址存储表存储供第一匹配信息匹配的第二匹配信息和与所述第二匹配信息映射的IP地址。
根据本申请一实施方式,所述对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息,包括:确定与所述虚拟对象对应的管理对象;根据与所述管理对象对应的第二名称信息确定所述第一名称信息,以使所述第一名称信息包含所述第二名称信息;将所述第一名称信息中与所述第二名称信息相同的内容确定为第一匹配信息。
根据本申请一实施方式,所述通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址,包括:若与所述虚拟对象对应的管理对象注解有指定IP地址,根据所述指定IP地址和第一匹配信息确定第一IP地址。
根据本申请一实施方式,所述根据所述指定IP地址和第一匹配信息确定第一IP地址,包括:若所述地址存储表中不存在所述指定IP地址,将所述指定IP地址确定为所述第一IP地址;若所述地址存储表中存在所述指定IP地址,判断所述地址存储表中是否存在与所述第一匹配信息相同的第二匹配信息,获得第一判断结果;根据所述第一判断结果确定所述第一IP地址。
根据本申请一实施方式,所述根据所述第一判断结果确定所述第一IP地址,包括:若所述第一判断结果为所述地址存储表中存在与所述第一匹配信息相同的第二匹配信息,将所述指定IP地址确定为第一IP地址;若所述地址存储表中不存在,停止对所述虚拟对象的网络配置操作。
根据本申请一实施方式,所述方法还包括:若与所述虚拟对象对应的管理对象未注解有指定IP地址,根据所述地址存储表查找与所述第一匹配信息相同的第二匹配信息;根据所述第二匹配信息确定对应的第一IP地址。
根据本申请一实施方式,在对与所述虚拟对象对应的第一名称信息进行提取之前,所述方法还包括:若所述虚拟对象通过管理对象启动,对与所述虚拟对象对应的第一名称信息进行提取。
根据本申请一实施方式,所述方法还包括:在所述地址存储表中设置所述第一IP地址的状态为已占用。
根据本申请一实施方式,在创建虚拟对象之前,所述方法还包括:创建管理对象;根据所述管理对象确定第二名称信息和对应的第二IP地址;将所述第二名称信息和所述第二IP地址存储于所述地址存储表。
根据本申请实施例第二方面,还提供了一种信息处理装置,所述装置包括:创建模块,用于创建虚拟对象;提取模块,用于对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;匹配模块,用于通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址;其中,所述地址存储表存储供第一匹配信息匹配的第二匹配信息和与所述第二匹配信息映射的IP地址。
根据本申请一实施方式,所述提取模块,包括:确定与所述虚拟对象对应的管理对象;根据与所述管理对象对应的第二名称信息确定所述第一名称信息,以使所述第一名称信息包含所述第二名称信息;将所述第一名称信息中与所述第二名称信息相同的内容确定为第一匹配信息。
根据本申请一实施方式,所述匹配模块,包括:若与所述虚拟对象对应的管理对象注解有指定IP地址,根据所述指定IP地址和第一匹配信息确定第一IP地址。
根据本申请一实施方式,所述匹配模块,包括:若所述地址存储表中不存在所述指定IP地址,将所述指定IP地址确定为所述第一IP地址;若所述地址存储表中存在所述指定IP地址,判断所述地址存储表中是否存在与所述第一匹配信息相同的第二匹配信息,获得第一判断结果;根据所述第一判断结果确定所述第一IP地址。
根据本申请一实施方式,所述匹配模块,包括:若所述第一判断结果为所述地址存储表中存在与所述第一匹配信息相同的第二匹配信息,将所述指定IP地址确定为第一IP地址;若所述地址存储表中不存在,停止对所述虚拟对象的网络配置操作。
根据本申请一实施方式,所述装置还包括:查找模块,用于若与所述虚拟对象对应的管理对象未注解有指定IP地址,根据所述地址存储表查找与所述第一匹配信息相同的第二匹配信息;所述确定模块,还用于根据所述第二匹配信息确定对应的第一IP地址。
根据本申请一实施方式,所述装置还包括:提取模块,用于若所述虚拟对象通过管理对象启动,对与所述虚拟对象对应的第一名称信息进行提取。
根据本申请一实施方式,所述装置还包括:设置模块,用于在所述地址存储表中设置所述第一IP地址的状态为已占用。
根据本申请一实施方式,所述装置还包括:创建模块,用于创建管理对象;所述确定模块,还用于根据所述管理对象确定第二名称信息和对应的第二IP地址;存储模块,用于将所述第二名称信息和所述第二IP地址存储于所述地址存储表。
本申请实施例提供的信息处理方法及装置,通过地址存储表存储供第一匹配信息匹配的第二匹配信息和与第二匹配信息对应的IP地址,在创建虚拟对象的时候,可以利用地址存储表和第一匹配信息进行匹配,从而确定虚拟对象的第一IP地址,使虚拟对象在创建的时候,无需注解就可以获得固定的第一IP地址,且后续在该虚拟对象重启或者删除重建的情况下,仍然能够获得相同的固定的第一IP地址。
需要理解的是,本申请的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本申请实施例一种信息处理方法的实现流程示意图;
图2示出了本申请另一实施例一种信息处理方法的实现流程示意图;
图3示出了本申请又一实施例一种信息处理方法的实现流程示意图;
图4示出了本申请实施例一种信息处理方法的实施场景示意图一;
图5示出了本申请实施例一种信息处理方法的实施场景示意图二;
图6示出了本申请实施例一种信息处理装置的实现模块示意图;
图7示出了本申请实施例一种电子设备的示意性框图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为使本申请更加透彻和完整,并能够将本申请的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本申请的技术方案进一步详细阐述。
图1示出了本申请实施例一种信息处理方法的实现流程示意图;
参见图1,根据本申请实施例第一方面,提供了一种信息处理方法,方法包括:操作101,创建虚拟对象;操作102,对与虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;操作103,通过第一匹配信息和地址存储表进行信息匹配,确定与虚拟对象对应的第一IP地址;其中,地址存储表存储供第一匹配信息匹配的第二匹配信息和与第二匹配信息映射的IP地址。
本申请实施例提供的信息处理方法,通过地址存储表存储供第一匹配信息匹配的第二匹配信息和与第二匹配信息对应的IP地址,在创建虚拟对象的时候,可以利用地址存储表和第一匹配信息进行匹配,从而确定虚拟对象的第一IP地址,使虚拟对象在创建的时候,无需注解就可以获得固定的第一IP地址,且后续在该虚拟对象重启或者删除重建的情况下,仍然能够获得相同的固定的第一IP地址。
本方法应用于虚拟对象管理平台,如Kubernetes云原生容器管理平台。Kubernetes云原生容器管理平台通过kubevirt插件实现对虚拟机的调度,管理虚拟机生命周期,实现虚拟机在容器化平台的运行。
本方法的虚拟对象可以用于表征pod,也可以用于表征pod和对应的虚拟机。通过固定pod的IP地址实现固定pod和对应的虚拟机的IP地址的目的。因此,本方法在进行IP地址固定的时候可以只对pod进行处理,从而实现同步固定虚拟机IP地址的目的。平台在创建虚拟对象的时候,同时创建了pod和虚拟机,但是应用本方法进行IP地址固定的时候,可以对创建的pod进行处理,以通过pod的IP地址实现虚拟机IP地址的固定。以下通过对pod进行处理实现IP地址固定进行具体描述。
本方法在操作101中,创建虚拟对象具体包括:Kubernetes平台,启动VirtualMachine,创建VMI,实现创建pod和对应的虚拟机的目的。其中,创建可以用于表征新建虚拟机或重启虚拟机。Virtual Machine用于为pod提供管理功能,例如开机、关机、重启虚拟机等功能,确保虚拟机实例的启动状态。
在本方法操作102中,虚拟对象的第一名称信息的命名可以预先进行设置对应的命名规则,本方法命名规则为:虚拟对象的第一名称信息中携带有对应Virtual Machine的名称信息和用于表征虚拟对象的标识,例如:“irt-launcher-”+Virtual Machine name+虚拟机名称。通过对第一名称信息中与Virtual Machine的名称相关的信息进行提取,获得第一匹配信息。在平台中,容器化虚拟机的生命周期中,VirtualMachine始终保持不变,即在创建虚拟对象的过程中,不论虚拟对象开启、关机、重启等,VirtualMachine始终保持不变。因此,第一名称信息中携带的VirtualMachine名称信息及其相关的内容也是保持不变的。基于此,不论是新建虚拟机还是重启虚拟机,本方法可以根据第一匹配信息在地址存储表中进行匹配,以实现固定虚拟机的IP地址的目的,使IP地址保持不变。
在本方法操作103中,地址存储表可以储存在数据库中,地址存储表存储有供第一匹配信息匹配的第二匹配信息和IP地址,且第二匹配信息和IP地址之间形成有映射关系,即可以通过第二匹配信息确定IP地址,地址存储表可以如下表所示:
namespace | podname | IP | network | isuse |
namespacename1 | “virt-launcher-”+vm name+虚拟机名称1 | ip1 | net1 | true |
namespacename2 | “virt-launcher-”+vm name+虚拟机名称2 | ip2 | net1 | true |
平台对容器或虚拟机的IP地址进行增加或删除的情况下,需要对地址存储表进行新增对应的表行,或删除对应的表行,并记录与IP地址同一行对应的其他信息,更新该地址存储表。本方法通过对第一名称信息进行提取获得第一匹配信息,然后通过第一匹配信息与该地址存储表进行匹配,可以通过匹配结果确定第一IP地址。
具体的,若地址存储表中存在与第一匹配信息内容一致的第二匹配信息,可以通过映射关系将与第二匹配信息映射的IP地址确定为第一IP地址。若地址存储表中不存在与第一匹配信息内容一致的第二匹配信息,则可以根据实际情况为虚拟对象分配第一IP地址。其中,第二匹配信息同样可以根据VirtualMachine的名称相关的内容进行确定。通过上述方法,平台可以在创建虚拟机的时候,无需配置注解,就达到固定虚拟机IP地址的功能。
需要补充的是,针对不同VirtualMachine创建方式,本方法对虚拟对象第一IP地址的确定方式不同。
在一种实施场景中,在创建VirtualMachine的时候,分配与VirtualMachine对应的IP地址。在另一种实施场景中,在创建VirtualMachine的时候,不分配与VirtualMachine对应的IP地址。
图2示出了本申请另一实施例一种信息处理方法的实现流程示意图。
参见图2,在创建VirtualMachine(VM)的时候,分配与VirtualMachine对应的IP地址的具体实施场景如下:
在操作101,创建虚拟对象之前,方法还包括:首先,创建管理对象;然后,根据管理对象确定第二名称信息和对应的第二IP地址;再后,将第二名称信息和第二IP地址存储于地址存储表。
平台在创建虚拟对象之前,需要先创建用于进行虚拟对象管理的管理对象,即平台需要先创建Virtual Machine,并链接IP地址数据库分配IP地址。管理对象用于为虚拟对象提供管理功能,例如开机、关机、重启虚拟机等功能,确保虚拟机实例的启动状态。本方法中的管理对象具体为Kubernetes平台中的VirtualMachine。
创建管理对象存在两种实施场景,在一种实施场景中,Virtual Machine通过注解指定了IP地址,在另一种实施场景中,Virtual Machine未注解指定的IP地址。基于此,本方法在分配Virtual Machine的IP地址的情况下,需要先断Virtual Machine是否注解有assignment-ip。
若判断为Virtual Machine未注解assignment-ip,通过IP地址数据库(DB)随机分配IP地址,获得与Virtual Machine对应的第二IP地址,并将IP地址数据库中该IP地址设置为已占用。
若判断为Virtual Machine注解有assignment-ip,在IP地址数据库中进行查询,确定该IP地址是否已被占用,若查询到该IP地址被占用,对该Virtual Machine的创建进行报错。若查询到该IP地址未被占用,将该IP地址确定为与Virtual Machine对应的第二IP地址,并将IP地址数据库中该IP地址设置为已占用。
进一步的,本方法可以通过查询地址存储表确定该IP地址是否被占用,若查询到地址存储表中已经存在该IP地址,且该IP地址对应的namespace和Virtual Machine name/pod name与创建的Virtual Machine不相同,则认为该IP地址被占用,对该VirtualMachine的创建进行报错,停止Virtual Machine的创建。若查询到地址存储表中已经存在该IP地址,且该IP地址在地址存储表中对应的namespace和Virtual Machine name与创建的Virtual Machine相同,则认为Virtual Machine为重启的Virtual Machine,将该IP地址确定为与Virtual Machine对应的第二IP地址。
平台可以通过webhook功能或者controller监听VirtualMachine的创建,在Virtual Machine的创建过程中,可以将Virtual Machine对应的namespace、VirtualMachine name和分配获得的第二IP地址存入地址存储表。其中,namespace、VirtualMachine name为供第一匹配信息匹配的第二匹配信息,第二IP地址为与第二匹配信息映射的IP地址。需要理解的是,由于VirtualMachine name和pod name在命名上具有相同规则,因此可以直接将VirtualMachine name添加至pod name的表列中,也可以在地址存储表中另起一行用于记录VirtualMachine name。
根据本申请一实施方式,操作102,对与虚拟对象对应的第一名称信息进行提取,确定第一匹配信息,包括:首先,确定与虚拟对象对应的管理对象;然后,根据与管理对象对应的第二名称信息确定第一名称信息,以使第一名称信息包含第二名称信息;再后,将第一名称信息中与第二名称信息相同的内容确定为第一匹配信息。
本方法可以应用于普通容器和虚拟机兼容的混合平台,当平台中同时存在普通容器和虚拟机的情况下,在创建虚拟对象之后,通过远程过程调用(Remote Procedure Call,RPC)调用容器网络接口(Container Network Interface,CNI)查询创建的pod是否用于虚拟机的启动,若查询到pod不用于虚拟机的启动,则该pod为普通容器的pod。若查询到pod是否用于虚拟机的启动,继续查询pod是否存在对应的Virtual Machine,若查询到存在对应的Virtual Machine,则可以确定pod为用于虚拟机的pod。若未存在对应的VirtualMachine,则可以认为平台创建了和虚拟机名称一致的普通容器,确定为pod为普通容器的pod。当确定为pod为普通容器的pod的情况下,本方法可以按常规容器固定IP地址的方式对pod进行处理。其中,本方法适用于多种CNI,地址存储表适用于存储于MySQL、ETCD等多种数据库。
当确定为pod为用于虚拟机的pod的情况下,本方法根据Virtual Machine对pod和虚拟机进行命名。具体的,本方法设置的命名规则为,用于虚拟机的pod的第一名称信息包含“virt-launcher-”、表征Virtual Machine的第二名称信息和与pod对应的标识后缀。其中,第一名称信息中表征Virtual Machine的第二名称信息用于进行匹配,与pod对应的标识后缀用于对创建的虚拟对象进行区分。
在获得第一名称信息之后,通过IP地址管理工具(IPAM)对第一名称信息进行提取,将与第二名称信息相同的内容确定为第一匹配信息。具体的,本方法可以通过IPAM提取与pod对应的namespace和pod name,即“virt-launcher-”和表征Virtual Machine的第二名称信息,将“virt-launcher-”和表征Virtual Machine的第二名称信息确定为第一匹配信息。通过第一匹配信息和地址存储表进行匹配,即可以确定与Virtual Machine对应的IP地址,由于Virtual Machine的IP地址固定,所以能够获得与pod对应的固定IP地址。
根据本申请一实施方式,操作103,通过第一匹配信息和地址存储表进行信息匹配,确定与虚拟对象对应的第一IP地址,包括:若与虚拟对象对应的管理对象注解有指定IP地址,根据指定IP地址和第一匹配信息确定第一IP地址。
在一种实施场景中,在平台中,需要先创建管理对象,再通过管理对象创建虚拟对象,即需要先创建Virtual Machine,再通过Virtual Machine创建pod和虚拟机。
若Virtual Machine注解有与pod和虚拟机对应的指定IP地址,则pod和虚拟机固定下来的IP地址也需要与Virtual Machine注解的指定IP地址保持一致,基于此,本方法在进行pod对应的第一匹配信息匹配的情况下,需要确定与pod对应的Virtual Machine是否注解有与pod对应的指定IP地址,若Virtual Machine注解有指定IP地址,则需要判断该指定IP地址是否可以用于作为pod的IP地址,若是,则将该指定IP地址确定为pod对应的第一IP地址,若否,则需要重新确定pod对应的第一IP地址。
具体的判断方式如下,根据指定IP地址和第一匹配信息确定第一IP地址,包括:若地址存储表中不存在指定IP地址,将指定IP地址确定为第一IP地址;若地址存储表中存在指定IP地址,判断地址存储表中是否存在与第一匹配信息相同的第二匹配信息,获得第一判断结果;根据第一判断结果确定第一IP地址。
在一种实施场景下,若地址存储表中不存在指定IP地址,即Virtual Machine注解的与pod和虚拟机对应的指定IP地址未被占用,在该情况下,可以直接将Machine注解的指定IP地址确定为与pod和虚拟机对应的第一IP地址,若地址存储表中存在指定IP地址,则需要判断该pod是否为重启的pod,获得第一判断结果;并根据第一判断结果确定第一IP地址。
具体的判断方式如下,根据第一判断结果确定第一IP地址,包括:若第一判断结果为地址存储表中存在与第一匹配信息相同的第二匹配信息,将指定IP地址确定为第一IP地址;若地址存储表中不存在,停止对虚拟对象的网络配置操作。
具体的,本方法可以判断地址存储表中是否存在与第一匹配信息相同的第二匹配信息,若地址存储表中存在指定IP地址,且存在与第一匹配信息相同的第二匹配信息,则认为该pod为Virtual Machine控制重启的pod,将指定IP地址确定为与pod和虚拟机对应的第一IP地址。若地址存储表中不存在与第一匹配信息相同的第二匹配信息,则该pod并非Virtual Machine控制的pod,进行报错处理。
根据本申请一实施方式,方法还包括:首先,若与虚拟对象对应的管理对象未注解有指定IP地址,然后,根据地址存储表查找与第一匹配信息相同的第二匹配信息;根据第二匹配信息确定对应的第一IP地址。
若Virtual Machine未注解有与pod和虚拟机对应的指定IP地址,根据上述实施例提供的方法,分配与pod对应的第一IP地址,具体的,若地址存储表中存在与第一匹配信息相同的第二匹配信息,则可以根据第二匹配信息确定对应的第一IP地址。
需要补充的是,在本申请创建Virtual Machine但不提前给Virtual Machine分配IP地址的场景中,在Virtual Machine第一次启动pod的情况下,若地址存储表中不存在于第一匹配信息相同的第二匹配信息,本方法可以随机分配与pod和Virtual Machine对应的第一IP地址。应用这种方式,可以无需在地址存储表中存储Virtual Machine name,也无需对Virtual Machine的创建进行监听,节省资源。
根据本申请一实施方式,方法还包括:在地址存储表中设置第一IP地址的状态为已占用。
可以理解的是,在给pod或Virtual Machine分配IP地址之后,本方法需要及时对地址存储表进行更新,避免后续的创建的pod或Virtual Machine分配到相同的IP地址。
为方便上述实施方式的进一步理解,以下提供两种具体实施场景进行说明。
图3示出了本申请又一实施例一种信息处理方法的实现流程示意图。
参见图3,在实施场景一中,平台创建Virtual Machine(VM),在Virtual Machine启动pod前不为Virtual Machine分配对应的IP地址。地址存储表存储于IP地址数据库。
基于此,当平台需要创建pod和虚拟机的情况下,启动Virtual Machine,并创建VMI,实现pod和虚拟机的创建。平台通过RPC调用CNI,查询创建的pod是否用于启动虚拟机,若是,则查询是否存在相关的Virtual Machine,以避免创建了和该虚拟机名称一样的普通容器。若否,则将该pod为普通pod。
若pod为普通pod,确定该pod是否存在注解,若该pod不存在注解IP地址,通过IP地址数据库随机分配IP地址,并在IP地址数据库中设置该IP地址的状态已占用,更新地址存储表,通过分配的IP地址配置pod网络。
若pod为普通pod,且该pod存在注解IP地址,通过IP地址数据库确定该注解IP地址是否冲突,若存在冲突,则进行报错,停止pod的创建。若不存在,则将注解IP地址确定为该pod的IP地址,更新地址存储表,并通过IP地址配置pod网络。
若pod存在相关的Virtual Machine,确定相关的Virtual Machine是否存在注解IP地址。若Virtual Machine未注解IP地址,确定地址存储表中是否存在与该pod对应的namespace和Virtual Machinename相同的匹配信息,若地址存储表中存在相同的匹配信息,则该pod为重启的pod,将地址存储表中与相同的匹配信息映射的IP地址确定为pod的IP地址,并根据该IP地址配置pod网络。
若地址存储表中是不存在与该pod对应的namespace和Virtual Machinename相同的匹配信息,随机分配与该pod对应的IP地址,并将该IP地址设置为已占用,更新地址存储表,根据随机分配的IP地址配置pod网络。
若Virtual Machine存在注解IP地址,确定地址存储表中是否存在注解IP地址,若地址存储表中不存在注解IP地址,设置该注解IP地址为pod对应的IP地址,并将该IP地址设置为已占用,更新地址存储表,根据IP地址配置pod网络。
若地址存储表中存在注解IP地址,确定地址存储表中是否存在与注解IP地址对应的namespace和Virtual Machinename是否与pod对应的namespace和Virtual Machinename一致,若一致,则该pod为重启的pod,将地址存储表中与相同的匹配信息映射的IP地址确定为pod的IP地址,并根据该IP地址配置pod网络。若不一致,则进行报错处理,停止pod创建。
在实施场景二中,平台创建Virtual Machine,并为Virtual Machine分配对应的IP地址。地址存储表存储于IP地址数据库。
实施场景二与实施场景一的区别在于,若pod存在相关的Virtual Machine,根据Virtual Machine的IP地址确定pod的IP地址。
图4示出了本申请实施例一种信息处理方法的实施场景示意图一。
参见图4,应用上述方法固定虚拟机的IP地址之后,当需要停止虚拟机的情况下,停止Virtual Machine,并删除虚拟机的网络配置,保留地址存储表中对应的存储信息。
如果需要对虚拟机的IP地址进行更新,可以将虚拟机关机后,更改该虚拟机的IP地址,同时,webhook或者controller监听VirtualMachine的label的更改IP操作,调用IP地址数据库的地址存储表,根据监听获得的namespace和podname和更改后的IP对地址存储表进行更新。
图5示出了本申请实施例一种信息处理方法的实施场景示意图二。
参见图5,当本方法删除VirtualMachine的情况下,通过webhook或者controller监听VirtualMachine的删除,并对地址存储表进行更新,删除与VirtualMachine对应的IP占用信息。
图6示出了本申请实施例一种信息处理装置的实现模块示意图。
参见图6,根据本申请实施例第二方面,还提供了一种信息处理装置,装置包括:创建模块601,用于创建虚拟对象;提取模块602,用于对与虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;匹配模块603,用于通过第一匹配信息和地址存储表进行信息匹配,确定与虚拟对象对应的第一IP地址;其中,地址存储表存储供第一匹配信息匹配的第二匹配信息和与第二匹配信息映射的IP地址。
根据本申请一实施方式,提取模块602,包括:确定与虚拟对象对应的管理对象;根据与管理对象对应的第二名称信息确定第一名称信息,以使第一名称信息包含第二名称信息;将第一名称信息中与第二名称信息相同的内容确定为第一匹配信息。
根据本申请一实施方式,匹配模块603,包括:若与虚拟对象对应的管理对象注解有指定IP地址,根据指定IP地址和第一匹配信息确定第一IP地址。
根据本申请一实施方式,匹配模块603,包括:若地址存储表中不存在指定IP地址,将指定IP地址确定为第一IP地址;若地址存储表中存在指定IP地址,判断地址存储表中是否存在与第一匹配信息相同的第二匹配信息,获得第一判断结果;根据第一判断结果确定第一IP地址。
根据本申请一实施方式,匹配模块603,包括:若第一判断结果为地址存储表中存在与第一匹配信息相同的第二匹配信息,将指定IP地址确定为第一IP地址;若地址存储表中不存在,停止对虚拟对象的网络配置操作。
根据本申请一实施方式,装置还包括:查找模块604,用于若与虚拟对象对应的管理对象未注解有指定IP地址,根据地址存储表查找与第一匹配信息相同的第二匹配信息;确定模块605,还用于根据第二匹配信息确定对应的第一IP地址。
根据本申请一实施方式,装置还包括:提取模块602,用于若虚拟对象通过管理对象启动,对与虚拟对象对应的第一名称信息进行提取。
根据本申请一实施方式,装置还包括:设置模块606,用于在地址存储表中设置第一IP地址的状态为已占用。
根据本申请一实施方式,装置还包括:创建模块601,用于创建管理对象;确定模块605,还用于根据管理对象确定第二名称信息和对应的第二IP地址;存储模块607,用于将第二名称信息和第二IP地址存储于地址存储表。
这里需要指出的是:以上对针对一种信息处理装置实施例的描述,与前述图1至6所示的方法实施例的描述是类似的,具有同前述图1至6所示的方法实施例相似的有益效果,因此不做赘述。对于本申请一种信息处理装置实施例中未披露的技术细节,请参照本申请前述图1至6所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图7示出了可以用来实施本申请的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如一种信息处理方法。例如,在一些实施例中,一种信息处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的一种信息处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种信息处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种信息处理方法,所述方法包括:
创建虚拟对象;
对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;
通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址;
其中,所述地址存储表存储供第一匹配信息匹配的第二匹配信息和与所述第二匹配信息映射的IP地址。
2.根据权利要求1所述的方法,所述对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息,包括:
确定与所述虚拟对象对应的管理对象;
根据与所述管理对象对应的第二名称信息确定所述第一名称信息,以使所述第一名称信息包含所述第二名称信息;
将所述第一名称信息中与所述第二名称信息相同的内容确定为第一匹配信息。
3.根据权利要求1所述的方法,所述通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址,包括:
若与所述虚拟对象对应的管理对象注解有指定IP地址,根据所述指定IP地址和第一匹配信息确定第一IP地址。
4.根据权利要求3所述的方法,所述根据所述指定IP地址和第一匹配信息确定第一IP地址,包括:
若所述地址存储表中不存在所述指定IP地址,将所述指定IP地址确定为所述第一IP地址;
若所述地址存储表中存在所述指定IP地址,判断所述地址存储表中是否存在与所述第一匹配信息相同的第二匹配信息,获得第一判断结果;
根据所述第一判断结果确定所述第一IP地址。
5.根据权利要求4所述的方法,所述根据所述第一判断结果确定所述第一IP地址,包括:
若所述第一判断结果为所述地址存储表中存在与所述第一匹配信息相同的第二匹配信息,将所述指定IP地址确定为第一IP地址;
若所述地址存储表中不存在,停止对所述虚拟对象的网络配置操作。
6.根据权利要求3所述的方法,所述方法还包括:
若与所述虚拟对象对应的管理对象未注解有指定IP地址,根据所述地址存储表查找与所述第一匹配信息相同的第二匹配信息;
根据所述第二匹配信息确定对应的第一IP地址。
7.根据权利要求1所述的方法,在对与所述虚拟对象对应的第一名称信息进行提取之前,所述方法还包括:
若所述虚拟对象通过管理对象启动,对与所述虚拟对象对应的第一名称信息进行提取。
8.根据权利要求1所述的方法,所述方法还包括:
在所述地址存储表中设置所述第一IP地址的状态为已占用。
9.根据权利要求1所述的方法,在创建虚拟对象之前,所述方法还包括:
创建管理对象;
根据所述管理对象确定第二名称信息和对应的第二IP地址;
将所述第二名称信息和所述第二IP地址存储于所述地址存储表。
10.一种信息处理装置,所述装置包括:
创建模块,用于创建虚拟对象;
提取模块,用于对与所述虚拟对象对应的第一名称信息进行提取,确定第一匹配信息;
匹配模块,用于通过所述第一匹配信息和地址存储表进行信息匹配,确定与所述虚拟对象对应的第一IP地址;
其中,所述地址存储表存储供第一匹配信息匹配的第二匹配信息和与所述第二匹配信息映射的IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210173766.4A CN114640652B (zh) | 2022-02-24 | 2022-02-24 | 一种信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210173766.4A CN114640652B (zh) | 2022-02-24 | 2022-02-24 | 一种信息处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640652A true CN114640652A (zh) | 2022-06-17 |
CN114640652B CN114640652B (zh) | 2023-09-19 |
Family
ID=81948342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210173766.4A Active CN114640652B (zh) | 2022-02-24 | 2022-02-24 | 一种信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640652B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150127830A1 (en) * | 2013-11-07 | 2015-05-07 | International Business Machines Corporation | Management of addresses in virtual machines |
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
CN110908770A (zh) * | 2019-11-05 | 2020-03-24 | 安超云软件有限公司 | 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台 |
CN111124604A (zh) * | 2019-12-05 | 2020-05-08 | 北京金山云网络技术有限公司 | 分配容器组pod IP地址的方法、装置、设备及存储介质 |
CN111404753A (zh) * | 2020-03-23 | 2020-07-10 | 星环信息科技(上海)有限公司 | 一种扁平网络配置方法、计算机设备及存储介质 |
CN113037522A (zh) * | 2019-12-24 | 2021-06-25 | 华为数字技术(苏州)有限公司 | 一种容器单元管理方法及相关设备 |
-
2022
- 2022-02-24 CN CN202210173766.4A patent/CN114640652B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150127830A1 (en) * | 2013-11-07 | 2015-05-07 | International Business Machines Corporation | Management of addresses in virtual machines |
CN107580083A (zh) * | 2017-09-20 | 2018-01-12 | 北京京东尚科信息技术有限公司 | 一种容器ip地址分配的方法和系统 |
CN110908770A (zh) * | 2019-11-05 | 2020-03-24 | 安超云软件有限公司 | 虚拟机的运行及创建方法、虚拟机及虚拟机化管理平台 |
CN111124604A (zh) * | 2019-12-05 | 2020-05-08 | 北京金山云网络技术有限公司 | 分配容器组pod IP地址的方法、装置、设备及存储介质 |
CN113037522A (zh) * | 2019-12-24 | 2021-06-25 | 华为数字技术(苏州)有限公司 | 一种容器单元管理方法及相关设备 |
CN111404753A (zh) * | 2020-03-23 | 2020-07-10 | 星环信息科技(上海)有限公司 | 一种扁平网络配置方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114640652B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
CN110555150B (zh) | 一种数据监控方法、装置、设备和存储介质 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN114090113A (zh) | 数据源处理插件动态加载的方法、装置、设备及存储介质 | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
CN110233842B (zh) | 一种请求的校验方法和相关装置 | |
CN109582487B (zh) | 用于发送信息的方法和装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN114640652B (zh) | 一种信息处理方法及装置 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN115757179A (zh) | 测试环境管理方法、装置、设备及存储介质 | |
CN111324374B (zh) | 基于应用性能管理系统的应用程序的注册方法和装置 | |
CN113220282B (zh) | 小程序的开发处理方法、设备和存储介质 | |
CN114650251B (zh) | 路由表构建方法、装置、设备和介质 | |
CN113220576B (zh) | 测试环境的管理方法、装置、设备以及存储介质 | |
CN114996243A (zh) | 数据库操作方法、装置、电子设备及存储介质 | |
CN117762694A (zh) | 一种数据备份方法、装置、电子设备及存储介质 | |
CN117112002A (zh) | 一种驱动升级方法、装置、电子设备和存储介质 | |
CN115277568A (zh) | 一种数据发送方法、装置、设备及存储介质 | |
CN117453255A (zh) | 嵌入式设备升级方法、装置、设备及存储介质 | |
CN117931731A (zh) | 一种数据管理方法、平台、电子设备及存储介质 | |
CN115827588A (zh) | 一种业务全局流水号的生成方法、装置、设备和存储介质 | |
CN115167847A (zh) | 应用日志采集方法、装置、设备及存储介质 | |
CN114296936A (zh) | 基于Kubernetes集群的节点调度方法及装置、电子设备及介质 | |
CN115391046A (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 |