CN108737584A - 容器服务的访问方法、网络地址的解析方法、装置和系统 - Google Patents

容器服务的访问方法、网络地址的解析方法、装置和系统 Download PDF

Info

Publication number
CN108737584A
CN108737584A CN201710257185.8A CN201710257185A CN108737584A CN 108737584 A CN108737584 A CN 108737584A CN 201710257185 A CN201710257185 A CN 201710257185A CN 108737584 A CN108737584 A CN 108737584A
Authority
CN
China
Prior art keywords
domain name
container service
container
port
address
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
CN201710257185.8A
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.)
China Mobile Communications Group Co Ltd
China Mobile Group Shanxi Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Shanxi 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 China Mobile Communications Group Co Ltd, China Mobile Group Shanxi Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201710257185.8A priority Critical patent/CN108737584A/zh
Publication of CN108737584A publication Critical patent/CN108737584A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种容器服务的访问方法、网络地址的解析方法、装置和系统。该容器服务的访问方法包括:获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录;向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口;依据容器服务端口发送容器服务访问请求至容器。根据本发明实施例提供的容器服务的访问方法,实现了容器对外服务端口的标准化,大大提高了容器服务的易用性。

Description

容器服务的访问方法、网络地址的解析方法、装置和系统
技术领域
本发明涉及云计算领域,尤其涉及容器服务的访问方法、网络地址的解析方法、装置和系统。
背景技术
目前,应用容器对外提供网络服务时,通常是通过将容器端口暴露给宿主机后,容 器守护进程在主机的网络防火墙iptables表的网络地址转换NAT链中,通过端口映射将容 器端口映射为宿主机的非标准服务端口,进而通过宿主机的非标准服务端口提供对外容器 服务的。
一般网络协议的服务,例如超文本传输协议(HyperText Transfer Protocol,http)和简单邮件传输协议(Simple Mail Transfer Protocol,smtp)等都有默认的标准端口。因此外部用户如果要访问容器服务,需要在服务访问协议中指定宿主机映射的非标准端口。
如果指定的宿主机的非标准端口与容器服务对应的非标准端口相同,则宿主机的非标准端口将无法提供服务;如果一个宿主机上的多个容器同时对外提供同一网络的不同内容的服务,则需要在访问协议中添加与上述不同内容的服务对应的非标准端口,才能正确的访问相关服务。因此,目前的容器服务访问方法不利于容器对外提供服务的标准化,容器服务访问的可用性和易用性较差。
发明内容
本发明实施例提供容器服务的访问方法、网络地址的解析方法、装置和系统,可以提高容器服务的易用性。
根据本发明实施例的一方面,提供一种容器服务的访问方法,包括:获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录;向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口;依据容器服务端口发送容器服务访问请求至容器。
根据本发明实施例的另一方面,提供一种网络地址的解析方法,包括:从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址;接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
根据本发明实施例的再一方面,提供一种容器服务的访问装置,包括:反向解析记录添加模块,用于获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录;网络信息发送模块,用于向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;域名匹配模块,用于接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口;反向解析模块,用于依据容器服务端口发送容器服务访问请求至容器。
根据本发明实施例的又一方面,提供一种网络地址的解析装置,包括:网络记录添加模块,用于从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址;地址解析模块,用于接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
根据本发明实施例的还一方面,提供一种容器服务的访问系统,包括:存储器、处理器、通信接口和总线;存储器、处理器和通信接口通过总线连接并完成相互间的通信;存储器用于存储程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行一种容器服务的访问方法,其中,容器服务的访问方法包括:获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录;向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口;依据容器服务端口发送容器服务访问请求至容器。
根据本发明实施例的再另一方面,提供一种网络地址的解析系统,包括:存储器、处理器、通信接口和总线;存储器、处理器和通信接口通过总线连接并完成相互间的通信;存储器用于存储程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行一种网络地址的解析方法,其中,网络地址的解析方法包括:从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址;接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
根据本发明实施例中的容器服务的访问方法、网络地址的解析方法、装置和系统,可以通过域名来访问容器提供的服务,实现了容器对外服务端口的标准化,用户无需记忆容器的非标准端口信息,大大提高了容器服务的易用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本发明一实施例的容器服务的访问方法的流程图;
图2是示出根据本发明一些示例性实施例的容器服务的访问方法的详细的流程图;
图3是示出根据本发明一实施例的网络地址的解析方法的流程图;
图4是示出根据本发明一实施例提供的容器服务的访问装置的结构示意图;
图5是示出根据本发明一些示例性实施例的容器服务的访问装置的详细的结构示意图;
图6是示出根据本发明实施例的网络地址的解析装置的结构示意图;
图7是示出根据本发明一些示例性实施例的容器服务的访问装置和网络地址的解析装置的结构示意图;
图8是示出了能够实现根据本发明实施例的容器服务的访问方法和装置的容器服务的访问系统的示例性硬件架构的结构图;
图9是示出了能够实现根据本发明实施例的网络地址的解析方法和装置的网络地址的解析系统的示例性硬件架构的结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了更好的理解本发明,下面将结合附图,以Docker容器作为示例,详细描述根据本发明实施例的容器服务的访问方法、网络地址的解析方法、装置和系统。应注意,这些实施例并不是用来限制本发明公开的范围。
图1是示出根据本发明实施例的容器服务的访问方法的流程图。如图1所示,本实施例中的容器服务的访问方法100包括以下步骤:
步骤S110,获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录。
步骤S120,向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息。
步骤S130,接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口。
步骤S140,依据容器服务端口发送容器服务访问请求至容器。
根据本发明实施例的容器服务的访问方法,根据用户端发送的包括目标域名的容器服务访问请求,查找反向解析记录中包括目标域名的记录信息,确定要访问的容器的端口,有利于容器对外服务端口的标准化。
图2是示出了根据本公开一些示例性实施例的容器服务的访问方法的更详细的流程图,图2与图1相同或等同的步骤使用相同的标号。
步骤S110,获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录。
在一些实施例中,宿主机上运行一个或一个以上的容器,容器对外提供服务,每个容器将各自对外服务的端口暴露给宿主机。
在此步骤中,宿主机监控Docker容器的启动,若有Docker容器启动,对外暴露服务端口信息,宿主机获取容器暴露的容器服务端口,并添加一条包括容器服务端口和指定域名的反向解析记录。
在一些实施例中,步骤S110中添加反向解析记录的步骤可以进一步包括:
步骤S111,获取端口映射信息。
在一些实施例中,端口映射信息包括容器的容器标志号、容器的容器服务端口、与容器服务端口对应的宿主机映射端口和宿主机IP地址。
在一些实施例中,Docker守护进程在具有Linux内核的防火墙工具Iptables的NAT 链中添加记录信息实现宿主机端口与容器端口的映射。具体地,Iptables可以用于设置、维 护和检查Linux内核的IP包过滤规则。Iptables可以定义不同的表,每个表都包含几个内部 的链,每个链都是一个规则列表,规则列表中的每条规则指定应当如何处理与之相匹配的 包。
Iptables的NAT(Network Address Translation,网络地址转换)链,是一种把内 部私有网络地址例如IP地址翻译成外部网络IP地址的技术。网络地址端口转换是NAT的一 种类型,可以把内部地址映射到外部网络的一个IP地址的不同端口上。也就是说,网络地址 端口转换将内部连接映射到外部网络的一个IP地址上,同时在在IP地址上加上一个由NAT 设备选定的端口号。
在该步骤中,从Iptables的NAT链中获取宿主机和容器的端口映射信息。在一些实 施例中,宿主机映射端口可以是随机产生的端口。
步骤S112,添加与容器服务端口对应的网络协议或网络协议端口、指定域名、端口映射信息到反向解析记录。
在一个示例中,反向解析记录的格式可以是:
协议(端口信息)|*.域名|宿主机ip地址+端口|容器id+端口号。
作为示例,反向解析记录的格式可以是:http|*.domain1.com|宿主机ip+端口(例如32778)|容器id+容器端口(例如80)。
作为示例,反向解析记录的格式可以是:http|*.domain2.com|宿主机ip+端口(例如32779)|容器id+容器端口(例如80)。
作为示例,反向解析记录的格式可以是:22|*.domain3.com|宿主机ip+端口(例如32780)|容器id+容器端口(例如22)。
经过步骤S111-S112,获得了包括容器服务端口和指定域名的反向解析记录信息。
步骤S120,向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息。
在该步骤中,宿主机上监控Docker容器的启动,若有Docker容器启动,对外暴露服务端口信息,则向DNS(Domain Name System,域名系统)服务器的网络记录添加模块中增加一条容器服务端口对应的包括指定域名和宿主机IP地址的网络信息。
在一些实施例中,上述网络信息中的宿主机IP地址也可以称为A(Address)记录。A记录可以用来指定域名对应的IP地址记录。将指定域名与A记录绑定后,DNS服务器可以引导指定域名指向宿主机IP地址。
步骤S130,接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口。
在一些实施例中,步骤S130中,根据反向解析记录和目标域名得到与目标域名匹配的容器服务端口的步骤具体可以包括:
步骤S131,获取目标域名和容器服务访问请求中的网络协议或网络协议端口。
在该步骤中,宿主机监控用户端的容器服务访问请求,在接收到用户端的容器服务访问请求后,根据容器服务访问请求中的发送信息包中的域名信息进行匹配操作。
步骤S132,依据网络协议或网络协议端口和目标域名,将反向解析记录中对应的容器服务端口作为匹配的容器服务端口。
在该步骤中,如果网络协议或网络协议端口与目标域名在反向解析记录可以找到匹配项,则根据该网络协议或网络协议端口与目标域名所在的反向解析记录中可以解析出对应的容器标志号和容器端口,宿主机可以将容器服务访问请求发送至对应的容器。
在一些实施例中,如果反向解析记录中没有找到匹配的网络协议或网络协议端口和目标域名,则宿主机可以向用户端直接返回错误应答消息。
通过步骤S131-S132,根据反向解析记录进行基于目标域名的匹配,得到与目标域名对应的容器。
步骤S140,依据容器服务端口发送容器服务访问请求至容器。
在该步骤中,宿主机将容器服务访问请求发送至匹配到的容器,容器向该访问请求提供容器服务。
在一些实施例中,容器可以对容器服务访问请求生成应答消息,并将应答消息反馈给宿主机。宿主机可以将容器返回的回应消息重新封装后,返回给客户端。
继续参考图2,在一些实施例中,容器服务的访问方法200还可以包括:
步骤S150,获取容器的停止运行状态,删除停止运行状态的容器的反向解析记录。
步骤S160,获取停止运行状态的容器服务端口,向域名系统服务器发送删除与停止运行状态的容器服务端口对应的包括指定域名和宿主机IP地址的网络信息的指令。
在步骤S150-S160,当容器停止运行时,释放冗余信息,节省系统资源和运行效率。具体地,可以根据容器标识信息例如容器ID删除对应的反向解析记录,以及向DNS服务器发送删除与停止运行状态的容器服务端口对应的包括指定域名和宿主机IP地址的网络信息的指令。
图3示出了根据本发明一实施例的网络地址的解析方法的流程图。如图3所示,网络地址的解析方法300包括:
步骤S310,从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址。
步骤S320,接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
在一些实施例中,用户通过特定协议,采用包含目标域名的方式访问容器服务例如http://www.domain1.com时,DNS服务器会收到该容器访问请求的地址解析请求,DNS服务器根据目标域名查询网络信息的记录,将目标域名对应的宿主机的IP返回给用户端。使用户端可以根据宿主机IP地址将容器服务访问请求发送至宿主机。
本发明实施例中的容器服务的访问方法和网络地址的解析方法,通过向DNS服务器添加包括指定域名和宿主机IP地址的网络信息,通过DNS服务器解析网络信息使包括目标域名的容器服务访问请求指向宿主机IP;以及在宿主机中添加包括容器服务端口和指定域名的反向解析记录,在反向解析记录中进行目标域名的匹配,得到与目标域名匹配的容器服务端口。本发明实施例实现容器对外服务端口的标准化,使得用户无需记忆非标准端口信息,大大提高了容器服务的可用性和易用性。
下面结合附图,详细介绍根据本发明实施例的容器服务的访问装置。
图4示出了根据本发明一实施例提供的容器服务的访问装置的结构示意图。如图4所示,容器服务的访问装置400包括:
反向解析记录添加模块410,用于获取容器暴露的容器服务端口,添加包括所述容器服务端口和指定域名的反向解析记录;
网络信息发送模块420,用于向域名系统服务器发送与所述容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;
域名匹配模块430,用于接收用户端根据所述IP地址发送的包括目标域名的容器服务访问请求,根据所述反向解析记录和所述目标域名,得到与所述目标域名匹配的容器服务端口;
反向解析模块440,用于依据所述容器服务端口发送所述容器服务访问请求至所述容器。
根据本发明实施例的容器服务的访问装置,实现通过域名解析出相应容器端口信息以访问容器提供的服务,有利于容器对外服务端口的标准化。
图5是示出了根据本发明一些示例性实施例的容器服务的访问装置的详细的结构示意图,图5与图4相同或等同的结构使用相同的标号。如图5所示,在一些实施例中,反向解析记录添加模块410可以包括:
反向解析内容获取单元411,用于获取端口映射信息。
在一些实施例中,反向解析内容获取单元还用于获取与容器服务端口对应的网络协议或网络协议端口、指定域名等信息。
反向解析记录添加模块410还用于添加与容器服务端口对应的网络协议或网络协议端口、指定域名、端口映射信息到反向解析记录。
在一些实施例中,端口映射信息包括容器的容器标志号、容器的容器服务端口、与容器服务端口对应的宿主机映射端口和宿主机IP地址。
通过反向解析记录添加模块410添加反向解析记录,以用于对容器服务访问请求中包含的目标域名的匹配操作。
在一些实施例中,域名匹配模块430具体可以包括:
域名和协议信息获取单元431,用于获取目标域名和容器服务访问请求中的网络协议或网络协议端口;容器服务端口获取单元432,用于依据网络协议或网络协议端口和目标域名,将反向解析记录中对应的容器服务端口作为匹配的容器服务端口。
在该实施例中,域名匹配模块将容器服务访问请求中的协议信息和目标域名与反向解析记录进行匹配,根据匹配到的协议信息和目标域名的反向解析记录中的容器标志号和容器端口进行容器服务的访问。
继续参考图5,在一些实施例中,容器服务的访问装置500还包括:
反向解析记录删除模块450,用于获取容器的停止运行状态,删除停止运行状态的容器的反向解析记录。
网络信息删除模块460,用于获取停止运行状态的容器服务端口,向域名系统服务器发送删除与停止运行状态的容器服务端口对应的包括指定域名和宿主机IP地址的网络信息的指令。
在该实施例中,当容器停止运行时,宿主机中删除停止运行的容器对应的反向解析记录,域名系统服务器中删除该容器服务端口对应的网络信息,可以释放冗余信息,节省系统资源和运行效率。
图6示出了根据本发明实施例的网络地址的解析装置的结构示意图。如图6所示,网络地址的解析装置600包括:
网络记录添加模块610,用于从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址;地址解析模块620,用于接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
在该实施例中,DNS服务器根据收到的容器访问请求的地址解析请求,根据目标域名查询网络信息的记录,将目标域名对应的宿主机的IP地址返回给用户端,以使用户端可以根据宿主机IP地址将容器服务访问请求发送至宿主机。
根据本发明实施例的容器服务的访问装置的其他细节与以上结合图1至图3描述的根据本发明实施例的容器服务的访问方法类似,在此不再赘述。
为了更好的理解本发明,下面通过一个具体的示例详细描述本发明实施例中的容器服务的访问方法、网络地址的解析方法、装置。
图7示出了根据本发明一些示例性实施例的应用场景中容器服务的访问装置和网络地址的解析装置的结构示意图。
如图7所示,在一些实施例中,宿主机710上运行容器10、容器20、容器30对外提供服务,宿主机710上运行的每个容器将各自对外服务的端口暴露给宿主机710。
宿主机710可以监控容器的启动,若有容器启动,对外暴露服务端口信息,则调用网络信息发送模块712向地址解析DNS服务器720发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息。
DNS服务器720的网络记录添加模块721接收宿主机710发送的网络信息,增加一条与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息。
接着,宿主机710的反向解析记录添加模块711在反向解析记录中添加一条反向解析记录,反向解析记录中包括与容器服务端口对应的网络协议或网络协议端口、指定域名和端口映射信息。
用户端730通过特定协议采用域名的方式访问容器服务时,会向设定的DNS服务器720发起地址解析请求。
DNS服务器720的地址解析模块722接收用户端730的包含目标域名的地址解析请求,通过对目标域名的地址解析向用户端730返回目标域名对应的宿主机IP地址。
用户端730根据宿主机IP地址向宿主机710发送容器服务访问请求。
宿主机710的域名匹配模块713接收包括目标域名的容器服务访问请求,根据目标域名在反向解析记录中进行匹配操作,获取匹配到的目标域名所在的反向解析记录中的容器标识和容器端口所属的容器作为与目标域名对应的容器。宿主机710将容器服务访问请求发送给与目标域名对应的容器。如果没有匹配成功,返回相应的错误提示信息。
与目标域名对应的容器的容器服务提供模块(未示出)根据接收到的容器服务访问请求生成应答信息,并将生成的应答信息反馈给宿主机710的反向解析模块714,宿主机710的反向解析模块714将该应答信息的信息头部重新封装后返回给用户端730。
在该实施例中,通过DNS服务器720的网络记录添加模块721、地址解析模块722、宿主机710的反向解析记录添加模块711、网络信息发送模块712、域名匹配模块713、反向解析模块714、容器的容器服务提供模块(未示出)进行自动化的配置,实现通过域名而无需指定非标准端口访问容器提供的服务。
结合图1、图2、图4和图5描述的根据本发明实施例的容器服务的访问方法和装置可以由容器服务的访问系统来实现。图8是示出根据发明实施例的容器服务的访问系统的硬件结构示意图。
如图8所示,本实施例中的容器服务的访问系统800包括:处理器801、存储器802、通信接口803和总线810,其中,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
具体地,上述处理器801可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在容器服务的访问系统800的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
通信接口803,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将容器服务的访问系统800的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
也就是说,图8所示的容器服务的访问系统800可以被实现为包括:处理器801、存储器802、通信接口803和总线810。处理器801、存储器802和通信接口803通过总线810连接并完成相互间的通信。存储器802用于存储程序代码;处理器801通过读取存储器802中存储的可执行程序代码来运行与该可执行程序代码对应的程序,以用于执行容器服务的访问方法,其中,该执行容器服务的访问方法包括:获取容器暴露的容器服务端口,添加包括容器服务端口和指定域名的反向解析记录;向域名系统服务器发送与容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;接收用户端根据宿主机IP地址发送的包括目标域名的容器服务访问请求,根据反向解析记录和目标域名,得到与目标域名匹配的容器服务端口;依据容器服务端口发送容器服务访问请求至容器。
该容器服务的访问系统800可以根据用户端发送的包括目标域名的容器服务访问请求,查找反向解析记录中包括目标域名的记录信息,确定要访问的容器的端口,实现结合图1、图2、图4和图5描述的容器服务的访问方法和装置,并可以执行步骤S110-S160、步骤S111-S112、步骤S131-S132。
结合图3和图6描述的根据本发明实施例的网络地址的解析方法和装置可以由网络地址的解析系统来实现。图9是示出根据发明实施例的网络地址的解析系统的硬件结构示意图。
如图9所示,本实施例中的网络地址的解析系统900包括:处理器901、存储器902、通信接口903和总线910,其中,处理器901、存储器902、通信接口903通过总线910连接并完成相互间的通信。
具体地,上述处理器901可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器902可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器902可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器902可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器902可在网络地址的解析系统900的内部或外部。在特定实施例中,存储器902是非易失性固态存储器。在特定实施例中,存储器902包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
通信接口903,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线910包括硬件、软件或两者,将网络地址的解析系统900的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线910可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
也就是说,图9所示的网络地址的解析系统900可以被实现为包括:处理器901、存储器902、通信接口903和总线910。处理器901、存储器902和通信接口903通过总线910连接并完成相互间的通信。存储器902用于存储程序代码;处理器901通过读取存储器902中存储的可执行程序代码来运行与该可执行程序代码对应的程序,以用于执行一种网络地址的解析方法,其中,该网络地址的解析方法包括:从宿主机接收与容器服务端口对应的网络信息,添加网络信息的记录,网络信息包括指定域名和宿主机IP地址;接收用户端的包含目标域名的地址解析请求,解析网络信息的记录,返回目标域名对应的宿主机IP地址。
该网络地址的解析系统900将指定域名与宿主机的IP地址绑定后,在用户发起容器服务访问请求时,可以引导指定域名指向宿主机IP地址,实现结合图3和图6描述的网络地址的解析方法和装置,并可以执行步骤S310-S320。
综上所述,通过本发明实施例的容器服务的访问方法、装置和系统,以及网络地址的解析方法、装置和系统,可以实现通过域名而无需指定非标准端口来访问容器提供的服务,提高容器服务的易用性和可用性。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (12)

1.一种容器服务的访问方法,其特征在于,所述访问方法包括:
获取容器暴露的容器服务端口,添加包括所述容器服务端口和指定域名的反向解析记录;
向域名系统服务器发送与所述容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;
接收用户端根据所述IP地址发送的包括目标域名的容器服务访问请求,根据所述反向解析记录和所述目标域名,得到与所述目标域名匹配的容器服务端口;
依据所述容器服务端口发送所述容器服务访问请求至所述容器。
2.根据权利要求1所述的访问方法,其特征在于,所述添加包括所述容器服务端口和指定域名的反向解析记录,包括:
获取端口映射信息;
添加与所述容器服务端口对应的网络协议或网络协议端口、所述指定域名和所述端口映射信息到所述反向解析记录。
3.根据权利要求1所述的访问方法,其特征在于,所述根据所述反向解析记录和所述目标域名,得到与所述目标域名匹配的容器服务端口,包括:
获取所述目标域名和所述容器服务访问请求中的网络协议或网络协议端口;
依据所述网络协议或所述网络协议端口和所述目标域名,将所述反向解析记录中对应的容器服务端口作为所述匹配的容器服务端口。
4.根据权利要求1所述的访问方法,其特征在于,所述访问方法还包括:
获取所述容器的停止运行状态,删除所述停止运行状态的容器的反向解析记录;
获取所述停止运行状态的容器服务端口,向域名系统服务器发送删除与所述停止运行状态的容器服务端口对应的包括指定域名和宿主机IP地址的网络信息的指令。
5.一种网络地址的解析方法,其特征在于,所述解析方法包括:
从宿主机接收与容器服务端口对应的网络信息,添加所述网络信息的记录,所述网络信息包括指定域名和所述宿主机IP地址;
接收用户端的包含目标域名的地址解析请求,解析所述网络信息的记录,返回所述目标域名对应的宿主机IP地址。
6.一种容器服务的访问装置,其特征在于,所述访问装置包括:
反向解析记录添加模块,用于获取容器暴露的容器服务端口,添加包括所述容器服务端口和指定域名的反向解析记录;
网络信息发送模块,用于向域名系统服务器发送与所述容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;
域名匹配模块,用于接收用户端根据所述IP地址发送的包括目标域名的容器服务访问请求,根据所述反向解析记录和所述目标域名,得到与所述目标域名匹配的容器服务端口;
反向解析模块,用于依据所述容器服务端口发送所述容器服务访问请求至所述容器。
7.根据权利要求6所述的访问装置,其特征在于,所述反向解析记录添加模块包括:
反向解析内容获取单元,用于获取端口映射信息;
所述反向解析记录添加模块还用于添加与所述容器服务端口对应的网络协议或网络协议端口、所述指定域名、所述端口映射信息到所述反向解析记录。
8.根据权利要求6所述的访问装置,其特征在于,所述域名匹配模块包括:
域名和协议信息获取单元,用于获取所述目标域名和所述容器服务访问请求中的网络协议或网络协议端口;
容器服务端口获取单元,用于依据所述网络协议或所述网络协议端口和所述目标域名,将所述反向解析记录中对应的容器服务端口作为所述匹配的容器服务端口。
9.根据权利要求6所述的访问装置,其特征在于,所述访问装置还包括:
反向解析记录删除模块,用于获取所述容器的停止运行状态,删除所述停止运行状态的容器的反向解析记录;
网络信息删除模块,用于获取所述停止运行状态的容器服务端口,向域名系统服务器发送删除与所述停止运行状态的容器服务端口对应的包括指定域名和宿主机IP地址的网络信息的指令。
10.一种网络地址的解析装置,其特征在于,所述解析装置包括:
网络记录添加模块,用于从宿主机接收与容器服务端口对应的网络信息,添加所述网络信息的记录,所述网络信息包括指定域名和所述宿主机IP地址;
地址解析模块,接收用户端的包含目标域名的地址解析请求,解析所述网络信息的记录,返回所述目标域名对应的宿主机IP地址。
11.一种容器服务的访问系统,其特征在于,所述访问系统包括:
存储器、处理器、通信接口和总线;
所述存储器、所述处理器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器用于存储程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种容器服务的访问方法,其中,所述容器服务的访问方法包括:
获取容器暴露的容器服务端口,添加包括所述容器服务端口和指定域名的反向解析记录;
向域名系统服务器发送与所述容器服务端口对应的包括指定域名和宿主机IP地址的网络信息;
接收用户端根据所述IP地址发送的包括目标域名的容器服务访问请求,根据所述反向解析记录和所述目标域名,得到与所述目标域名匹配的容器服务端口;
依据所述容器服务端口发送所述容器服务访问请求至所述容器。
12.一种网络地址的解析系统,其特征在于,所述解析系统包括:
存储器、处理器、通信接口和总线;
所述存储器、所述处理器和所述通信接口通过所述总线连接并完成相互间的通信;
所述存储器用于存储程序代码;
所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行一种网络地址的解析方法,其中,所述网络地址的解析方法包括:
从宿主机接收与容器服务端口对应的网络信息,添加所述网络信息的记录,所述网络信息包括指定域名和所述宿主机IP地址;
接收用户端的包含目标域名的地址解析请求,解析所述网络信息的记录,返回所述目标域名对应的宿主机IP地址。
CN201710257185.8A 2017-04-19 2017-04-19 容器服务的访问方法、网络地址的解析方法、装置和系统 Pending CN108737584A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710257185.8A CN108737584A (zh) 2017-04-19 2017-04-19 容器服务的访问方法、网络地址的解析方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710257185.8A CN108737584A (zh) 2017-04-19 2017-04-19 容器服务的访问方法、网络地址的解析方法、装置和系统

Publications (1)

Publication Number Publication Date
CN108737584A true CN108737584A (zh) 2018-11-02

Family

ID=63925336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710257185.8A Pending CN108737584A (zh) 2017-04-19 2017-04-19 容器服务的访问方法、网络地址的解析方法、装置和系统

Country Status (1)

Country Link
CN (1) CN108737584A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109729190A (zh) * 2019-03-15 2019-05-07 深圳前海微众银行股份有限公司 网络访问方法、系统、设备及计算机可读存储介质
CN111182089A (zh) * 2019-12-31 2020-05-19 北京金山云网络技术有限公司 容器集群系统和访问大数据组件的方法、装置及服务器
CN111327647A (zh) * 2018-12-13 2020-06-23 北京金山云网络技术有限公司 一种容器对外提供服务的方法、装置及电子设备
CN111510515A (zh) * 2020-04-07 2020-08-07 中国建设银行股份有限公司 一种区分混合应用环境的容器的方法及装置
CN111580927A (zh) * 2020-04-02 2020-08-25 武汉旷视金智科技有限公司 通信的方法及容器通信系统
CN111726399A (zh) * 2020-06-08 2020-09-29 中国工商银行股份有限公司 Docker容器安全访问方法及装置
CN111930626A (zh) * 2020-08-12 2020-11-13 中国工商银行股份有限公司 基于PaaS云服务的自动化测试方法及装置
CN111949366A (zh) * 2020-07-07 2020-11-17 北京思特奇信息技术股份有限公司 一种容器外服务反向代理到容器内部的系统及方法
CN112511611A (zh) * 2020-11-19 2021-03-16 腾讯科技(深圳)有限公司 节点集群的通信方法、装置、系统及电子设备
CN112764885A (zh) * 2021-01-28 2021-05-07 北京达佳互联信息技术有限公司 对象的访问方法、装置、电子设备、存储介质和程序产品
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和系统
CN114785753A (zh) * 2022-05-05 2022-07-22 上海道客网络科技有限公司 一种容器云平台的域名解析方法、系统、介质和电子设备
CN114844859A (zh) * 2022-05-05 2022-08-02 北京达佳互联信息技术有限公司 域名配置方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026204A1 (en) * 2011-04-04 2014-01-23 Luc Buntinx Method and system for authenticating entities by means of terminals
CN105407140A (zh) * 2015-10-23 2016-03-16 上海比林电子科技有限公司 一种网络化测试系统的计算资源虚拟化系统及方法
CN105491020A (zh) * 2015-11-24 2016-04-13 上海市共进通信技术有限公司 实现智能设备的操作系统中程序访问ip地址限制的方法
CN106302771A (zh) * 2016-08-23 2017-01-04 浪潮电子信息产业股份有限公司 一种基于Docker容器创建的应用的域名配置方法
CN106341438A (zh) * 2015-07-10 2017-01-18 阿里巴巴集团控股有限公司 请求处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026204A1 (en) * 2011-04-04 2014-01-23 Luc Buntinx Method and system for authenticating entities by means of terminals
CN106341438A (zh) * 2015-07-10 2017-01-18 阿里巴巴集团控股有限公司 请求处理方法和装置
CN105407140A (zh) * 2015-10-23 2016-03-16 上海比林电子科技有限公司 一种网络化测试系统的计算资源虚拟化系统及方法
CN105491020A (zh) * 2015-11-24 2016-04-13 上海市共进通信技术有限公司 实现智能设备的操作系统中程序访问ip地址限制的方法
CN106302771A (zh) * 2016-08-23 2017-01-04 浪潮电子信息产业股份有限公司 一种基于Docker容器创建的应用的域名配置方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327647A (zh) * 2018-12-13 2020-06-23 北京金山云网络技术有限公司 一种容器对外提供服务的方法、装置及电子设备
CN109729190B (zh) * 2019-03-15 2024-02-09 深圳前海微众银行股份有限公司 网络访问方法、系统、设备及计算机可读存储介质
CN109729190A (zh) * 2019-03-15 2019-05-07 深圳前海微众银行股份有限公司 网络访问方法、系统、设备及计算机可读存储介质
CN111182089A (zh) * 2019-12-31 2020-05-19 北京金山云网络技术有限公司 容器集群系统和访问大数据组件的方法、装置及服务器
CN111580927A (zh) * 2020-04-02 2020-08-25 武汉旷视金智科技有限公司 通信的方法及容器通信系统
CN111580927B (zh) * 2020-04-02 2024-03-19 武汉旷视金智科技有限公司 通信的方法及容器通信系统
CN111510515A (zh) * 2020-04-07 2020-08-07 中国建设银行股份有限公司 一种区分混合应用环境的容器的方法及装置
CN111726399A (zh) * 2020-06-08 2020-09-29 中国工商银行股份有限公司 Docker容器安全访问方法及装置
CN111726399B (zh) * 2020-06-08 2022-10-18 中国工商银行股份有限公司 Docker容器安全访问方法及装置
CN111949366A (zh) * 2020-07-07 2020-11-17 北京思特奇信息技术股份有限公司 一种容器外服务反向代理到容器内部的系统及方法
CN111949366B (zh) * 2020-07-07 2024-04-05 北京思特奇信息技术股份有限公司 一种容器外服务反向代理到容器内部的系统及方法
CN111930626A (zh) * 2020-08-12 2020-11-13 中国工商银行股份有限公司 基于PaaS云服务的自动化测试方法及装置
CN111930626B (zh) * 2020-08-12 2024-04-05 中国工商银行股份有限公司 基于PaaS云服务的自动化测试方法及装置
CN112511611A (zh) * 2020-11-19 2021-03-16 腾讯科技(深圳)有限公司 节点集群的通信方法、装置、系统及电子设备
CN112764885A (zh) * 2021-01-28 2021-05-07 北京达佳互联信息技术有限公司 对象的访问方法、装置、电子设备、存储介质和程序产品
CN113259503A (zh) * 2021-06-24 2021-08-13 浩鲸云计算科技股份有限公司 基于Infiniband实现不同容器之间的跨网络通信方法和系统
CN114785753A (zh) * 2022-05-05 2022-07-22 上海道客网络科技有限公司 一种容器云平台的域名解析方法、系统、介质和电子设备
CN114844859A (zh) * 2022-05-05 2022-08-02 北京达佳互联信息技术有限公司 域名配置方法、装置、电子设备及存储介质
CN114785753B (zh) * 2022-05-05 2023-10-27 上海道客网络科技有限公司 一种容器云平台的域名解析方法、系统、介质和电子设备
CN114844859B (zh) * 2022-05-05 2024-06-11 北京达佳互联信息技术有限公司 域名配置方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108737584A (zh) 容器服务的访问方法、网络地址的解析方法、装置和系统
US10798222B2 (en) Apparatus for managing SDN-based in-vehicle network and control method thereof
US20070055749A1 (en) Identifying a network address source for authentication
CN110708215A (zh) 深度包检测规则库生成方法、装置、网络设备及存储介质
CN107786669B (zh) 一种负载均衡处理的方法、服务器、装置及存储介质
CN108429739B (zh) 一种识别蜜罐的方法、系统及终端设备
CN111431912B (zh) 用于检测dhcp劫持的方法和设备
CN109547583B (zh) 域名资源查询方法、装置、设备及计算机存储介质
CN107124483A (zh) 域名解析方法及服务器
CN103095608B (zh) 一种dns数据包的代理转发方法
CN110933191B (zh) Ip地址获取方法、装置、上位机和存储介质
CN108234685A (zh) 用户终端网关设备dns调度的方法、装置、设备及介质
CN111224878A (zh) 路由转发方法、装置、电子设备及存储介质
CN112311722A (zh) 一种访问控制方法、装置、设备及计算机可读存储介质
CN109995885B (zh) 域名空间结构呈现方法、装置、设备及介质
KR101700197B1 (ko) 장치 관리를 위한 노드의 주소 표현 방법 및 이를 위한 장치
CN112272192A (zh) 一种域名爆破方法、装置、存储介质及电子设备
CN107534585B (zh) 通信方法和终端
CN115086276B (zh) 一种地址管理方法、装置、设备及系统
US8223761B2 (en) Method for diagnosing the router which supports policy-based routing
CN109525682B (zh) 业务处理方法、装置、网元实体及计算机可读存储介质
US7536479B2 (en) Local and remote network based management of an operating system-independent processor
CN114143079B (zh) 包过滤策略的验证装置及方法
CN112887211B (zh) 一种网际协议报文数据转发系统
US8607310B2 (en) Association of in-band and out-of-band identification credentials of a target device

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181102

RJ01 Rejection of invention patent application after publication