CN112994909B - 管理Kubernetes集群的方法、装置、设备及存储介质 - Google Patents

管理Kubernetes集群的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112994909B
CN112994909B CN201911275726.5A CN201911275726A CN112994909B CN 112994909 B CN112994909 B CN 112994909B CN 201911275726 A CN201911275726 A CN 201911275726A CN 112994909 B CN112994909 B CN 112994909B
Authority
CN
China
Prior art keywords
master
management platform
management
node
kubernets cluster
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.)
Active
Application number
CN201911275726.5A
Other languages
English (en)
Other versions
CN112994909A (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 CN201911275726.5A priority Critical patent/CN112994909B/zh
Publication of CN112994909A publication Critical patent/CN112994909A/zh
Application granted granted Critical
Publication of CN112994909B publication Critical patent/CN112994909B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种管理Kubernetes集群的方法、装置、设备及存储介质。其中方法应用于Kubernetes集群中的任一节点,包括建立当前节点与管理平台之间的全双工数据通道;获取管理平台基于全双工数据通道发送的管理请求;将管理请求发送至主节点Master的接口API Server;获取主节点Master的接口API Server反馈的基于管理请求的执行结果;将执行结果基于全双工数据通道转发给管理平台。由于无需将Kubernetes集群中主节点Master的API Server暴露到公网中,因此其他非法平台无法与Kubernetes集群建立连接,避免了Kubernetes集群被攻击的风险。对于私有云用户自建的IDC上的Kubernetes集群,无需建立Kubernetes集群与管理平台间的专线,这降低了管理成本。即使建立Kubernetes集群的主节点Master不具备将API Server暴露到公网的能力,管理平台仍可实现对Kubernetes集群的管理。

Description

管理Kubernetes集群的方法、装置、设备及存储介质
技术领域
本发明涉及通信技术领域,更具体地,涉及一种管理Kubernetes集群的方法、一种管理Kubernetes集群的装置、一种Kubernetes集群中的节点、及一种计算机可读存储介质。
背景技术
目前,Kubernetes集群通常运行在私有云用户自建的IDC(Internet DataCenter;互联网数据中心)上,或者运行在云厂商提供的云服务器上。
对于运行在云厂商提供的云服务器上的Kubernetes集群来说,Kubernetes集群的主节点Master将其中的API Server暴露到公网中,以向公网提供一个API接口;管理平台通过公网以和主节点Master提供的API接口连接,并通过该API接口向Kubernetes集群的主节点发送管理请求。但是,Kubernetes集群的主节点Master将其中的API Server暴露到公网中,会导致Kubernetes集群有被攻击的风险。同时,有的Kubernetes集群的主节点Master并不具备将API Server暴露到公网的能力,这使得管理平台无法向该Kubernetes集群发送管理请求,以管理该Kubernetes集群。
对于运行在私有云用户自建的IDC上的Kubernetes集群来说,需要在管理平台和该Kubernetes集群的主节点Master之间建立一个专线,管理平台通过专线向Kubernetes集群的主节点Master发送管理请求。但是,建立专线的成本高。
发明内容
本发明的一个目的是提供一种用于管理Kubernetes集群的新技术方案。
根据本发明的第一方面,提供了一种管理Kubernetes集群的方法,所述方法应用于所述Kubernetes集群中的任一节点,其中,所述Kubernetes集群包括至少一个主节点Master和与每个所述主节点Master通信连接的至少一个计算节点Node,所述方法包括:
建立当前节点与所述管理平台之间的全双工数据通道;
获取所述管理平台基于所述全双工数据通道发送的管理请求;
将所述管理请求发送至所述主节点Master的接口API Server;
获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果;
将所述执行结果基于所述全双工数据通道转发给所述管理平台。
可选的,所述建立当前节点与所述管理平台之间的全双工数据通道,包括:
建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道。
可选的,所述建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道,包括:
向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token;
获取管理平台在验证所述令牌token合法后回馈的应答信息。
可选的,所述将所述管理请求发送至所述主节点Master的接口API Server,包括:
将预先获取的对所述Kubernetes集群的认证信息封装在所述管理请求中;
所述将所述管理请求发送至所述主节点Master的接口API Server,包括:
将封装有认证信息的管理请求发送至所述主节点Master的接口API Server。
可选的,所述方法还包括:
通过所述主节点Master的接口API Server获取所述Kubernetes集群的状态信息;
将所述状态信息,基于所述全双工数据通道转发给所述管理平台。
根据本发明的第二方面,提供了一种管理Kubernetes集群的装置,所述装置包括:
建立模块,用于建立当前节点与所述管理平台之间的全双工数据通道;
第一获取模块,用于获取所述管理平台基于所述全双工数据通道发送的管理请求;
发送模块,用于将所述管理请求发送至所述主节点Master的接口API Server;
第二获取模块,用于获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果;
转发模块,用于将所述执行结果转发给所述管理平台。
可选的,所述建立模块,用于:
建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道。
可选的,所述建立模块,用于:
向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token;
获取管理平台在验证所述令牌token合法后回馈的应答信息。
可选的,所述装置还包括封装模块,封装模块,用于:将预先获取的对所述Kubernetes集群的认证信息封装在所述管理请求中;
发送模块具体用于:将封装有认证信息的管理请求发送至所述主节点Master的接口API Server。
可选的,所述装置还包括第三获取模块,第三获取模块用于:通过所述主节点Master的接口API Server获取所述Kubernetes集群的状态信息;
将所述状态信息,基于所述全双工数据通道转发给所述管理平台。
根据本发明的第三方面,提供了一种Kubernetes集群中的节点,包括如第二方面中任一项所述的装置;或者,
包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如第一方面中任一项所述的方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如第一方面任一项所述的方法。
在本实施例中,Kubernetes集群的主节点Master无需执行将自身的接口APIServer暴露到公网中的操作,仅需当前节点建立当前节点与管理平台之间的全双工数据通道,这样,管理平台便可基于该全双工数据通道向当前节点发送管理请求。当前节点在获取管理平台基于全双工数据通道发送的管理请求之后,将管理请求发送至主节点Master的接口API Server,最后再获取主节点Master的接口API Server反馈的基于管理请求的执行结果,并将执行结果基于全双工数据通道转发给管理平台。这也就是说,本实施例提供的管理Kubernetes集群的方法,无需通过将Kubernetes集群中主节点Master的API Server暴露到公网中,以建立与管理平台的连接的方式,即可实现管理平台对Kubernetes集群的管理。由于无需将Kubernetes集群中主节点的API Server暴露到公网中,因此,其他非法平台不能发现与当前节点的通信连接的主节点Master的接口API Server,从而无法与Kubernetes集群建立通信连接,从而避免了Kubernetes集群被攻击的风险。同时,对于运行在私有云用户自建的IDC上的Kubernetes集群来说,无需建立Kubernetes集群与管理平台之间的专线,从而降低了管理成本。以及即使建立Kubernetes集群的主节点Master不具备将API Server暴露到公网的能力,管理平台仍可向该Kubernetes集群发送管理请求,以实现对Kubernetes集群的管理。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是实现本发明的实施例的Kubernetes集群中的节点的硬件配置的框图;
图2是本发明实施例提供的一种管理Kubernetes集群的方法的流程示意图;
图3是本发明实施例提供的另一种管理Kubernetes集群的方法的流程示意图;
图4是本发明实施例提供的一种管理Kubernetes集群的装置的结构示意图;
图5是本发明实施例提供的一种Kubernetes集群的节点的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置实施例>
图1是根据本发明实施例提供的一种实现管理Kubernetes集群的方法的节点1000的硬件配置的框图。
节点1000可以是Kubernetes集群中的主节点Master,也可以是Kubernetes集群中的计算节点Node。另外,该节点1000可以为便携式电脑、平板电脑、服务器等节点。其中,服务器可以是虚拟机或物理机。
节点1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800,等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
尽管在图1中对节点1000均示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,节点1000只涉及存储器1200和处理器1100。
应用于本发明的实施例中,节点1000的存储器1200用于存储指令,该指令用于控制处理器1100执行本发明实施例提供的管理Kubernetes集群的方法。
在上述描述中,技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<方法实施例>
本实施例提供了一种管理Kubernetes集群的方法,该方法应用于Kubernetes集群的任一节点。
其中,Kubernetes集群,通常也被称之为K8s集群,包括至少一个主节点Master和与每个主节点Master通信连接的至少一个计算节点Node。基于此,可以理解的是,本实施例提供的管理Kubernetes集群的方法应用于Kubernetes集群中的一个主节点Master,或者应用于Kubernetes集群中的一个计算节点Node。
另外,Kubernetes集群可运行在私有云用户自建的IDC上,或者运行在云厂商提供的云服务器上。
如图2所示,本实施例提供的管理Kubernetes集群的方法包括如下S2100-S2500:
S2100、建立当前节点与管理平台之间的全双工数据通道。
在本实施例中,当前节点为本实施例提供的管理Kubernetes集群的方法所应用的节点。
管理平台是用于管理Kubernetes集群的控制台,该管理平台是由供终端用户操作的交互界面和后端服务程序组成。操作者可基于该交互界面来实现对Kubernetes集群的管理。
全双工数据通道指的是具有实时双向通信的能力的数据通道。基于此,可以理解的是,在建立好当前节点与管理平台之间的全双工数据通道之后,管理平台和当前节点可实时的进行数据交互。
在一个实施例中,全双工数据通道可为基于Websocket协议的全双工数据通道。基于此可知,上述S2100的具体实现可以为如下的S2110:
S2110、建立当前节点与管理平台之间基于Websocket协议的全双工数据通道。
可以理解的是,还可以基于其他协议建立全双工数据通道。对此本实施例不做限定,只要能够由当前节点建立与自身与管理平台之间的全双工数据通道即可。
在一个实施例中,上述S2110可具体通过如下S2111和S2112来实现:
S2111、向管理平台发送websocket连接请求,websocket连接请求中包括令牌token。
在本实施例中,当前节点首先获取一个令牌token,当前节点在获取到令牌token之后,基于该令牌token生成一个包含令牌token的websocket连接请求,并将该websocket连接请求发送至管理平台。
在本实施例中,当前节点可通过NAT(Network Address Translation;网络地址转换)的方式,或者通过EIP(Enterprise Information Portal;企业信息门户)等方式使得当前节点具体对外访问公网的能力,从而基于该能力以向管理平台发送websocket连接请求。
S2112、获取管理平台在验证令牌token合法后回馈的应答信息。
在本实施例中,当前节点向管理平台发送websocket连接请求之后,管理平台从该websocket连接请求中提取令牌token,并对提取出的令牌token进行合法性验证。管理平台在验证该令牌token合法后,向当前节点回馈应答信息。此时,当前节点和管理平台之间的全双工数据通道成功建立。
在本实施例中,基于token认证的方式所建立的全双工数据通道,能够保证管理平台和当前节点之间数据交互的安全性。
在另一个实施例中,上述S2110可具体实现方式还可以为基于cookie认证的方式来建立管理平台和当前节点之间的全双工数据通道。
S2200、获取管理平台基于全双工数据通道发送的管理请求。
在本实施例中,基于上述S2100,管理平台和当前节点已经建立了全双工数据通道,因此,管理平台可实时的通过该全双工数据通道向当前节点发送管理请求。
其中,管理请求是用于对Kubernetes集群中的各种资源进行管理的请求。具体的,管理请求中提及到的管理可包括:增加、修改、删除、查询等操作。以及,基于管理请求所管理的资源的资源类型包括:Pod,Deployment,Service,DaemonSet,Job,ConfigMap,Secret等等中的任意组合。
可以理解的是,管理平台通过对Kubernetes集群中的如上述各种类型的资源进行管理,以实现对Kubernetes集群的管理。例如:用户需要在Kubernetes集群中创建一个web服务时,需要在管理平台上对Kubernetes集群中创建Deployment启动多副本的web服务器,再对应创建一个service将web服务器以负载均衡的方式对外提供。当web服务器程序版本升级时,可以在管理平台升级Deployment中各个web服务器程序的版本,也可以根据业务实际负载情况,调整Deployment中web服务程序的副本数量。服务下线时,在管理平台对该Deployment进行删除操作。
在一个例子中,管理请求可以为:创建一个容器组Pod。
S2300、将管理请求发送至主节点Master的接口API Server。
在本实施例中,上述的主节点Master为与当前节点通信连接的主节点Master。
由于Kubernetes集群中计算节点Node与相通信的主节点Master之间是基于主节点Master的接口API Server连通的,因此,在本实施例中,在当前节点接收到管理平台发送的管理请求后,管理平台中保管Kubernetes集群的认证信息的情况下,便可直接将该管理请求发送主节点Master的接口API Server。
其中,认证信息通常被称之为一个CA(Certification Authority)证书,其中通常包括有:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。
在一个实施例中,在管理平台中未保管Kubernetes集群的认证信息的情况下,当前节点可对Kubernetes集群的认证信息进行保管。基于此,在管理平台中未保管Kubernetes集群的认证信息的情况下,本实施例提供的管理Kubernetes集群的方法还包括如下S2310:
S2310、将预先获取的对Kubernetes集群的认证信息封装在管理请求中。
由于Kubernetes集群中的任一节点中都存储有Kubernetes集群的认证信息,因此,在本实施例中,当前节点可从自身中例如以文件映射的方式获取Kubernetes集群的认证信息,并将认证信息封装在获取到的管理请求中。
基于此,上述的S2300的具体实现可以为如下的S2320:
S2320、将封装有认证信息的管理请求发送至主节点Master的接口API Server。
在本实施例中,无需管平台来保管Kubernetes集群的认证信息,这降低了Kubernetes集群的认证信息被泄漏的风险。
S2400、获取主节点Master的接口API Server反馈的基于管理请求的执行结果。
在本实施例中,在主节点Master的接口API Server接收到管理请求后,主节点Master调用自身的相应接口来执行该管理请求。以管理请求为一个创建一个容器组Pod为例,主节点Master将调用相应接口,来执行该管理请求,以在Kubernetes集群中创建一个容器组Pod。在主节点Master创建容器组Pod成功后,会将该创建的容器组Pod的相关信息(例如IP地址等)进行记录,作为执行管理请求后的一个执行结果,并通过自身的接口APIServer进行反馈。或者,在主节点Master创建容器组Pod失败后,生成一个创建容器组Pod失败的执行结果,并通过自身的接口API Server进行反馈。
由于Kubernetes集群中计算节点Node与相通信的主节点Master之间是基于主节点Master的接口API Server连通的,因此,当前节点可至直接的通过主节点Master的接口API Server获取基于管理请求的执行结果。
S2500、将执行结果基于全双工数据通道转发给管理平台。
在本实施例中,当前节点在获取到执行结果后,将该执行结果基于上述S2100创建的全双工数据通道转发给管理平台。这样,便完整的实现了管理平台对Kubernetes集群的管理。
在上述任一实施例的基础上,本实施例提供的管理Kubernetes集群的方法还包括如下S2600和S2700:
S2600、通过主节点Master的接口API Server获取Kubernetes集群的状态信息。
在本实施例中,Kubernetes集群的状态信息通常也称之为Kubernetes集群的监控信息,其中包含有Kubernetes集群中的主节点Master和与该主节点Master通信连接的每一个计算节点Node的状态,例如CPU利用率等。
由于Kubernetes集群的主节点Master会主动的获取与其通信连接的计算节点Node的状态信息,并将其进行存储,例如将其存储在主节点Master的etcd组件中。在此基础上,当前节点可通过主节点Master的接口API Server,获取Kubernetes集群的状态信息。
S2700、将状态信息,基于全双工数据通道转发给管理平台。
在当前节点获取到Kubernetes集群的状态信息之后,将该Kubernetes集群的状态信息基于全双工数据通道转发给管理平台。此时,管理平台获取到Kubernetes集群的状态信息,进一步的可对Kubernetes集群的状态信息进行显示输出等。
在本实施例中,提供了一种管理平台获取Kubernetes集群的状态信息的方式。
在本实施例中,Kubernetes集群的主节点Master无需执行将自身的接口APIServer暴露到公网中的操作,仅需当前节点建立当前节点与管理平台之间的全双工数据通道,这样,管理平台便可基于该全双工数据通道向当前节点发送管理请求。当前节点在获取管理平台基于全双工数据通道发送的管理请求之后,将管理请求发送至主节点Master的接口API Server,最后再获取主节点Master的接口API Server反馈的基于管理请求的执行结果,并将执行结果基于全双工数据通道转发给管理平台。这也就是说,本实施例提供的管理Kubernetes集群的方法,无需通过将Kubernetes集群中主节点Master的API Server暴露到公网中,以建立与管理平台的连接的方式,即可实现管理平台对Kubernetes集群的管理。由于无需将Kubernetes集群中主节点的API Server暴露到公网中,因此,其他非法平台不能发现与当前节点的通信连接的主节点Master的接口API Server,从而无法与Kubernetes集群建立通信连接,从而避免了Kubernetes集群被攻击的风险。同时,对于运行在私有云用户自建的IDC上的Kubernetes集群来说,无需建立Kubernetes集群与管理平台之间的专线,从而降低了管理成本。以及即使建立Kubernetes集群的主节点Master不具备将API Server暴露到公网的能力,管理平台仍可向该Kubernetes集群发送管理请求,以实现对Kubernetes集群的管理。
<例子>
基于上述方法实施例中提供的管理Kubernetes集群的方法,在一个例子中,如图3所示,本实施例提供的一种管理Kubernetes集群的方法可如下述的S3100-S3900:
S3100、当前节点向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token。
S3200、管理平台接收到当前节点发送的websocket连接请求,并对websocket连接请求进行验证,在验证websocket连接请求中的令牌token合法后,向当前节点发送应答信息。
S3300、当前节点获取管理平台在验证所述令牌token合法后回馈的应答信息。
S3400、当前节点获取所述管理平台基于所述全双工数据通道发送的管理请求。
S3500、当前节点将预先获取的对所述Kubernetes集群的认证信息封装在所述管理请求中;
S3600、当前节点将封装有认证信息的管理请求发送至所述主节点Master的接口API Server。
S3700、主节点Master的接口API Server接收到管理请求后,主节点Master调用自身的相应接口来执行该管理请求,对应于该管理请求,主节点Master得到执行结果,并通过接口API Server进行反馈。
S3800、当前节点获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果。
S3900、将所述执行结果基于所述全双工数据通道转发给所述管理平台。
<装置实施例>
在本发明实施例还提供了一种管理Kubernetes集群的装置40,如图4所示,该装置包括建立模块41、第一获取模块42、发送模块43、第二获取模块44、转发模块45。其中:
建立模块41,用于建立当前节点与所述管理平台之间的全双工数据通道;
第一获取模块42,用于获取所述管理平台基于所述全双工数据通道发送的管理请求;
发送模块43,用于将所述管理请求发送至所述主节点Master的接口API Server;
第二获取模块44,用于获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果;
转发模块45,用于将所述执行结果转发给所述管理平台。
在一个实施例中,建立模块41,具体用于:建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道。
在一个实施例中,建立模块41,具体用于:向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token;
获取管理平台在验证所述令牌token合法后回馈的应答信息。
在一个实施例中,所述装置40还包括封装模块,封装模块,用于:将预先获取的对所述Kubernetes集群的认证信息封装在所述管理请求中;
发送模块43具体用于:将封装有认证信息的管理请求发送至所述主节点Master的接口API Server。
在一个实施例中,所述装置还包括第三获取模块,第三获取模块用于:通过所述主节点Master的接口API Server获取所述Kubernetes集群的状态信息;
将所述状态信息,基于所述全双工数据通道转发给所述管理平台。
需要说明的是,本发明装置实施例中各模块的具体实现方式可以参见本发明方法实施例的相关内容,在此不再赘述。
<设备实施例>
本发明实施例还提供了一种Kubernetes集群中的节点50,该节点50可以是Kubernetes集群中的主节点Master,也可以是Kubernetes集群中的一个计算节点Node。
该Kubernetes集群中的节点50包括如图4所示的管理Kubernetes集群的装置40。或者如图5所示,包括中包括存储器51和处理器52。其中:
所述存储器51用于存储计算机指令,所述处理器52用于从所述存储器51中调用所述计算机指令,以执行如上述方法实施例提供的任一种方法。
<存储介质实施例>
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如上述方法实施例提供的任一种方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种管理Kubernetes集群的方法,其特征在于,所述方法应用于所述Kubernetes集群中的任一节点,其中,所述Kubernetes集群包括至少一个主节点Master和与每个所述主节点Master通信连接的至少一个计算节点Node,所述方法包括:
建立当前节点与管理平台之间的全双工数据通道,其中,所述管理平台是用于管理所述Kubernetes集群的控制台;
获取所述管理平台基于所述全双工数据通道发送的管理请求;
将所述管理请求发送至所述主节点Master的接口API Server;
获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果;
将所述执行结果基于所述全双工数据通道转发给所述管理平台。
2.根据权利要求1所述的方法,其特征在于,所述建立当前节点与所述管理平台之间的全双工数据通道,包括:
建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道。
3.根据权利要求2所述的方法,其特征在于,所述建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道,包括:
向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token;
获取管理平台在验证所述令牌token合法后回馈的应答信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述管理请求发送至所述主节点Master的接口API Server,包括:
将预先获取的对所述Kubernetes集群的认证信息封装在所述管理请求中;
所述将所述管理请求发送至所述主节点Master的接口API Server,包括:
将封装有认证信息的管理请求发送至所述主节点Master的接口API Server。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述主节点Master的接口API Server获取所述Kubernetes集群的状态信息;
将所述状态信息,基于所述全双工数据通道转发给所述管理平台。
6.一种管理Kubernetes集群的装置,其特征在于,所述装置包括:
建立模块,用于建立当前节点与管理平台之间的全双工数据通道,其中,所述管理平台是用于管理所述Kubernetes集群的控制台;
第一获取模块,用于获取所述管理平台基于所述全双工数据通道发送的管理请求;
发送模块,用于将所述管理请求发送至主节点Master的接口API Server;
第二获取模块,用于获取所述主节点Master的接口API Server反馈的基于所述管理请求的执行结果;
转发模块,用于将所述执行结果转发给所述管理平台。
7.根据权利要求6所述的装置,其特征在于,所述建立模块,用于:
建立当前节点与所述管理平台之间基于Websocket协议的全双工数据通道。
8.根据权利要求7所述的装置,其特征在于,所述建立模块,用于:
向管理平台发送websocket连接请求,所述websocket连接请求中包括令牌token;
获取管理平台在验证所述令牌token合法后回馈的应答信息。
9.一种Kubernetes集群中的节点,其特征在于,包括如权利要求6-8任一项所述的装置;或者,
包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如权利要求1-5任一项所述的方法。
CN201911275726.5A 2019-12-12 2019-12-12 管理Kubernetes集群的方法、装置、设备及存储介质 Active CN112994909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911275726.5A CN112994909B (zh) 2019-12-12 2019-12-12 管理Kubernetes集群的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911275726.5A CN112994909B (zh) 2019-12-12 2019-12-12 管理Kubernetes集群的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112994909A CN112994909A (zh) 2021-06-18
CN112994909B true CN112994909B (zh) 2022-12-06

Family

ID=76331682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911275726.5A Active CN112994909B (zh) 2019-12-12 2019-12-12 管理Kubernetes集群的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112994909B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965585B (zh) * 2021-12-22 2022-07-12 恒生电子股份有限公司 一种多云互联方法及装置
CN116436671B (zh) * 2023-04-14 2023-11-17 北京志凌海纳科技有限公司 私有网络内的Kubernetes集群接入的方法、系统、设备和介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394663B2 (en) * 2016-12-16 2019-08-27 Red Hat, Inc. Low impact snapshot database protection in a micro-service environment
CN107948203B (zh) * 2017-12-29 2019-09-13 平安科技(深圳)有限公司 一种容器登录方法、应用服务器、系统及存储介质
CN108809722B (zh) * 2018-06-13 2022-03-22 郑州云海信息技术有限公司 一种部署Kubernetes集群的方法、装置和存储介质
CN109684036B (zh) * 2018-12-17 2021-08-10 武汉烽火信息集成技术有限公司 一种容器集群管理方法、存储介质、电子设备及系统
CN110198318A (zh) * 2019-06-03 2019-09-03 浪潮云信息技术有限公司 一种容器服务用户认证方法
CN110191007B (zh) * 2019-06-27 2022-05-03 广州虎牙科技有限公司 节点管理方法、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN112994909A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
JP6782307B2 (ja) ホストされたアプリケーションへの動的アクセス
US10826905B2 (en) Secure access to on-premises web services from multi-tenant cloud services
EP3353982B1 (en) Using derived credentials for enrollment with enterprise mobile device management services
US10432592B2 (en) Password encryption for hybrid cloud services
US10715510B2 (en) Secure device notifications from remote applications
EP3367276B1 (en) Providing devices as a service
CN107249004B (zh) 一种身份认证方法、装置及客户端
CN111614490B (zh) 基于顶级容器集群对托管容器集群的管理系统及方法
US9767295B2 (en) Content based hardware security module assignment to virtual machines
US11381945B2 (en) Use of identity data associated with a device for directing communications to another device
CA3111145A1 (en) Accessing resources in a remote access or cloud-based network environment
CN111970240B (zh) 集群纳管方法、装置及电子设备
US11392552B2 (en) Sharing of data with applications
CN109154968B (zh) 用于组织内的安全且高效的通信的系统和方法
WO2019119267A1 (zh) 配置文件管理的方法、嵌入式通用集成电路卡和终端
CN112583867B (zh) 智能家电设备的共享方法、装置、电子设备和介质
CN112994909B (zh) 管理Kubernetes集群的方法、装置、设备及存储介质
CN109982150B (zh) 智能电视终端的信任链建立方法和智能电视终端
JP2021535521A (ja) 仮想デスクトップでのローカルマップアカウント
US10673893B2 (en) Isolating a source of an attack that originates from a shared computing environment
CN111130820B (zh) 集群管理方法、装置及计算机系统
CN109451497B (zh) 无线网络连接方法及装置、电子设备、存储介质
CN113852621A (zh) 一种基于Jenkins服务器的许可信息确定方法、装置及存储介质
CN107707641B (zh) 一种通过IPv4终端维护IPv6云主机的方法和设备
CN114297309A (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