CN111522622A - 一种基于云平台的k8s快速启动方法 - Google Patents

一种基于云平台的k8s快速启动方法 Download PDF

Info

Publication number
CN111522622A
CN111522622A CN202010290511.7A CN202010290511A CN111522622A CN 111522622 A CN111522622 A CN 111522622A CN 202010290511 A CN202010290511 A CN 202010290511A CN 111522622 A CN111522622 A CN 111522622A
Authority
CN
China
Prior art keywords
cloud platform
cluster
service
node
cloud
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
CN202010290511.7A
Other languages
English (en)
Other versions
CN111522622B (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.)
Inesa R&d Center
Original Assignee
Inesa R&d Center
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 Inesa R&d Center filed Critical Inesa R&d Center
Priority to CN202010290511.7A priority Critical patent/CN111522622B/zh
Publication of CN111522622A publication Critical patent/CN111522622A/zh
Application granted granted Critical
Publication of CN111522622B publication Critical patent/CN111522622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于云平台的K8S快速启动方法,该方法包括以下步骤:步骤1:基于用户请求的容器集群规格,于云平台控制节点生成用于K8S集群所需资源创建的Heat资源编排配置;步骤2:基于Heat资源编排配置调用资源管理模块并进行针对K8S各个节点的虚拟机的资源分配;步骤3:基于虚拟机的clout‑init服务,将虚拟机启动所需的预执行脚本注入至K8S节点内,执行K8S服务的部署工作;步骤4:K8S服务集群的部署创建完毕后,通知云平台的容器集群管理控制器,至此K8S集群最终启动完毕。与现有技术相比,本发明具有启动速度快,出错率低等优点。

Description

一种基于云平台的K8S快速启动方法
技术领域
本发明涉及云计算、云存储和容器技术领域,尤其是涉及一种基于云平台的K8S快速启动方法。
背景技术
OpenStack作为云计算的开源解决方案,经过不断的发展已经比较成熟,它可以方便的实现对各种硬件资源(包括计算资源、存储资源、网络资源)的管理,作为一个资源池提供给用户,灵活分配各种虚拟资源。
K8S作为容器集群管理平台,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能,目前已经得到广泛引用。
在OpenStack上启动K8S集群,提供容器集群服务,能够充分利用云平台的资源优势。
云平台启动K8S集群的传统方法是,通过云平台上的虚拟机启动K8S的各个节点,然后在虚拟机中部署K8S服务,在部署K8S服务的过程中,一般是通过网络方式下载K8S服务所需的各种软件包或Docker镜像,然后启动K8S的系统服务,最终启动整个集群。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于云平台的K8S快速启动方法。
本发明的目的可以通过以下技术方案来实现:
一种基于云平台的K8S快速启动方法,该方法包括以下步骤:
步骤1:基于用户请求的容器集群规格,于云平台控制节点生成用于K8S集群所需资源创建的Heat资源编排配置;
步骤2:基于Heat资源编排配置调用资源管理模块并进行针对K8S各个节点的虚拟机的资源分配;
步骤3:基于虚拟机的clout-init服务,将虚拟机启动所需的预执行脚本注入至K8S节点内,执行K8S服务的部署工作;
步骤4:K8S服务集群的部署创建完毕后,通知云平台的容器集群管理控制器,至此K8S集群最终启动完毕。
进一步地,所述的步骤1具体包括:云平台的控制节点提供K8S集群管理控制器及对应模块后接受用户请求的容器集群规格,生成用于K8S集群所需资源创建的Heat资源编排配置。
进一步地,所述的步骤2具体包括:Heat资源编排配置调用各个资源管理模块的客户端以创建资源,云平台的计算节点提供虚拟化资源以使得K8S的各个节点对应的虚拟机启动于该计算节点上。
进一步地,所述的K8S的各个节点对应的虚拟机中包括OS云硬盘和数据盘云硬盘。
进一步地,所述的OS云硬盘和数据盘云硬盘的后端存储采用Ceph分布式存储。
进一步地,所述的步骤3中的K8S服务的部署工作采用容器化方式执行。
进一步地,所述的K8S的各个节点对应的虚拟机的数据盘通过LVM创建逻辑卷的方式挂载至所述K8S的各个节点对应的虚拟机的文件系统中。
进一步地,所述的步骤3中的执行K8S服务的部署工作的过程中,还包括通过挂载虚拟机的数据盘到文件系统中,并配置Docker服务的数据存储路径,直接利用本地Docker镜像快速启动K8S服务。
与现有技术相比,本发明具有以下优点:
(1)由于传统的部署K8S的过程中,通过网络下载K8S服务工具的模式,受到网络带宽的限制,下载速度慢,部署效率低,用户体验差;虽然通过搭建本地源的方式,利用高速内部网络,提高部署效率,但是性能提升有限。本发明方法结合云平台的特点以及分布式存储系统Ceph的优势,提出了一种基于OpenStack的K8S快速启动的方法,部署效率高,用户体验好。
(2)提高部署效率。基于本发明的优化方法,可以提高K8S的部署效率,本地实验环境中,K8S的部署时间从10分降低到5分钟,部署效率大约提高50%。
附图说明
图1为本发明方法的整体架构图;
图2为本发明方法的整体流程图;
图3为本发明方法的详细流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明方法为了解决在云平台部署K8S集群慢的问题,提出了一种基于OpenStack的K8S快速启动的方法。该方法通过云平台灵活分配K8S集群所需资源,通过分布式存储Ceph进行高效克隆秒级创建存储卷,通过定制化本地镜像、使用本地缓存的方式加速K8S服务的启动,从而实现快速启动K8S集群的目的。
云平台控制节点提供K8S集群管理控制器,Heat资源编排模块以及各个资源管理模块。K8S集群管理控制器接受用户请求,获取K8S集群规格参数,并生成Heat模板,用于K8S集群所需资源(如计算资源、存储资源)的创建。Heat调用各个资源管理模块的客户端,实现资源的创建。
云平台计算节点提供虚拟化资源,K8S的各个节点(包括master节点和node节点)对应的虚拟机启动在该计算节点上。开机启动脚本和定制化配置通过cloud-init注入到虚拟机内,开机启动脚本中执行K8S服务的部署工作。
云平台存储集群提供云平台的存储服务,云平台的镜像、云硬盘、虚拟机等资源全部保存在该存储集群中。为了提高K8S集群部署效率,避免通过网络下载Docker镜像的性能瓶颈,在云平台存储集群中,定制化了两类镜像:预先定制的OS镜像,该镜像已经预先安装K8S集群部署所需的所有RPM包以及其他资源,用于K8S master和node节点的操作系统盘;预先定制的云硬盘镜像,该镜像包含了已经下载好的K8S服务的Docker镜像,在K8S节点启动时,只需配置Docker服务的数据存储路径,即可获得Docker镜像,避免大文件的网络传输降低部署效率。
K8S部署采用容器化方式执行,K8S所有服务都是一个容器,通过容器化部署方便后期升级维护。
计算节点上的K8S节点虚拟机,包含一个OS云硬盘和一个数据盘云硬盘(后期可以增加云硬盘进行扩容)。云硬盘后端存储使用Ceph集群,在创建这两种类型的云硬盘时,通过镜像引用的方式实现云硬盘的秒级创建,进一步通过云硬盘创建虚拟机,提升虚拟机的启动速度。
计算节点上的虚拟机通过cloud-init服务注入开机脚本,执行K8S集群的部署。在部署过程中,由于K8S的Docker镜像通过网络下载耗时低效,本文通过挂载虚拟机的数据盘到文件系统中,并配置Docker服务的数据存储路径,直接利用本地Docker镜像快速启动K8S服务,在实验环境中,部署效率提升了大约50%。
为了方便K8S集群的存储扩容,K8S节点虚拟机的数据盘不是直接挂载到文件系统,而是通过LVM创建逻辑卷的方式进行挂载。在进行存储扩容时,只需将新的云硬盘加入到LVM的物理卷组VG中,并更新逻辑卷大小即可。
实际实施例
如图1所示,云平台控制节点包含K8S集群管理控制器,Heat资源编排模块以及各个资源管理模块。在云平台的控制节点上,K8S集群管理控制器负责接受用户请求,获取K8S集群规格参数,并生成Heat模板,用于K8S集群所需资源(如计算资源、存储资源)的创建;Heat调用各个资源管理模块的客户端,实现资源的创建。云平台计算节点用于启动K8S各个节点(包括master节点和node节点)的虚拟机,并通过cloud-int服务将开机启动脚本注入到虚拟机中并实现虚拟机的定制化,其中虚拟机的云硬盘包括一个OS盘和至少一个数据盘。存储集群中保存了云平台的镜像、云硬盘和虚拟机等资源,其中有两个定制化的镜像:第一个是预先定制的OS镜像,该镜像可以是定制化的Fedora、CentOS镜像,已经预先安装K8S集群部署所需的所有RPM包以及其他资源;预先定制的数据盘云硬盘镜像,该镜像包含了已经下载好的K8S服务的Docker镜像。
如图2是云平台快速部署K8S的整体流程图。首先,容器集群管理控制器基于客户请求的容器集群规格生成heat资源编排配置,包含计算、网络、存储等资源;然后,基于heat配置调用nova、neutron、cinder等管理模块进行资源分配,包括K8S的master节点和node节点的配置;基于虚拟机的clout-init服务,将虚拟机启动时所需的预执行脚本注入到K8S节点内,并执行K8S服务的部署,K8S的服务全部是容器化的服务;K8S集群创建成功后,通过事件的方式通知容器集群管理控制器,完成集群的创建。
如图3是云平台快速部署K8S的详细流程图。首先,基于heat生成虚拟机的资源配置,准备在云平台计算节点上启动K8S节点的虚拟机;基于glance中的定制化的OS镜像,创建虚拟机的OS云硬盘,为了加速创建过程,此处的存储后端使用Ceph分布式存储,通过引用的方式克隆云硬盘,实现秒级创建;基于glance中的定制化的云硬盘镜像(已经预先下载好K8S服务所需的docker镜像),创建虚拟机的数据盘云硬盘,为了加速创建过程,此处的存储后端使用Ceph分布式存储,通过引用的方式克隆云硬盘,实现秒级创建;基于OS云硬盘和数据盘云硬盘,启动K8S节点的虚拟机;结合cloud-init服务,将开机执行脚本注入到虚拟机中,开机执行脚本负责K8S服务的部署,为了方便服务管理,K8S系统服务使用容器方式部署;K8S服务的部署中,虚拟机使用预先下载了Docker镜像的数据盘作为Docker服务的数据存储,避免通过网络下载Docker镜像造成的严重性能瓶颈,极大地加速了整个K8S部署流程;为了Docker数据存储的扩展性,虚拟机的数据盘通过LVM创建逻辑盘的方式挂载到虚拟机的文件系统上,可通过增加云硬盘的方式扩容Docker数据存储。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种基于云平台的K8S快速启动方法,其特征在于,该方法包括以下步骤:
步骤1:基于用户请求的容器集群规格,于云平台控制节点生成用于K8S集群所需资源创建的Heat资源编排配置;
步骤2:基于Heat资源编排配置调用资源管理模块并进行针对K8S各个节点的虚拟机的资源分配;
步骤3:基于虚拟机的clout-init服务,将虚拟机启动所需的预执行脚本注入至K8S节点内,执行K8S服务的部署工作;
步骤4:K8S服务集群的部署创建完毕后,通知云平台的容器集群管理控制器,至此K8S集群最终启动完毕。
2.根据权利要求1所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的步骤1具体包括:云平台的控制节点提供K8S集群管理控制器及对应模块后接受用户请求的容器集群规格,生成用于K8S集群所需资源创建的Heat资源编排配置。
3.根据权利要求1所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的步骤2具体包括:Heat资源编排配置调用各个资源管理模块的客户端以创建资源,云平台的计算节点提供虚拟化资源以使得K8S的各个节点对应的虚拟机启动于该计算节点上。
4.根据权利要求3所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的K8S的各个节点对应的虚拟机中包括OS云硬盘和数据盘云硬盘。
5.根据权利要求4所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的OS云硬盘和数据盘云硬盘的后端存储采用Ceph分布式存储。
6.根据权利要求1所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的步骤3中的K8S服务的部署工作采用容器化方式执行。
7.根据权利要求4所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的K8S的各个节点对应的虚拟机的数据盘通过LVM创建逻辑卷的方式挂载至所述K8S的各个节点对应的虚拟机的文件系统中。
8.根据权利要求1所述的一种基于云平台的K8S快速启动方法,其特征在于,所述的步骤3中的执行K8S服务的部署工作的过程中,还包括通过挂载虚拟机的数据盘到文件系统中,并配置Docker服务的数据存储路径,直接利用本地Docker镜像快速启动K8S服务。
CN202010290511.7A 2020-04-14 2020-04-14 一种基于云平台的k8s快速启动方法 Active CN111522622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010290511.7A CN111522622B (zh) 2020-04-14 2020-04-14 一种基于云平台的k8s快速启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010290511.7A CN111522622B (zh) 2020-04-14 2020-04-14 一种基于云平台的k8s快速启动方法

Publications (2)

Publication Number Publication Date
CN111522622A true CN111522622A (zh) 2020-08-11
CN111522622B CN111522622B (zh) 2023-10-31

Family

ID=71910697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010290511.7A Active CN111522622B (zh) 2020-04-14 2020-04-14 一种基于云平台的k8s快速启动方法

Country Status (1)

Country Link
CN (1) CN111522622B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118131A (zh) * 2020-09-01 2020-12-22 紫光云(南京)数字技术有限公司 一种高可靠快捷扩容的云资源管理方法
CN113467794A (zh) * 2021-07-23 2021-10-01 烽火通信科技股份有限公司 Magnum自动部署Kubernetes和云原生应用的方法与电子设备
CN113886009A (zh) * 2021-09-24 2022-01-04 济南浪潮数据技术有限公司 一种云服务平台部署大数据集群的系统及方法
CN113934564A (zh) * 2021-09-26 2022-01-14 聚好看科技股份有限公司 一种集群日志的存储方法及装置
CN114186693A (zh) * 2021-11-15 2022-03-15 浪潮集团有限公司 一种量子操作系统的调度方法、系统、装置及计算机介质
CN115174644A (zh) * 2022-06-28 2022-10-11 武汉烽火技术服务有限公司 容器集群服务启停控制方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297733A1 (en) * 2011-12-29 2014-10-02 Huawei Technologies Co., Ltd. Cloud Computing System and Method for Managing Storage Resources Therein
CN109656686A (zh) * 2018-12-17 2019-04-19 武汉烽火信息集成技术有限公司 OpenStack上部署容器云方法、存储介质、电子设备及系统
CN110752947A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种k8s集群部署方法及装置,一种部署平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140297733A1 (en) * 2011-12-29 2014-10-02 Huawei Technologies Co., Ltd. Cloud Computing System and Method for Managing Storage Resources Therein
CN109656686A (zh) * 2018-12-17 2019-04-19 武汉烽火信息集成技术有限公司 OpenStack上部署容器云方法、存储介质、电子设备及系统
CN110752947A (zh) * 2019-10-18 2020-02-04 北京浪潮数据技术有限公司 一种k8s集群部署方法及装置,一种部署平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杜磊: "基于OpenStack和Kubernetes的双向部署技术研究", 《电脑知识与技术》 *
金永霞等: "基于OpenStack的云计算实验平台建设与应用", 《实验技术与管理》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118131A (zh) * 2020-09-01 2020-12-22 紫光云(南京)数字技术有限公司 一种高可靠快捷扩容的云资源管理方法
CN113467794A (zh) * 2021-07-23 2021-10-01 烽火通信科技股份有限公司 Magnum自动部署Kubernetes和云原生应用的方法与电子设备
CN113886009A (zh) * 2021-09-24 2022-01-04 济南浪潮数据技术有限公司 一种云服务平台部署大数据集群的系统及方法
CN113934564A (zh) * 2021-09-26 2022-01-14 聚好看科技股份有限公司 一种集群日志的存储方法及装置
CN114186693A (zh) * 2021-11-15 2022-03-15 浪潮集团有限公司 一种量子操作系统的调度方法、系统、装置及计算机介质
CN115174644A (zh) * 2022-06-28 2022-10-11 武汉烽火技术服务有限公司 容器集群服务启停控制方法、装置、设备及存储介质
CN115174644B (zh) * 2022-06-28 2023-09-12 武汉烽火技术服务有限公司 容器集群服务启停控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111522622B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN111522622A (zh) 一种基于云平台的k8s快速启动方法
US12118341B2 (en) Conversion and restoration of computer environments to container-based implementations
CN113918270B (zh) 基于Kubernetes的云资源调度方法及系统
US11316800B2 (en) Method and system for managing applications
EP3347816B1 (en) Extension of resource constraints for service-defined containers
CN109614226B (zh) 一种基于Kubernetes的有状态应用存储管理方法
US8856790B1 (en) Systems and methods for data management in a virtual computing environment
CN108089913B (zh) 一种超融合系统的虚拟机部署方法
CN111212116A (zh) 一种基于容器云的高性能计算集群创建方法和系统
CN103064742A (zh) 一种hadoop集群的自动部署系统及方法
US20220283846A1 (en) Pod deployment method and apparatus
CN113672343A (zh) 一种基于轻量安全容器的函数计算冷启动加速的方法
CN110308987A (zh) 一种更新容器云上分布式训练任务连接参数的方法
CN114615268B (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
CN112363820A (zh) 基于异构硬件的统一资源池化容器调度引擎及其调度方法
CN115113975A (zh) 集群管理的方法、装置、电子设备及存储介质
CN113326098B (zh) 支持kvm虚拟化与容器虚拟化的云管平台
CN110300192A (zh) 一种根据ip分配表更新分布式训练任务连接参数的方法
US20230224212A1 (en) Automated Deployment of Control Nodes at Remote Locations
CN115695446A (zh) 一种基于Openstack的高并发的镜像传输方法
CN111367475B (zh) 一种基于helm部署cinder下对接G2存储的自动配置方法
CN113760448A (zh) 一种基于kubernetes的大数据管理平台
CN109271179A (zh) 虚拟机应用程序管理方法、装置、设备及可读存储介质
CN118426977B (zh) 一种资源配额控制方法、装置以及产品
CN114880147B (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