CN113364727A - 容器集群系统、容器控制台和服务器 - Google Patents

容器集群系统、容器控制台和服务器 Download PDF

Info

Publication number
CN113364727A
CN113364727A CN202010149280.8A CN202010149280A CN113364727A CN 113364727 A CN113364727 A CN 113364727A CN 202010149280 A CN202010149280 A CN 202010149280A CN 113364727 A CN113364727 A CN 113364727A
Authority
CN
China
Prior art keywords
container
console
container cluster
service
network
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
Application number
CN202010149280.8A
Other languages
English (en)
Other versions
CN113364727B (zh
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 CN202010149280.8A priority Critical patent/CN113364727B/zh
Priority to PCT/CN2021/077959 priority patent/WO2021175152A1/zh
Publication of CN113364727A publication Critical patent/CN113364727A/zh
Application granted granted Critical
Publication of CN113364727B publication Critical patent/CN113364727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/45587Isolation or security of 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

Abstract

本发明提供了一种容器集群系统、容器控制台和服务器,该系统运行在租户的虚拟私有云VPC网络环境中;该系统包括容器集群和代理服务;该容器集群通过该代理服务与该虚拟私有云VPC网络环境外部的容器控制台建立有网络隧道;该代理服务用于通过该网络隧道接收来自该容器控制台的管理指令,将该管理指令转发至该容器集群,以使该容器集群执行该管理指令。通过在容器集群系统中部署代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器集群可以通过该网络隧道接收来自容器控制台的管理指令,从而使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。

Description

容器集群系统、容器控制台和服务器
技术领域
本发明涉及云计算技术领域,尤其是涉及一种容器集群系统、容器控制台和服务器。
背景技术
容器集群的控制台服务,通常部署在容器引擎提供商的内部账号的VPC(VirtualPrivate Cloud,虚拟私有云)中;而租户购买的容器资源,通常运行在租户账号的VPC中;因此,容器集群的控制台服务与租户购买的容器资源之间的网络是隔离的。为了通过控制台服务对租户购买的容器资源进行管理,租户在购买容器资源时,通常需要默认为该容器资源中API Server(Application Programming Interface Server,应用程序编程接口服务)服务购买SLB(Server Load Balancer,服务器负载均衡),并挂载公网的EIP(Elastic IPaddress,弹性IP地址);通过这种方式,控制台服务可以通过公网的SLB访问租户购买的容器资源中的API Server服务,从而管理该租户的容器资源。然而,这种方式需要必须开放租户的容器资源中的API Server,允许公网访问该API Server,这增加了租户的容器资源的安全隐患;同时,使用公网的EIP管理租户的容器资源,成本较高。
发明内容
本发明的目的在于提供一种容器集群系统、容器控制台和服务器,在管理租户的容器资源的同时,降低容器资源的安全隐患以及管理成本。
本发明提供的一种容器集群系统,所述系统运行在租户的虚拟私有云VPC网络环境中;所述系统包括容器集群和代理服务;所述容器集群通过所述代理服务与所述虚拟私有云VPC网络环境外部的容器控制台建立有网络隧道;所述代理服务用于通过所述网络隧道接收来自所述容器控制台的管理指令,将所述管理指令转发至所述容器集群,以使所述容器集群执行所述管理指令。
进一步的,所述代理服务运行在所述容器集群的管理节点或工作节点上。
进一步的,所述代理服务通过预先配置的配置文件启动并部署在所述租户的虚拟私有云VPC网络环境中;其中,所述配置文件由所述容器控制台生成,所述配置文件中包括用于启动并部署所述代理服务所需的环境参数。
进一步的,所述代理服务还用于:根据所述配置文件与所述容器控制台建立网络隧道;所述配置文件还包括所述容器控制台的地址信息和认证信息。
进一步的,所述代理服务还用于:如果接收到所述管理指令,将所述认证信息添加至所述管理指令,再将添加有所述认证信息的管理指令转发至所述容器集群的管理节点。
进一步的,所述管理节点上运行有Kube-API Server服务;所述Kube-API Server服务用于:接收添加有所述认证信息的管理指令,对所述认证信息进行认证;如果所述认证信息认证通过,执行所述管理指令。
进一步的,所述网络隧道通过websocket协议传输所述管理指令。
本发明提供的一种容器控制台,所述容器控制台通过预设的代理服务,与运行在租户的虚拟私有云VPC网络环境内的容器集群建立有网络隧道;其中,所述代理服务运行在所述租户的虚拟私有云VPC网络环境内;所述容器控制台用于通过所述网络隧道发送管理指令至所述代理服务;所述代理服务用于接收所述管理指令,将所述管理指令转发至所述容器集群,以使所述容器集群执行所述管理指令。
进一步的,所述容器控制台上运行有网络隧道的服务端;所述服务端用于与所述代理服务建立所述网络隧道。
进一步的,所述服务端还用于生成配置文件;所述配置文件包括所述容器控制台的地址信息和认证信息、以及所述代理服务启动并部署所需的环境参数;所述配置文件用于在租户的虚拟私有云VPC网络环境内启动并部署所述代理服务,还用于所述代理服务与所述服务端建立网络隧道。
进一步的,所述服务端以公共服务的方式部署在所述容器控制台上。
本发明提供的一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以运行上述任一项所述的容器集群系统,或上述任一项所述的容器控制台。
本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器运行上述任一项所述的容器集群系统,或上述任一项所述的容器控制台。
本发明提供的容器集群系统、容器控制台和服务器,该系统运行在租户的虚拟私有云VPC网络环境中;该系统包括容器集群和代理服务;该容器集群通过该代理服务与该虚拟私有云VPC网络环境外部的容器控制台建立有网络隧道;该代理服务用于通过该网络隧道接收来自该容器控制台的管理指令,将该管理指令转发至该容器集群,以使该容器集群执行该管理指令。通过在容器集群系统中部署代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器集群可以通过该网络隧道接收来自容器控制台的管理指令,从而使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种容器集群系统的结构示意图;
图2为本发明实施例提供的另一种容器集群系统的结构示意图;
图3为本发明实施例提供的一种容器控制台的结构示意图;
图4为本发明实施例提供的一种容器控制台与容器集群系统的交互示意图;
图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以容器资源为K8s(Kubernetes,一种开源的容器集群管理系统)容器集群为例,为了达到通过控制台服务管理租户购买的K8s容器集群的目的,在租户购买K8s容器集群时,通常默认为该K8s容器集群的API Server服务购买了SLB,并挂载了公网的EIP;使控制台服务可以通过公网的SLB访问租户购买的K8s容器集群的API Server服务,从而达到管理租户购买的K8s容器集群的目的。该方式中,即使租户不需要向公网开放所购买的K8s容器集群中的API Server服务,也必须开放API Server服务,以允许公网访问该API Server服务,这增加了租户的容器资源的安全隐患;另外,公网的EIP的成本较高,无论是容器引擎提供商赠送该公网的EIP,还是租户购买该公网的EIP,都需要承担较高的成本。
基于此,本发明实施例提供了一种容器集群系统、容器控制台和服务器,该技术可以应用于容器控制台对容器集群进行管理的应用中。
参见图1所示的一种容器集群系统的结构示意图,该系统运行在租户的虚拟私有云VPC网络环境中;该系统包括容器集群11和代理服务12;该容器集群11通过代理服务12与该虚拟私有云VPC网络环境外部的容器控制台20建立有网络隧道。
上述虚拟私有云VPC网络环境可以理解为公有云上自定义的逻辑隔离网络空间,租户可以在该逻辑隔离网络空间内自主管理或配置内部网络;上述容器集群11通常由多个容器组成,每个容器中可以运行有程序;上述代理服务12可以理解为容器集群11与容器控制台20之间的中间代理服务,是网络信息的中转站,负责转发合法的网络信息等。该代理服务可以运行在容器集群的外部,也可以运行在容器集群的内部,如容器集群中的一个节点或容器中,图1中以代理服务运行在容器集群外部为例。
上述容器控制台20通常可以向容器集群11发送相应的管理或控制指令,以对容器集群11中的各种资源进行管理,比如,容器控制台可以在容器集群11中创建一个Pod,或者创建一个服务service等;上述网络隧道通常是利用网络隧道协议,来传输不同协议的数据帧或数据包;在实际实现时,代理服务12一般会运行在一个可以向外单向访问公网的环境中,容器集群系统10中的代理服务12通常会主动与容器控制台20建立并保持网络隧道,从而使容器控制台20可以通过该网络隧道打通与代理服务12的网络连接。
上述代理服务12用于通过上述网络隧道接收来自上述容器控制台20的管理指令,将该管理指令转发至上述容器集群11,以使该容器集群11执行该管理指令。
上述管理指令可以是对容器集群11中的各种资源进行创建或管理的指令,比如,在容器集群11中创建一个Pod、创建一个service,或者删除一个service等;在实际实现时,当容器控制台20需要对容器集群11进行管理时,通常会通过代理服务12将管理指令转发至容器集群11,容器集群11再根据接收到的管理指令执行相应的操作。
本发明实施例提供的容器集群系统,运行在租户的虚拟私有云VPC网络环境中;该系统包括容器集群和代理服务;该容器集群通过该代理服务与该虚拟私有云VPC网络环境外部的容器控制台建立有网络隧道;该代理服务用于通过该网络隧道接收来自该容器控制台的管理指令,将该管理指令转发至该容器集群,以使该容器集群执行该管理指令。通过在容器集群系统中部署代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器集群可以通过该网络隧道接收来自容器控制台的管理指令,从而使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。
进一步的,参见图2所示的另一种容器集群系统的结构示意图,上述代理服务12可以运行在容器集群11的内部,具体的,代理服务可以运行在容器集群的管理节点或工作节点上,图2中以代理服务运行在管理节点为例。
在容器集群管理方面,K8s通常会将容器集群中划分为一个或多个管理节点,以及若干工作节点;其中,管理节点上运行着集群管理相关的进程,包括API Server(Application Programming Interface Server,应用程序编程接口服务)、ControllerManager(控制管理程序)、Scheduler(调度程序)和Etcd(一种键值存储系统)服务;通过这些进程实现对整个容器集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能;在工作节点上通常会部署Kubelet(节点代理服务)和Kube-proxy组件,用于实现容器运行;在实际实现时,代理服务12可以运行在管理节点上,也可以运行在工作节点上,只要运行该代理服务12的管理节点或工作节点可以对外访问公网即可。
在实际实现时,该代理服务12可以是在租户购买的容器集群11中运行的代理agent程序,agent程序通常以容器方式运行在容器集群中,在租户购买的容器集群11创建成功后,可以自动部署并运行在该容器集群11中,也可以不在该容器集群11中运行,而以其他方式运行。需要说明的是,通常不需要被管理的容器集群11具有主动向外提供互联网访问的能力,但是外部网络可以访问到租户所购买的容器集群11,租户所购买的容器集群11可以访问到外部网络,就像宽带一样,通过一个公共IP访问到外部网络,如果为一个企业级的租户搭建容器集群11,该容器集群11不一定具备对外提供服务的能力,只需要该容器集群11可以提供一个能向外访问的环境即可,比如可以创建代理agent程序。
进一步的,上述代理服务12通过预先配置的配置文件启动并部署在上述租户的虚拟私有云VPC网络环境中;其中,该配置文件由上述容器控制台20生成,该配置文件中包括用于启动并部署代理服务12所需的环境参数。
上述环境参数通常包括代理服务12运行所产生的日志文件的大小、日志文件的存储路径或在预设时间内发送的日志行数等;在实际实现时,通常会由容器控制台20预先生成该配置文件,考虑到代理服务12在部署之前,容器集群11和容器控制台20还处于隔离状态,此时,可以通过其他方式将生成的配置文件下发至租户的容器集群11,比如,可将该配置文件以邮件的方式发送给租户,由租户将该配置文件上传至容器集群11,代理服务12再根据该配置文件启动并部署在该租户的虚拟私有云VPC网络环境中。
进一步的,上述代理服务12还用于:根据上述配置文件与上述容器控制台20建立网络隧道;该配置文件还包括该容器控制台20的地址信息和认证信息。
上述地址信息通常包括上述容器控制台20的IP(Internet Protocol,互联网协议)地址和端口号;上述认证信息可以理解为,在容器控制台20生成上述配置文件时,通常还会包含一个安全认证的证明,如安全认证证书或Token(用于身份认证的令牌),以证明该代理服务12的合法性;验证通过的代理服务12根据该配置文件主动与容器控制台20建立并保持网络隧道。
进一步的,上述代理服务12还用于:如果接收到上述管理指令,将上述认证信息添加至该管理指令,再将添加有该认证信息的管理指令转发至上述容器集群的管理节点。
当接收到来自容器控制台20的管理指令后,代理服务12通常会将上述配置文件中的所包含的认证信息,如安全认证证书或Token,添加至该管理指令的请求头header中,以得到一个管理节点可以识别的合法格式的管理指令,然后,代理服务12再将该合法格式的管理指令转发至容器集群11的管理节点。
进一步的,如图2所示,上述管理节点上运行有Kube-API Server服务;该Kube-APIServer服务用于:接收添加有上述认证信息的管理指令,对该认证信息进行认证;如果该认证信息认证通过,执行该管理指令。
在实际实现时,K8s容器集群的管理节点上通常会部署Kube-API Server(Application Programming Interface Server,应用程序编程接口服务)、Kube-Controller Manager(控制管理程序)、Kube-Scheduler(调度程序);其中,Kube-APIServer通常用于提供容器集群管理的REST(Representational State Transfer,表现层状态转化)API接口,包括认证授权、数据校验以及集群状态变更,以及,提供其他模块之间的数据交互和通信的枢纽等;在实际实现时,代理服务12将上述合法格式的管理指令转发至容器集群的管理节点,具体可以是管理节点中的Kube-API Server,Kube-API Server对其中所包含的认证信息进行认证,如果认证通过,通过API Server执行该管理指令,当执行完成后,通常会通过代理服务12向容器控制台20返回该管理指令已执行完成的反馈信息;如果认证未通过,API Server不执行该管理指令,通常也会通过代理服务12向容器控制台20返回该认证信息未认证通过的反馈信息。
进一步的,上述网络隧道通过websocket协议传输上述管理指令。
上述websocket协议可以理解为一种双向通信协议,在建立连接之后,客户端和服务器都可以主动向对方发送或接收数据;在实际实现时,代理服务12通常会向容器控制台20主动发起一个建立websocket请求的网络连接,在建立连接后,网络隧道的通信协议即可升级为websocket协议,通信传输方式调整为全双工的,可以双向通信的方式;上述网络隧道通过websocket协议实现该网络隧道两端的通信连接,即网络隧道通过websocket协议传输来自容器控制台20的管理指令,还可以通过websocket协议传输容器集群通过代理服务12向容器控制台20返回的、关于该管理指令执行情况的反馈信息等。
本实施例中,websocket协议通常是基于三层路由实现的,相当于三层隧道协议,但是该三层隧道协议通常是以二层隧道协议的frame(架构)为基础的,每层隧道协议之间是相互依赖。
上述容器集群系统,代理服务通过预先配置的配置文件启动并部署在租户的虚拟私有云VPC网络环境中,根据该配置文件与容器控制台建立网络隧道;如果接收到管理指令,将该配置文件中的认证信息添加至该管理指令,再将添加有该认证信息的管理指令转发至在容器集群管理节点上运行的Kube-API Server服务,以通过Kube-API Server服务对该认证信息进行认证,如果认证通过,执行该管理指令。通过在容器集群系统中部署代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器集群可以通过该网络隧道接收来自容器控制台的管理指令,从而使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。
参见图3所示的一种容器控制台的结构示意图,该容器控制台20通过预设的代理服务12,与运行在租户的虚拟私有云VPC网络环境内的容器集群11建立有网络隧道;其中,该代理服务12运行在该租户的虚拟私有云VPC网络环境内;该容器控制台20用于通过该网络隧道发送管理指令至该代理服务12;该代理服务12用于接收该管理指令,将该管理指令转发至该容器集群11,以使该容器集群11执行该管理指令。
在实际实现时,容器控制台20通过预设的代理服务12,与运行在租户的虚拟私有云VPC网络环境内的容器集群11建立有网络隧道;通过该网络隧道,容器控制台20向该代理服务12发送对于容器集群11的管理指令,该代理服务12将接收到的管理指令转发至容器集群11,容器集群11再根据接收到的管理指令执行相应的操作。
本发明实施例提供的容器控制台,通过运行在租户的虚拟私有云VPC网络环境内的预设的代理服务,与运行在租户的虚拟私有云VPC网络环境内的容器集群建立有网络隧道;通过该网络隧道发送管理指令至该代理服务;该代理服务接收该管理指令,将该管理指令转发至该容器集群,以使该容器集群执行该管理指令。通过预设的代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器控制台可以通过该网络隧道发送管理指令,通过该代理服务将该管理指令转发至容器集群,使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。
进一步的,如图3所示,上述容器控制台20上运行有网络隧道的服务端21;该服务端21用于与上述代理服务12建立上述网络隧道。
本实施例中,容器控制台20底层的交互方式会有更新,在实际实现时,通常需要先在容器控制台20中建立网络隧道的服务端21(server),该服务端可以是常驻的一直运行的服务端,容器控制台20通过该服务端与代理服务12建立网络隧道,当网络隧道是通过websocket协议通信传输,代理服务12是agent时,在网络隧道建立完成后,网络隧道的服务端即为websocket服务端server,agent即为websocket客户端client。
进一步的,上述服务端21还用于生成配置文件;该配置文件包括上述容器控制台20的地址信息和认证信息、以及上述代理服务12启动并部署所需的环境参数;该配置文件用于在租户的虚拟私有云VPC网络环境内启动并部署该代理服务12,还用于该代理服务12与该服务端21建立网络隧道。
进一步的,上述服务端21以公共服务的方式部署在上述容器控制台20上。
由于各个租户的虚拟私有云VPC网络环境与容器控制台20是隔离的,如果容器引擎提供商需要向所有租户的虚拟私有云VPC网络环境提供一个新的服务项,租户通常是不能通过内网访问到该服务项的,为了解决这个问题,网络隧道的服务端21可以以公共服务的方式部署在容器控制台20上。
在实际实现时,可以将基础网络段划分出若干个特殊网络段,并对该特殊网络段做一些特殊的路由设置或者控制配置,比如DNS(Domain Name System,域名系统)、各种编程语言的包、公共库等,以将该特殊网络段做成租户的虚拟私有云VPC网络环境通常也需要访问的公共类的服务,这样各个租户的虚拟私有云VPC网络环境可以通过内网的方式访问到容器引擎提供商所提供的新的服务项,因此容器集群11中的API Server不需要访问公网,通过内网的代理服务12就可以访问到新的服务项。
上述容器控制台,在容器控制台上运行有网络隧道的服务端;该服务端用于与代理服务建立网络隧道;还用于生成配置文件;该服务端以公共服务的方式部署在所述容器控制台上。通过预设的代理服务,并在该代理服务与容器控制台之间建立网络隧道,容器控制台可以通过该网络隧道发送管理指令,通过该代理服务将该管理指令转发至容器集群,使容器集群不需要向公网开放API Server,即可管理租户的容器资源,该方式降低了租户的容器资源的安全隐患,同时降低了管理成本。
相对于相关技术,控制台基于网络隧道对租户k8s容器集群进行管理,主要是控制台与租户k8s容器集群的通信方式不同,具体的管理内容和请求种类等可参考相关技术。
为进一步理解上述实施例,下面提供一种容器控制台与容器集群系统的交互示意图,如图4所示,图中以容器集群系统的数量为两个进行说明,分别为容器集群系统1和容器集群系统2;每个容器集群系统中均包括agent和租户K8s容器集群,其中agent相当于上述代理服务,租户K8s容器集群相当于上述容器集群;作为示例,图中的容器控制台中包括两个隧道server,分别为隧道server1和隧道server2;隧道server相当于上述网络隧道的服务端,两个隧道server分别与两个容器集群系统中的agent连接,以构建网络隧道。
具体的,通过隧道server1生成配置文件1,该配置文件1中包括容器控制台的地址信息和认证信息、以及容器集群系统1中的agent启动并部署所需的环境参数;容器集群系统1中的agent根据该配置文件1启动并部署在租户1的虚拟私有云VPC网络环境中,并与容器控制台建立网络隧道1;通过隧道server2生成配置文件2,该配置文件2中包括容器控制台的地址信息和认证信息、以及容器集群系统2中的agent启动并部署所需的环境参数;容器集群系统2中的agent根据该配置文件2启动并部署在租户2的虚拟私有云VPC网络环境中,并与容器控制台建立网络隧道2。
容器控制台通过网络隧道向容器集群系统中的agent发送管理指令;agent再将接收到的管理指令转发至对应的容器集群,以使该容器集群执行该管理指令;当容器集群执行完成该管理指令后,通常还会通过对应的agent向容器控制台返回该管理指令已执行完成的反馈信息。
本发明实施例还提供了一种服务器,参见图5所示,该服务器包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以运行上述容器集群系统或者上述容器控制台。
进一步地,图5所示的服务器还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述容器集群系统或者容器控制台的各功能可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的容器集群系统或者容器控制台的各功能及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的各功能可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的容器集群系统或者容器控制台的各功能。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器运行上述容器集群系统,或上述容器控制台,具体实现可参见前述容器集群系统或者容器控制台实施例,在此不再赘述。
本发明实施例所提供的容器集群系统、容器控制台和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面实施例中容器集群系统或者容器控制台的各功能,具体实现可参见容器集群系统或者容器控制台实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种容器集群系统,其特征在于,所述系统运行在租户的虚拟私有云VPC网络环境中;所述系统包括容器集群和代理服务;所述容器集群通过所述代理服务与所述虚拟私有云VPC网络环境外部的容器控制台建立有网络隧道;
所述代理服务用于通过所述网络隧道接收来自所述容器控制台的管理指令,将所述管理指令转发至所述容器集群,以使所述容器集群执行所述管理指令。
2.根据权利要求1所述的容器集群系统,其特征在于,所述代理服务运行在所述容器集群的管理节点或工作节点上。
3.根据权利要求1所述的容器集群系统,其特征在于,所述代理服务通过预先配置的配置文件启动并部署在所述租户的虚拟私有云VPC网络环境中;
其中,所述配置文件由所述容器控制台生成,所述配置文件中包括用于启动并部署所述代理服务所需的环境参数。
4.根据权利要求3所述的容器集群系统,其特征在于,所述代理服务还用于:根据所述配置文件与所述容器控制台建立网络隧道;所述配置文件还包括所述容器控制台的地址信息和认证信息。
5.根据权利要求4所述的容器集群系统,其特征在于,所述代理服务还用于:
如果接收到所述管理指令,将所述认证信息添加至所述管理指令,再将添加有所述认证信息的管理指令转发至所述容器集群的管理节点。
6.根据权利要求5所述的容器集群系统,其特征在于,所述管理节点上运行有Kube-APIServer服务;
所述Kube-API Server服务用于:接收添加有所述认证信息的管理指令,对所述认证信息进行认证;如果所述认证信息认证通过,执行所述管理指令。
7.根据权利要求1-6任一项所述的容器集群系统,其特征在于,所述网络隧道通过websocket协议传输所述管理指令。
8.一种容器控制台,其特征在于,所述容器控制台通过预设的代理服务,与运行在租户的虚拟私有云VPC网络环境内的容器集群建立有网络隧道;其中,所述代理服务运行在所述租户的虚拟私有云VPC网络环境内;
所述容器控制台用于通过所述网络隧道发送管理指令至所述代理服务;所述代理服务用于接收所述管理指令,将所述管理指令转发至所述容器集群,以使所述容器集群执行所述管理指令。
9.根据权利要求8所述的容器控制台,其特征在于,所述容器控制台上运行有网络隧道的服务端;
所述服务端用于与所述代理服务建立所述网络隧道。
10.根据权利要求9所述的容器控制台,其特征在于,所述服务端还用于生成配置文件;所述配置文件包括所述容器控制台的地址信息和认证信息、以及所述代理服务启动并部署所需的环境参数;
所述配置文件用于在租户的虚拟私有云VPC网络环境内启动并部署所述代理服务,还用于所述代理服务与所述服务端建立网络隧道。
11.根据权利要求9-10任一项所述的容器控制台,其特征在于,所述服务端以公共服务的方式部署在所述容器控制台上。
12.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以运行权利要求1-7任一项所述的容器集群系统,或权利要求8-11任一项所述的容器控制台。
13.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器运行权利要求1-7任一项所述的容器集群系统,或权利要求8-11任一项所述的容器控制台。
CN202010149280.8A 2020-03-05 2020-03-05 容器集群系统、容器控制台和服务器 Active CN113364727B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010149280.8A CN113364727B (zh) 2020-03-05 2020-03-05 容器集群系统、容器控制台和服务器
PCT/CN2021/077959 WO2021175152A1 (zh) 2020-03-05 2021-02-25 容器集群系统、容器控制台和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010149280.8A CN113364727B (zh) 2020-03-05 2020-03-05 容器集群系统、容器控制台和服务器

Publications (2)

Publication Number Publication Date
CN113364727A true CN113364727A (zh) 2021-09-07
CN113364727B CN113364727B (zh) 2023-04-18

Family

ID=77523872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010149280.8A Active CN113364727B (zh) 2020-03-05 2020-03-05 容器集群系统、容器控制台和服务器

Country Status (2)

Country Link
CN (1) CN113364727B (zh)
WO (1) WO2021175152A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114338670A (zh) * 2021-12-24 2022-04-12 中汽创智科技有限公司 一种边缘云平台和具有其的网联交通三级云控平台
CN114531443A (zh) * 2022-02-18 2022-05-24 京东科技信息技术有限公司 基于集群的容器控制方法及系统
CN114598700A (zh) * 2022-01-25 2022-06-07 阿里巴巴(中国)有限公司 通信方法及通信系统
CN114938375A (zh) * 2022-05-16 2022-08-23 聚好看科技股份有限公司 一种容器组更新设备及容器组更新方法
CN116204269A (zh) * 2021-11-30 2023-06-02 慧与发展有限责任合伙企业 部署和管理租户集群中的服务的具有集成服务的管理集群
CN116436671A (zh) * 2023-04-14 2023-07-14 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、系统、设备和介质
CN114531443B (zh) * 2022-02-18 2024-05-17 京东科技信息技术有限公司 基于集群的容器控制方法及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852573A (zh) * 2021-10-18 2021-12-28 杭州安恒信息技术股份有限公司 一种容器跨宿主机的通信方法、装置、设备及介质
CN114125025B (zh) * 2021-11-23 2024-02-13 北京奥星贝斯科技有限公司 一种多目标网络下的数据传输方法及装置
CN114389885B (zh) * 2022-01-14 2024-03-22 浙江远东工业开发有限公司 一种安全的开放私有云数据库到公有云方法
CN114706596B (zh) * 2022-04-11 2023-12-01 中国电信股份有限公司 容器部署方法、资源调度方法、装置、介质和电子设备
CN115242877B (zh) * 2022-09-21 2023-01-24 之江实验室 面向多K8s集群的Spark协同计算、作业方法及装置
US11954525B1 (en) 2022-09-21 2024-04-09 Zhejiang Lab Method and apparatus of executing collaborative job for spark faced to multiple K8s clusters
CN115604146B (zh) * 2022-11-30 2023-05-23 广东睿江云计算股份有限公司 持续获取K8s集群状况的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979493A (zh) * 2017-11-21 2018-05-01 平安科技(深圳)有限公司 平台即服务paas容器平台的构建方法、服务器及存储介质
US10091297B1 (en) * 2016-05-18 2018-10-02 EMC IP Holding Company LLC Data processing and data movement in cloud computing environment
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109582441A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于提供容器服务的系统、方法和装置
CN110175077A (zh) * 2019-05-27 2019-08-27 浪潮云信息技术有限公司 一种基于命令管理容器资源的方法及系统
CN110198231A (zh) * 2018-05-08 2019-09-03 腾讯科技(深圳)有限公司 用于多租户的容器网络管理方法和系统以及中间件
CN110808857A (zh) * 2019-10-31 2020-02-18 深圳前海环融联易信息科技服务有限公司 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326709B1 (en) * 2014-06-30 2019-06-18 EMC IP Holding Company LLC Cluster aware container manager
CN105429938B (zh) * 2015-10-23 2018-11-06 深圳前海达闼云端智能科技有限公司 一种资源配置方法及装置
CN107493191B (zh) * 2017-08-08 2020-12-22 深信服科技股份有限公司 一种集群节点及自调度容器集群系统
US10848552B2 (en) * 2018-03-29 2020-11-24 Hewlett Packard Enterprise Development Lp Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system
CN110618821A (zh) * 2018-06-19 2019-12-27 普天信息技术有限公司 基于Docker的容器集群系统及快速搭建方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091297B1 (en) * 2016-05-18 2018-10-02 EMC IP Holding Company LLC Data processing and data movement in cloud computing environment
CN107979493A (zh) * 2017-11-21 2018-05-01 平安科技(深圳)有限公司 平台即服务paas容器平台的构建方法、服务器及存储介质
CN110198231A (zh) * 2018-05-08 2019-09-03 腾讯科技(深圳)有限公司 用于多租户的容器网络管理方法和系统以及中间件
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109582441A (zh) * 2018-11-30 2019-04-05 北京百度网讯科技有限公司 用于提供容器服务的系统、方法和装置
CN110175077A (zh) * 2019-05-27 2019-08-27 浪潮云信息技术有限公司 一种基于命令管理容器资源的方法及系统
CN110808857A (zh) * 2019-10-31 2020-02-18 深圳前海环融联易信息科技服务有限公司 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN116204269A (zh) * 2021-11-30 2023-06-02 慧与发展有限责任合伙企业 部署和管理租户集群中的服务的具有集成服务的管理集群
CN114338670B (zh) * 2021-12-24 2023-12-26 中汽创智科技有限公司 一种边缘云平台和具有其的网联交通三级云控平台
CN114338670A (zh) * 2021-12-24 2022-04-12 中汽创智科技有限公司 一种边缘云平台和具有其的网联交通三级云控平台
CN114024782B (zh) * 2022-01-10 2022-04-12 江苏博云科技股份有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114598700A (zh) * 2022-01-25 2022-06-07 阿里巴巴(中国)有限公司 通信方法及通信系统
CN114598700B (zh) * 2022-01-25 2024-03-29 阿里巴巴(中国)有限公司 通信方法及通信系统
CN114531443A (zh) * 2022-02-18 2022-05-24 京东科技信息技术有限公司 基于集群的容器控制方法及系统
CN114531443B (zh) * 2022-02-18 2024-05-17 京东科技信息技术有限公司 基于集群的容器控制方法及系统
CN114938375A (zh) * 2022-05-16 2022-08-23 聚好看科技股份有限公司 一种容器组更新设备及容器组更新方法
CN114938375B (zh) * 2022-05-16 2023-06-02 聚好看科技股份有限公司 一种容器组更新设备及容器组更新方法
CN116436671B (zh) * 2023-04-14 2023-11-17 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、系统、设备和介质
CN116436671A (zh) * 2023-04-14 2023-07-14 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、系统、设备和介质

Also Published As

Publication number Publication date
WO2021175152A1 (zh) 2021-09-10
CN113364727B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN113364727B (zh) 容器集群系统、容器控制台和服务器
US11457070B2 (en) Virtual hosting device and service to provide software-defined networks in a cloud environment
US9923871B1 (en) Application-aware connection for network access client
CN108881308B (zh) 一种用户终端及其认证方法、系统、介质
CN105610632B (zh) 一种虚拟网络设备及相关方法
WO2021077767A1 (zh) 一种业务管理方法及装置
US11089004B2 (en) Method and system for application authenticity attestation
CN113341798A (zh) 远程访问应用的方法、系统、装置、设备及存储介质
CN113037761B (zh) 登录请求的验证方法及装置、存储介质、电子设备
CN114500120B (zh) 一种公共云的扩展方法、设备、系统及存储介质
CN112152989A (zh) 用于更新用于第三方电信提供方的应用层的方法和系统
CN113872933B (zh) 隐藏源站的方法、系统、装置、设备及存储介质
CN113037684B (zh) VxLan隧道认证方法、装置和系统及网关
CN107835099B (zh) 一种信息同步方法及装置
KR20180028648A (ko) 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법
US11888898B2 (en) Network configuration security using encrypted transport
CN113873041B (zh) 报文传输方法、装置、网络设备及计算机可读存储介质
CN109962831B (zh) 虚拟客户终端设备、路由器、存储介质和通信方法
CN113098954B (zh) 报文转发方法、装置、计算机设备和存储介质
US11451520B2 (en) Private network and application provisioning system
KR102637615B1 (ko) 엣지 플랫폼 관리장치, 및 엣지 플랫폼 관리장치의 동작 방법
US20240163162A1 (en) System and method for zero trust orchestration of an edge gateway within a cloud or multi-cloud network
CN117375857A (zh) 一种报文处理方法、装置、系统及相关设备
CN117478734A (zh) 报文发送方法、装置及系统
WO2024102488A2 (en) System and method for zero trust orchestration of an edge gateway within a cloud or multi-cloud 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
GR01 Patent grant
GR01 Patent grant