CN110764918A - 一种容器集群中主节点管理方法 - Google Patents
一种容器集群中主节点管理方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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集群相关配置文件。
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)
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集群的容器资源处理方法和装置 |
CN117806815A (zh) * | 2023-11-27 | 2024-04-02 | 本原数据(北京)信息技术有限公司 | 数据处理方法、系统、电子设备及存储介质 |
Citations (4)
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 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
-
2019
- 2019-11-04 CN CN201911065047.5A patent/CN110764918A/zh active Pending
Patent Citations (4)
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)
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 (7)
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修改方法、装置及相关设备 |
CN117806815A (zh) * | 2023-11-27 | 2024-04-02 | 本原数据(北京)信息技术有限公司 | 数据处理方法、系统、电子设备及存储介质 |
CN117806775A (zh) * | 2024-02-29 | 2024-04-02 | 苏州元脑智能科技有限公司 | Kubernetes集群的容器资源处理方法和装置 |
CN117806775B (zh) * | 2024-02-29 | 2024-04-26 | 苏州元脑智能科技有限公司 | Kubernetes集群的容器资源处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764918A (zh) | 一种容器集群中主节点管理方法 | |
CN107515776B (zh) | 业务不间断升级方法、待升级节点和可读存储介质 | |
US11057471B2 (en) | Edge application management method and system | |
CN103167041B (zh) | 一种支持云环境应用集群自动化部署的系统及方法 | |
EP2675127B1 (en) | Method and device for automatically migrating system configuration item | |
EP3200393B1 (en) | Method and device for virtual network function management | |
US10303450B2 (en) | Systems and methods for a policy-driven orchestration of deployment of distributed applications | |
CN105224466A (zh) | 一种基于Docker的集成测试方法及系统 | |
CN102664747B (zh) | 一种云计算平台系统 | |
EP3564835B1 (en) | Data redistribution method and apparatus, and database cluster | |
CN107526626A (zh) | 一种基于CRIU的Docker容器热迁移方法及系统 | |
EP2944070B1 (en) | Service migration across cluster boundaries | |
CN111385114A (zh) | Vnf服务实例化方法及装置 | |
CN105959390A (zh) | 微服务的统一管理系统及方法 | |
WO2019154202A1 (zh) | 一种安全防护方法及装置 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN105893115A (zh) | 差异化部署虚拟机的方法和系统 | |
US20170111207A1 (en) | Nfv system and method for linking vnfm | |
CN115604120B (zh) | 一种多云集群资源共享方法、装置、设备及存储介质 | |
CN105744001A (zh) | 分布式缓存系统扩容方法、数据访问方法及装置和系统 | |
CN112422683A (zh) | 一种k8s环境下的api网关服务高可用实现方法 | |
CN104536805A (zh) | 一种虚拟化平台的资源提供系统及方法 | |
CN116783581A (zh) | 在云平台中配置的数据中心上部署软件发布 | |
CN113835834A (zh) | 一种基于k8s容器集群计算节点的扩容方法及系统 | |
CN108810107B (zh) | 一种双态it业务的云管平台以及服务方法 |
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 |