CN110764918A - 一种容器集群中主节点管理方法 - Google Patents

一种容器集群中主节点管理方法 Download PDF

Info

Publication number
CN110764918A
CN110764918A CN201911065047.5A CN201911065047A CN110764918A CN 110764918 A CN110764918 A CN 110764918A CN 201911065047 A CN201911065047 A CN 201911065047A CN 110764918 A CN110764918 A CN 110764918A
Authority
CN
China
Prior art keywords
node
certificate
etcd
cluster
capacity
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
CN201911065047.5A
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911065047.5A priority Critical patent/CN110764918A/zh
Publication of CN110764918A publication Critical patent/CN110764918A/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Abstract

本发明特别涉及一种容器集群中主节点管理方法。该容器集群中主节点管理方法,重新规划K8s和etcd证书结构,针对每个节点单独生成证书;扩容主节点的同时扩容etcd,缩容主节点的同时缩容etcd;提供主节点与工作节点的切换脚本,支持master slave节点切换。该容器集群中主节点管理方法,重新设计了相关证书结构,解决了主节点扩容中的难题,可以在不影响K8s集群业务的前提下,实现主节点的平滑扩容、缩容,以及主节点与工作节点之间的切换。

Description

一种容器集群中主节点管理方法
技术领域
本发明涉及容器集群中节点管理技术领域,特别涉及一种容器集群中主节点管理方法。
背景技术
Kubernetes,简称K8s,是用8代替8个字符"ubernete"而成的缩写;是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。
传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
近些年来,Kubernetes作为先进的容器编排系统,得到了快速的发展,并在云计算云服务领域得到了广泛的应用。
但是,现有技术中一个已部署各种业务,并正在使用中的Kubernetes集群可以很方便的扩容slave节点(工作节点,用于运行业务pod),但是扩容master节点(主节点,用于部署K8s核心组件,比如kube-apiserver,kube-controller-manager,kube-scheduler,etcd等)由于涉及到etcd(K8s的存储组件,分布式key-value数据库,个数与K8s master节点同步,集群节点间需要证书进行认证)及证书(etcd集群和K8s集群内部认证所需,由根证书生成,保证集群内部访问安全)问题,很难实现扩容。
基于上述情况,本发明提出了一种容器集群中主节点管理方法。旨在采用ansible脚本方式,在不影响集群正常运行的前提下,实现在原有K8s集群上对主节点的增加、删除及切换。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的容器集群中主节点管理方法。
本发明是通过如下技术方案实现的:
一种容器集群中主节点管理方法,其特征在于,包括以下步骤:
第一步,重新规划K8s和etcd证书结构,针对每个节点单独生成证书;
第二步,提供扩容主节点脚本,扩容主节点同时扩容etcd;
第三步,提供缩容主节点脚本,缩容主节点同时缩容etcd;
第四步,提供主节点与工作节点的切换脚本,支持主节点与工作节点之间的相互切换。
所述第一步中,修改证书生成方案,针对容器集群中每个节点分别生成证书配置文件,配置文件包含当前节点IP,并用同一个根证书签发证书。
具体包括以下步骤:
a)首先,生成根证书;
b)针对每个节点生成对应的证书配置文件和私钥;
c)用配置文件和私钥生成证书签发请求文件;
d)用配置文件和证书签发请求文件,并与根证书生成节点证书。
所述第二步中,扩容主节点需要同时扩容etcd,并生成新加入节点的证书,新节点证书使用生成的etcd证书和K8s证书。
具体包括以下步骤:
a)针对新节点生成证书
根据新主节点生成K8s和etcd证书配置文件,由原先的K8s根证书和etcd根证书分别生成新节点的K8s证书和etcd证书;
b)将节点加入etcd集群
在新节点上配置etcd进程及配置文件,并在etcd集群上将新节点加入集群,同时修改老节点集群配置信息,新节点证书使用步骤a)中生成的etcd证书;
c)将节点加入K8s集群
在新节点上起K8s管理组件,如kube-apiserver,kube-scheduler,kube-controller-manager等组件,新节点证书使用步骤a)中生成的K8s证书。
所述第三步中,缩容主节点需要将etcd节点和K8s节点删除;具体步骤如下:
a)在要缩容的主节点上停掉etcd进程和K8s相关组件;
b)在原先集群上删掉需要缩容etcd节点和K8s节点;
c)修改保留节点etcd与K8s组件配置文件,删掉缩容节点的相关信息。
所述第四步中,主节点切换为工作节点时,删掉etcd及K8s主节点相关组件,去除etcd中被切换接点,同时修改etcd集群和K8s集群相关配置文件。
所述第四步中,工作节点切换主节点为时,启动etcd及主节点相关组件,将节点加入etcd集群,并修改etcd集群和K8s集群相关配置文件。
本发明的有益效果是:该容器集群中主节点管理方法,重新设计了相关证书结构,解决了主节点扩容中的难题,可以在不影响K8s集群业务的前提下,实现主节点的平滑扩容、缩容,以及主节点与工作节点之间的切换。
附图说明
附图1为本发明容器集群中主节点扩容方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该容器集群中主节点管理方法,包括以下步骤:
第一步,重新规划K8s和etcd证书结构,针对每个节点单独生成证书;
第二步,提供扩容主节点脚本,扩容主节点同时扩容etcd;
第三步,提供缩容主节点脚本,缩容主节点同时缩容etcd;
第四步,提供主节点与工作节点的切换脚本,支持主节点与工作节点之间的相互切换。
所述第一步中,修改证书生成方案,针对容器集群中每个节点分别生成证书配置文件,配置文件包含当前节点IP,并用同一个根证书签发证书。
具体包括以下步骤:
a)首先,生成根证书;
b)针对每个节点生成对应的证书配置文件和私钥;
c)用配置文件和私钥生成证书签发请求文件;
d)用配置文件和证书签发请求文件,并与根证书生成节点证书。
所述第二步中,扩容主节点需要同时扩容etcd,并生成新加入节点的证书,新节点证书使用生成的etcd证书和K8s证书。
具体包括以下步骤:
a)针对新节点生成证书
根据新主节点生成K8s和etcd证书配置文件,由原先的K8s根证书和etcd根证书分别生成新节点的K8s证书和etcd证书;
b)将节点加入etcd集群
在新节点上配置etcd进程及配置文件,并在etcd集群上将新节点加入集群,同时修改老节点集群配置信息,新节点证书使用步骤a)中生成的etcd证书;
c)将节点加入K8s集群
在新节点上起K8s管理组件,如kube-apiserver,kube-scheduler,kube-controller-manager等组件,新节点证书使用步骤a)中生成的K8s证书。
所述第三步中,缩容主节点需要将etcd节点和K8s节点删除;具体步骤如下:
a)在要缩容的主节点上停掉etcd进程和K8s相关组件;
b)在原先集群上删掉需要缩容etcd节点和K8s节点;
c)修改保留节点etcd与K8s组件配置文件,删掉缩容节点的相关信息。
所述第四步中,主节点切换为工作节点时,删掉etcd及K8s主节点相关组件,去除etcd中被切换接点,同时修改etcd集群和K8s集群相关配置文件。
所述第四步中,工作节点切换主节点为时,启动etcd及主节点相关组件,将节点加入etcd集群,并修改etcd集群和K8s集群相关配置文件。
该容器集群中主节点管理方法,重新设计了相关证书结构,解决了主节点扩容中的难题,可以在不影响K8s集群业务的前提下,实现主节点的平滑扩容、缩容,以及主节点与工作节点之间的切换。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种容器集群中主节点管理方法,其特征在于,包括以下步骤:
第一步,重新规划K8s和etcd证书结构,针对每个节点单独生成证书;
第二步,提供扩容主节点脚本,扩容主节点同时扩容etcd;
第三步,提供缩容主节点脚本,缩容主节点同时缩容etcd;
第四步,提供主节点与工作节点的切换脚本,支持主节点与工作节点之间的相互切换。
2.根据权利要求1所述的容器集群中主节点管理方法,其特征在于:所述第一步中,修改证书生成方案,针对容器集群中每个节点分别生成证书配置文件,配置文件包含当前节点IP,并用同一个根证书签发证书。
3.根据权利要求2所述的容器集群中主节点管理方法,其特征在于:具体包括以下步骤:
a)首先,生成根证书;
b)针对每个节点生成对应的证书配置文件和私钥;
c)用配置文件和私钥生成证书签发请求文件;
d)用配置文件和证书签发请求文件,并与根证书生成节点证书。
4.根据权利要求1所述的容器集群中主节点管理方法,其特征在于:所述第二步中,扩容主节点需要同时扩容etcd,并生成新加入节点的证书,新节点证书使用生成的etcd证书和K8s证书。
5.根据权利要求4所述的容器集群中主节点管理方法,其特征在于:具体包括以下步骤:
a)针对新节点生成证书
根据新主节点生成K8s和etcd证书配置文件,由原先的K8s根证书和etcd根证书分别生成新节点的K8s证书和etcd证书;
b)将节点加入etcd集群
在新节点上配置etcd进程及配置文件,并在etcd集群上将新节点加入集群,同时修改老节点集群配置信息,新节点证书使用步骤a)中生成的etcd证书;
c)将节点加入K8s集群
在新节点上起K8s管理组件,新节点证书使用步骤a)中生成的K8s证书。
6.根据权利要求1所述的容器集群中主节点管理方法,其特征在于:所述第三步中,缩容主节点需要将etcd节点和K8s节点删除;具体步骤如下:
a)在要缩容的主节点上停掉etcd进程和K8s相关组件;
b)在原先集群上删掉需要缩容etcd节点和K8s节点;
c)修改保留节点etcd与K8s组件配置文件,删掉缩容节点的相关信息。
7.根据权利要求1所述的容器集群中主节点管理方法,其特征在于:所述第四步中,主节点切换为工作节点时,删掉etcd及K8s主节点相关组件,去除etcd中被切换接点,同时修改etcd集群和K8s集群相关配置文件。
8.根据权利要求1所述的容器集群中主节点管理方法,其特征在于:所述第四步中,工作节点切换主节点为时,启动etcd及主节点相关组件,将节点加入etcd集群,并修改etcd集群和K8s集群相关配置文件。
CN201911065047.5A 2019-11-04 2019-11-04 一种容器集群中主节点管理方法 Pending CN110764918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911065047.5A CN110764918A (zh) 2019-11-04 2019-11-04 一种容器集群中主节点管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911065047.5A CN110764918A (zh) 2019-11-04 2019-11-04 一种容器集群中主节点管理方法

Publications (1)

Publication Number Publication Date
CN110764918A true CN110764918A (zh) 2020-02-07

Family

ID=69335613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911065047.5A Pending CN110764918A (zh) 2019-11-04 2019-11-04 一种容器集群中主节点管理方法

Country Status (1)

Country Link
CN (1) CN110764918A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614785A (zh) * 2020-06-03 2020-09-01 成都智视慧语科技有限公司 一种基于微容器云的边缘ai计算集群
CN112882794A (zh) * 2021-02-25 2021-06-01 重庆紫光华山智安科技有限公司 pod扩容方法、装置、节点及存储介质
CN114189496A (zh) * 2022-02-16 2022-03-15 苏州浪潮智能科技有限公司 一种集群系统的ip修改方法、装置及相关设备
CN117806775A (zh) * 2024-02-29 2024-04-02 苏州元脑智能科技有限公司 Kubernetes集群的容器资源处理方法和装置
CN117806775B (zh) * 2024-02-29 2024-04-26 苏州元脑智能科技有限公司 Kubernetes集群的容器资源处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020055989A1 (en) * 2000-11-08 2002-05-09 Stringer-Calvert David W.J. Methods and apparatus for scalable, distributed management of virtual private networks
CN101217402A (zh) * 2008-01-15 2008-07-09 杭州华三通信技术有限公司 一种提高集群可靠性的方法和一种高可靠性通信节点
CN103634375A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 扩容集群节点的方法、装置及设备
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020055989A1 (en) * 2000-11-08 2002-05-09 Stringer-Calvert David W.J. Methods and apparatus for scalable, distributed management of virtual private networks
CN101217402A (zh) * 2008-01-15 2008-07-09 杭州华三通信技术有限公司 一种提高集群可靠性的方法和一种高可靠性通信节点
CN103634375A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 扩容集群节点的方法、装置及设备
CN106331098A (zh) * 2016-08-23 2017-01-11 东方网力科技股份有限公司 一种服务器集群系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEIXIN_33922672: "Kubernetes的etcd多节点扩容实战技巧", 《CSDN博客,HTTPS://BLOG.CSDN.NET/WEIXIN_33922672/ARTICLE/DETAILS/92211476》 *
胡了了: "openshift/origin学习记录—集群节点扩容(master/node/etcd)", 《CSDN博客,HTTPS://BLOG.CSDN.NET/HUQIGANG/ARTICLE/DETAILS/78352337》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614785A (zh) * 2020-06-03 2020-09-01 成都智视慧语科技有限公司 一种基于微容器云的边缘ai计算集群
CN112882794A (zh) * 2021-02-25 2021-06-01 重庆紫光华山智安科技有限公司 pod扩容方法、装置、节点及存储介质
CN112882794B (zh) * 2021-02-25 2022-10-28 重庆紫光华山智安科技有限公司 pod扩容方法、装置、节点及存储介质
CN114189496A (zh) * 2022-02-16 2022-03-15 苏州浪潮智能科技有限公司 一种集群系统的ip修改方法、装置及相关设备
CN117806775A (zh) * 2024-02-29 2024-04-02 苏州元脑智能科技有限公司 Kubernetes集群的容器资源处理方法和装置
CN117806775B (zh) * 2024-02-29 2024-04-26 苏州元脑智能科技有限公司 Kubernetes集群的容器资源处理方法和装置

Similar Documents

Publication Publication Date Title
Mayer et al. Fogstore: Toward a distributed data store for fog computing
CN103167041B (zh) 一种支持云环境应用集群自动化部署的系统及方法
EP2675127B1 (en) Method and device for automatically migrating system configuration item
EP3588296A1 (en) Dynamically scaled hyperconverged system
US10303450B2 (en) Systems and methods for a policy-driven orchestration of deployment of distributed applications
CN105224466A (zh) 一种基于Docker的集成测试方法及系统
US11057471B2 (en) Edge application management method and system
EP3564835B1 (en) Data redistribution method and apparatus, and database cluster
CN110764918A (zh) 一种容器集群中主节点管理方法
CN105959390A (zh) 微服务的统一管理系统及方法
CN111385114A (zh) Vnf服务实例化方法及装置
CN103647849A (zh) 一种业务迁移方法、装置和一种容灾系统
CN106407214A (zh) 分布式存储方法与系统
WO2019154202A1 (zh) 一种安全防护方法及装置
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
CN105893115A (zh) 差异化部署虚拟机的方法和系统
US20170111207A1 (en) Nfv system and method for linking vnfm
WO2015196654A1 (zh) 网管的分布式管理方法及装置
CN117120984A (zh) 云计算平台上构建数据中心的多基层容错持续交付
CN116783581A (zh) 在云平台中配置的数据中心上部署软件发布
CN113835834A (zh) 一种基于k8s容器集群计算节点的扩容方法及系统
CN115604120B (zh) 一种多云集群资源共享方法、装置、设备及存储介质
CN115037757B (zh) 一种多集群服务管理系统
CN116243930A (zh) 多版本并行环境设计方法及搭建系统
CN117014175A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200207

RJ01 Rejection of invention patent application after publication