CN111736944A - 基于Kubernetes的Docker容器定位方法及装置 - Google Patents

基于Kubernetes的Docker容器定位方法及装置 Download PDF

Info

Publication number
CN111736944A
CN111736944A CN201910229069.4A CN201910229069A CN111736944A CN 111736944 A CN111736944 A CN 111736944A CN 201910229069 A CN201910229069 A CN 201910229069A CN 111736944 A CN111736944 A CN 111736944A
Authority
CN
China
Prior art keywords
pod
address
configuration file
docker container
docker
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
CN201910229069.4A
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201910229069.4A priority Critical patent/CN111736944A/zh
Publication of CN111736944A publication Critical patent/CN111736944A/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

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

本发明提供了一种基于Kubernetes的Docker容器定位方法及装置,该Docker容器包含在Kubernetes的POD中,上述方法包括:定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;根据POD IP地址列表生成POD IP地址配置文件;加载POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;基于POD的IP地址定位目标Docker。基于本发明实施例提供的方案能够生成POD IP地址配置文件,为后续业务方的调取使用提供便利,大大提升了容器的利用效率。

Description

基于Kubernetes的Docker容器定位方法及装置
技术领域
本发明涉及云计算技术,特别是涉及基于Kubernetes的Docker容器定位方法及装置。
背景技术
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理,利用Kubernetes能够方便地管理跨机器运行容器化的应用。
现在的云服务中,Kubernetes越来越多的应用到业务中,从而大大提升了容器的利用效率,而Kubernetes里有个POD概念,Pod是Kubernetes的基本操作单元,POD里面可以有相关的一个或多个容器,通常Pod里的容器运行相同的应用。但是在Kubernetes集群中,由于POD里面走的是路由的规则,它是一个动态的组件,因此POD的IP地址是不固定的,不断发生变化的,而有时候业务方需要得到这组动态变化的POD IP地址,例如,假设想对POD里面的容器进行监控、预警等,就很难固定到某一个具体的容器IP,这样一来,就无法监控。
发明内容
本发明提供了一种基于Kubernetes的Docker容器定位方法及装置以克服上述问题或者至少部分地解决上述问题。
根据本发明的一个方面,提供了一种基于Kubernetes的Docker容器定位方法,所述Docker容器包含在Kubernetes的POD中,所述方法包括:
定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
根据所述POD IP地址列表生成POD IP地址配置文件;
加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
基于所述POD的IP地址定位所述目标Docker。
可选的,所述根据所述POD IP地址列表生成POD IP地址配置文件包括:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
可选的,所述定时请求Kubernetes集群里的多个POD的IP地址包括:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
可选的,所述加载所述POD IP地址配置文件获取目标Docker容器所在POD的IP地址包括:
直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
可选的,上述述方法进一步包括:
监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
根据本发明的另一个方面,还提供了一种基于Kubernetes的Docker容器定位装置,所述Docker容器包含在Kubernetes的POD中,所述装置包括:
列表生成模块,适于定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
配置文件生成模块,适于根据所述POD IP地址列表生成POD IP地址配置文件;
获取模块,适于加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
定位模块,适于基于所述POD的IP地址定位所述目标Docker。
可选的,所述配置文件生成模块还适于:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
可选的,所述列表生成模块还适于:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
可选的,所述获取模块还适于:
直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
可选的,上述装置进一步包括:
监控模块,适于监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
根据本发明的另一个方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上述之任一所述的Docker容器定位方法。
根据本发明的另一个方面,还提供了一种计算设备,包括:
处理器;
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算机设备执行上述之任一所述的Docker容器定位方法。
本发明实施例提供了一种基于Kubernetes的Docker容器定位的方案,通过定时请求Kubernetes集群里的多个POD的IP地址,可以生成POD IP地址列表,进而可以根据该PODIP地址列表生成POD IP地址配置文件。进一步地,通过加载该POD IP地址配置文件,可以获取目标Docker容器所在POD的IP地址,进而能够基于所获取到的POD的IP地址定位目标Docker。本发明实施例通过加载配置文件就可以方便的获取到Kubernetes里的动态的PODIP地址列表,进而可以获取到目标Docker容器所在POD的IP地址,从而对目标Docker容器进行定位。基于本发明实施例提供的方案能够生成POD IP地址配置文件,为后续业务方的调取使用提供便利,大大提升了容器的利用效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一实施例的基于Kubernetes的Docker容器定位方法流程示意图;
图2是根据本发明一优选实施例的基于Kubernetes的Docker容器定位方法流程示意图;
图3是根据本发明一实施例的基于Kubernetes的Docker容器定位装置结构示意图;
图4是根据本发明一优选实施例的基于Kubernetes的Docker容器定位装置结构示意图
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要说明的是,本发明实施例及优选实施例中的特征在不冲突的前提下可以相互结合。
本发明实施例提供了一种基于Kubernetes的Docker容器定位方法,其中,Docker容器包含在Kubernetes的POD中,如图1所示,根据本发明一实施例提供的基于Kubernetes的Docker容器定位方法可以包括:
步骤S102,定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
步骤S104,根据POD IP地址列表生成POD IP地址配置文件;
步骤S106,加载POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
步骤S108,基于POD的IP地址定位目标Docker。
本发明实施例提供了一种基于Kubernetes的Docker容器定位的方案,通过定时请求Kubernetes集群里的多个POD的IP地址,可以生成POD IP地址列表,进而可以根据该PODIP地址列表生成POD IP地址配置文件。进一步地,通过加载该POD IP地址配置文件,可以获取目标Docker容器所在POD的IP地址,进而能够基于所获取到的POD的IP地址定位目标Docker。本发明实施例通过加载配置文件就可以方便的获取到Kubernetes里的动态的PODIP地址列表,进而可以获取到目标Docker容器所在POD的IP地址,从而对目标Docker容器进行定位。一般情况下,在Kubernetes集群中,POD IP地址不固定,通常是动态的、不断变化的,相对而言动态的IP是很难获取到的,基于本发明实施例提供的方案能够生成POD IP地址配置文件,为后续业务方的调取使用提供便利,大大提升了容器的利用效率。
Kubernetes作为容器的编排引擎,其可以对容器进行编排,因为Kubertenes集群中可以包含多个Docker容器,假设有10个Docker容器,其中有的Docker容器里面装的是MySQL,而有些Docker容器里面则装的是PAP(密码认证协议,Password AuthenticationProtocol),还有一些Docker容器里装的是我的程序,如守卫、短信拦截等等,如果现在要启动短信拦截,首先依赖于MySQL,再依赖于PAP,然后才能启动我的程序,即短信拦截,而在虚拟机上就需要首先安装好MySQL、PAP和我的程序,这样占用了较多资源,而且此时资源也不是隔离的,都存在于一台机器上,这时,如果我们建立起3个独立的Docker容器,进而利用Kubernetes对它们做一个编排,尤其是针对很多个容器可以做到很灵活的编排,比如可以对100个容器随便的进行编排。
本发明实施例中获取POD的IP地址可以给业务使用,比如业务里面如果想要操作某些Docker容器里面的东西时,假设现在有个业务想要调某一个POD里面的某一个容器,首先得要知道这个容器对应的IP地址,而要获取容器的IP地址,则必须要先获取POD IP地址,然后还要获取虚拟机的IP地址,这样才能实现最终的定位。由于POD IP地址是实时变化的,相对而言动态的POD IP很难获取,操作起来很繁琐,但是如果有个实时的动态POD IP地址列表,这样不管POD IP怎么变,只要将最新的POD IP列表更新过来,POD IP地址就可以确定,POD下面的容器的IP也就能够确定了,进而可以很方便的定位到具体的一个容器,对其进行操作。应用到监控业务中,如想要监控Kubernetes里某一组POD里面的Docker容器的时候,如果不知道POD IP地址,就定位不到某个容器里面的具体的东西,这样一来就没法监控了。由于不能确定POD IP地址,也就无法找到与之对应的某一个Docker容器,使得容器的利用率不高。因此,在Kubernetes框架里,必须要获取POD IP地址,才能实现对POD里面的某一个容器的监控。
另外,相关的一个或多个容器可以构成一个POD,它里面包含的容器可以进行调整和/或重新划分,例如,原来POD里面有2个Docker容器,可以将其调整为4个或8个,具体根据实际情况设定容器数量和划分。
在本发明一可选实施例中,上文步骤S104根据POD IP地址列表生成POD IP地址配置文件时可以包括:根据新生成的POD IP地址列表更新POD IP地址配置文件。基于本发明实施例提供的方案能够对POD IP地址配置文件进行更新,使得业务方可以获取到需要的实时POD IP地址,便于后续Docker容器的定位,提高了Kubernetes集群中容器的定位效率。
POD IP地址是定时获取的,进而POD IP地址列表也是定时生成,由于POD IP不固定,它是会发生变化的,重启POD、路由和网络等都会影响POD的IP地址。下面以重启POD为例进行说明,假设某个时间点重启POD了,重启后的POD,其IP地址可能就会发生变化,此时,这个时间点之前的POD IP地址和该时间点之后的POD IP地址是不同的,在这个时间点前后生成的POD IP地址列表也是不同的,在这种情况下,优选地,在步骤S104在根据POD IP地址列表生成POD IP地址配置文件时,还可以将新生成的POD IP地址列表与已有的POD IP地址列表进行比对分析,如果新生成的POD IP地址列表与已有的POD IP地址列表不同,则根据新生成的POD IP地址列表更新POD IP地址配置文件,反之,则不对POD IP地址配置文件做更新处理。由此,本发明实施例仅在生成了区别于已有的POD IP地址列表时,才会对POD IP地址配置文件进行更新,简化了进行Docker容器定位的过程,进一步提高了Kubernetes集群中容器的定位效率。
上文步骤S102中提及,定时请求Kubernetes集群里的多个POD的IP地址,本发明提供一种可选的方案,在该方案中,通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。PYTHON是一种计算机程序设计语言,是一种动态的、面向对象的脚本语言,它可以部署在不同的平台上。基于本发明实施例的方案,可以定时请求Kubernetes集群里的一个节点上的多个POD的IP地址,进而能够获得最新的多个POD的IP地址。其中,PYTHON程序可以设置成常驻进程以确保请求定时的发送,满足了POD IP地址获取的实时性要求,为后续生成最新的POD IP地址列表和最新的POD IP地址配置文件提供支持。实际应用中,为了更高地满足实时性的要求,可以将定时请求的时间设置的短一些,比如设置几秒秒请求一次或20几秒请求一次等等,其可以根据具体的应用场景进行设置,本发明对此不作具体限定。
对于步骤S106加载POD IPD地址配置文件,获取目标Docker容器所在的POD的IP地址,可以有多种可选的实施方式,本发明提供了两种优选的实施方式,在本发明一个优选实施例中,可以直接读取POD IP地址配置文件以获取POD的IP地址。在该实施例中,POD IP地址配置文件中包含有POD的多个IP地址,在用户想要获取POD IP地址时,直接加载该配置文件就可以方便地获取POD IP地址,大大提高了利用效率。在本发明另一优选实施例中,可以调用Kubernetes提供的API,并经由API获取POD IP地址配置文件以获取POD的IP地址。基于本实例的方案,可以将POD IP地址配置文件包成API形式提供,通过API接口获取POD IP地址,使得POD IP地址的获取更加方便、快捷,进一步提高容器的利用效率。
进一步地,步骤S108基于POD IP地址定位目标Docker,在知道了POD IP地址后,可以采用多种方式进行目标Docker进行定位,优选地,可以获取Docker的ID或名字,进而根据Docker ID或Docker名字就可以定位目标Docker。
在本发明一个优选实施例中,上述基于Kubernetes的Docker容器定位方法还可以包括:监控目标Docker的性能参数,本发明实施例可以对容器的性能指标进行监控,在出故障时,能够及时获取容器内的数据。其中,性能参数包括CPU、内存容量、Disk等。此外,还可以监控业务的程序进程以及端口,获取更全面的监控数据,本发明对此不做具体限定。
上文的所谓的出故障指的是整个机器Docker部分或全部荡掉了,或者参数出问题了等,包括一切能够影响Docker正常运行的其他因素,本发明对此不作限定。
图2是根据本发明一实施例的基于Kubernetes的Docker容器定位方法流程图,如图2所示,基于Kubernetes的Docker容器定位方法可以包括:通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址,生成最新的POD IP地址列表;根据新生成的POD IP地址列表更新POD IP地址配置文件。该优选实施例中,首先通过部署在云端的PYTHON程序定时发送获取Kubernetes集群里的多个POD的IP地址请求,进而根据该请求生成最新的POD IP地址列表,并返回至部署在云端的PYTHON程序,进一步地,根据部署在云端的PYTHON程序接收到的新的POD IP地址列表更新POD IP地址配置文件。基于本优选实施例的方案可以定期的得到POD的最新的IP列表,并且存储成最新的文件到一个固定的目录下,供业务方可以随时使用。
优选的,POD IP地址列表可以通过直接调取Kubernetes API获取到。
基于同一发明构思,本发明实施例还提供了一种基于Kubernetes的Docker容器定位装置,其中Docker容器包含在Kubernetes的POD中。如图3所示,根据本发明一实施例的基于Kubernetes的Docker容器的定位装置至少可以包括:
列表生成模块302,适于定时请求Kubernetes集群里的多个POD的IP地址,生成PODIP地址列表;
配置文件生成模块304,适于根据所述POD IP地址列表生成POD IP地址配置文件;
获取模块306,适于加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
定位模块308,适于基于所述POD的IP地址定位所述目标Docker。
在本发明一个可选实施例中,上述配置文件生成模块304还适于根据新生成的PODIP地址列表更新所述POD IP地址配置文件。
在本发明一个可选实施例中,上述列表生成模块302还适于通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
在本发明一个可选实施例中,上述获取模块306还适于直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
在本发明一个可选实施例中,如图4所示,上述基于Kubernetes的Docker容器的定位装置,进一步可以包括:
监控模块310,适于监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
基于同一发明构思,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行上述任一实施例所述的Docker容器定位方法。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
处理器;
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算机设备执行上述任一实施例所述的Docker容器定位方法。
本发明实施例提供了一种基于Kubernetes的Docker容器定位的方案,通过定时请求Kubernetes集群里的多个POD的IP地址,可以生成POD IP地址列表,进而可以根据该PODIP地址列表生成POD IP地址配置文件。进一步地,通过加载该POD IP地址配置文件,可以获取目标Docker容器所在POD的IP地址,进而能够基于所获取到的POD的IP地址定位目标Docker。本发明实施例通过加载配置文件就可以方便的获取到Kubernetes里的动态的PODIP地址列表,进而可以获取到目标Docker容器所在POD的IP地址,从而对目标Docker容器进行定位。基于本发明实施例提供的方案能够生成POD IP地址配置文件,为后续业务方的调取使用提供便利,大大提升了容器的利用效率。另外,将配置文件包成API格式提供,通过调用API就可以方便的获取到Kubnetes里动态的POD IP地址列表,可以大大提高容器的利用效率。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
依据本发明的一个方面,提供了A1.一种基于Kubernetes的Docker容器定位方法,所述Docker容器包含在Kubernetes的POD中,所述方法包括:
定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
根据所述POD IP地址列表生成POD IP地址配置文件;
加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
基于所述POD的IP地址定位所述目标Docker。
A2.根据A1所述的Docker容器定位方法,其中,所述根据所述POD IP地址列表生成POD IP地址配置文件包括:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
A3.根据A1所述的Docker容器定位方法,其中,所述定时请求Kubernetes集群里的多个POD的IP地址包括:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
A4.根据A1所述的Docker容器定位方法,其中,所述加载所述POD IP地址配置文件获取目标Docker容器所在POD的IP地址包括:
直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
A5.根据A1-A4之任一所述的Docker容器定位方法,所述方法进一步包括:
监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
依据本发明的一个方面,还提供了B6.一种基于Kubernetes的Docker容器定位装置,所述Docker容器包含在Kubernetes的POD中,所述装置包括:
列表生成模块,适于定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
配置文件生成模块,适于根据所述POD IP地址列表生成POD IP地址配置文件;
获取模块,适于加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
定位模块,适于基于所述POD的IP地址定位所述目标Docker。
B7.根据B6所述的Docker容器定位装置,其中,所述根据所述配置文件生成模块还适于:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
B8.根据B6所述的Docker容器定位装置,其中,所述列表生成模块还适于:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
B9.根据B6所述的Docker容器定位装置,其中,所述获取模块还适于:
直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
B10.根据B6-B8之任一所述的Docker容器定位装置,所述装置进一步包括:
监控模块,适于监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
依据本发明的一个方面,还提供了C11、一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行A1-A5任一项所述的Docker容器定位方法。
依据本发明的一个方面,还提供了D12、一种计算设备,包括:
处理器;
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算机设备执行A1-A5任一项所述的Docker容器定位方法。

Claims (10)

1.一种基于Kubernetes的Docker容器定位方法,所述Docker容器包含在Kubernetes的POD中,所述方法包括:
定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
根据所述POD IP地址列表生成POD IP地址配置文件;
加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
基于所述POD的IP地址定位所述目标Docker。
2.根据权利要求1所述的Docker容器定位方法,其中,所述根据所述POD IP地址列表生成POD IP地址配置文件包括:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
3.根据权利要求1所述的Docker容器定位方法,其中,所述定时请求Kubernetes集群里的多个POD的IP地址包括:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
4.根据权利要求1所述的Docker容器定位方法,其中,所述加载所述POD IP地址配置文件获取目标Docker容器所在POD的IP地址包括:
直接读取所述POD IP地址配置文件以获取POD的IP地址;或
调用Kubernetes提供的API,经由API获取所述POD IP地址配置文件以获取POD的IP地址。
5.根据权利要求1-4之任一所述的Docker容器定位方法,所述方法进一步包括:
监控所述目标Docker的性能参数,所述性能参数包括CPU、内存容量、disk。
6.一种基于Kubernetes的Docker容器定位装置,所述Docker容器包含在Kubernetes的POD中,所述装置包括:
列表生成模块,适于定时请求Kubernetes集群里的多个POD的IP地址,生成POD IP地址列表;
配置文件生成模块,适于根据所述POD IP地址列表生成POD IP地址配置文件;
获取模块,适于加载所述POD IP地址配置文件,获取目标Docker容器所在POD的IP地址;
定位模块,适于基于所述POD的IP地址定位所述目标Docker。
7.根据权利要求6所述的Docker容器定位装置,其中,所述根据所述配置文件生成模块还适于:
根据新生成的POD IP地址列表更新所述POD IP地址配置文件。
8.根据权利要求6所述的Docker容器定位装置,其中,所述列表生成模块还适于:
通过部署在云端的PYTHON程序定时请求Kubernetes集群里的多个POD的IP地址。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算设备上运行时,导致所述计算设备执行权利要求1-5任一项所述的Docker容器定位方法。
10.一种计算设备,包括:
处理器;
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述计算机设备执行权利要求1-5任一项所述的Docker容器定位方法。
CN201910229069.4A 2019-03-25 2019-03-25 基于Kubernetes的Docker容器定位方法及装置 Pending CN111736944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910229069.4A CN111736944A (zh) 2019-03-25 2019-03-25 基于Kubernetes的Docker容器定位方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910229069.4A CN111736944A (zh) 2019-03-25 2019-03-25 基于Kubernetes的Docker容器定位方法及装置

Publications (1)

Publication Number Publication Date
CN111736944A true CN111736944A (zh) 2020-10-02

Family

ID=72646189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910229069.4A Pending CN111736944A (zh) 2019-03-25 2019-03-25 基于Kubernetes的Docker容器定位方法及装置

Country Status (1)

Country Link
CN (1) CN111736944A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181606A (zh) * 2020-11-04 2021-01-05 石化盈科信息技术有限责任公司 一种容器配置更新方法、装置、系统、存储介质及电子设备
CN115473766A (zh) * 2022-08-22 2022-12-13 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统
CN112181606B (zh) * 2020-11-04 2024-05-24 石化盈科信息技术有限责任公司 一种容器配置更新方法、装置、系统、存储介质及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181606A (zh) * 2020-11-04 2021-01-05 石化盈科信息技术有限责任公司 一种容器配置更新方法、装置、系统、存储介质及电子设备
CN112181606B (zh) * 2020-11-04 2024-05-24 石化盈科信息技术有限责任公司 一种容器配置更新方法、装置、系统、存储介质及电子设备
CN115473766A (zh) * 2022-08-22 2022-12-13 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统
CN115473766B (zh) * 2022-08-22 2024-01-26 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统

Similar Documents

Publication Publication Date Title
CN106982236B (zh) 一种信息处理方法、装置和系统
CN107105061B (zh) 一种服务注册方法及装置
CN111431740B (zh) 数据的传输方法、装置、设备及计算机可读存储介质
US20160373405A1 (en) Managing dynamic ip address assignments
CN111970315A (zh) 推送消息的方法、装置及系统
US20100235509A1 (en) Method, Equipment and System for Resource Acquisition
CN104717314B (zh) 一种ip管理方法及系统、客户端、服务器
US9847903B2 (en) Method and apparatus for configuring a communication system
CN111124589B (zh) 一种服务发现系统、方法、装置及设备
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
JP2021511702A (ja) アプリケーションプログラミングインタフェースapi要求を伝送するための方法及び装置
CN108243079A (zh) 一种基于vpc进行网络访问的方法与设备
CN110968356A (zh) 配置信息获取的方法和装置
KR20190076836A (ko) 분산 캐싱 시스템 및 방법
CN112597039A (zh) 虚拟机访问方法、系统、设备及计算机可读存储介质
CN108228272B (zh) Web容器生成处理方法、设备以及服务器
CN111736944A (zh) 基于Kubernetes的Docker容器定位方法及装置
CN108124021B (zh) 网际协议ip地址获取、网站访问的方法、装置及系统
JP5544521B2 (ja) 状態管理方法、処理装置、および状態管理プログラム
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN107547382B (zh) 一种邻居关系发现方法和装置
JP6233846B2 (ja) 可変長ノンスの生成
CN113364839A (zh) 服务调用方法、服务调用装置及zookeeper集群
CN109451093B (zh) 一种环回口地址分配方法及装置
CN113238836A (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