CN116614363B - 一种cncp平台快速构建方法及系统 - Google Patents

一种cncp平台快速构建方法及系统 Download PDF

Info

Publication number
CN116614363B
CN116614363B CN202310886223.1A CN202310886223A CN116614363B CN 116614363 B CN116614363 B CN 116614363B CN 202310886223 A CN202310886223 A CN 202310886223A CN 116614363 B CN116614363 B CN 116614363B
Authority
CN
China
Prior art keywords
configuration
platform
cncp
physical server
module
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
CN202310886223.1A
Other languages
English (en)
Other versions
CN116614363A (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.)
Mingyang Industrial Technology Research Institute Shenyang Co ltd
Mingyang Shichuang Beijing Technology Co ltd
Original Assignee
Mingyang Industrial Technology Research Institute Shenyang Co ltd
Mingyang Shichuang Beijing 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 Mingyang Industrial Technology Research Institute Shenyang Co ltd, Mingyang Shichuang Beijing Technology Co ltd filed Critical Mingyang Industrial Technology Research Institute Shenyang Co ltd
Priority to CN202310886223.1A priority Critical patent/CN116614363B/zh
Publication of CN116614363A publication Critical patent/CN116614363A/zh
Application granted granted Critical
Publication of CN116614363B publication Critical patent/CN116614363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web 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]
    • 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/45562Creating, deleting, cloning 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开一种CNCP平台快速构建方法及系统,所述系统包括操作系统定制模块、启动管理模块、地址分配模块、配置管理模块、配置下发模块、应用包管理模块和存储模块,所述CNCP平台与应用快速部署系统与用于构建CNCP平台的Kubernetes集群系统通信连接。本发明可以显著地简化操作系统的部署过程、Kubernetes集群系统的组建过程以及CNCP平台的构建过程,实现了CNCP平台快速构建。

Description

一种CNCP平台快速构建方法及系统
技术领域
本发明涉及云网融合技术领域,具体地说是一种CNCP平台快速构建方法及系统。
背景技术
在传统企业中,为应用程序提供运行环境和部署新版本花费的时间,通常以天或者周来计算。这一类传统应用程序,通常使用不太灵活的软件开发方法进行构建,在部署时通常需要较长的时间,而且不易于扩展。
现代企业希望构建高度可扩展、灵活且具有弹性的应用程序,可以快速更新以满足客户需求。因此,云原生应运而生。云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。云原生技术支持快速、频繁地更改应用程序,而不会影响服务交付。
CNCP的全称是Cloud Network Converged Platform,中文是云网融合平台,是一种基于云原生技术开发的软件平台。
CNCP平台构建在原生的Kubernetes之上。在交付基于CNCP平台开发的IPv6产品时,首先需要构建一个原生的Kubernetes集群系统。然后,在Kubernetes集群系统中部署CNCP平台所有云原生应用程序,以及在这些应用程序运行时所依赖的所有基础组件。最后,部署上述IPv6产品所有云原生应用程序。
在实际交付基于CNCP平台开发的IPv6产品时,发现原生Kubernetes集群系统,以及CNCP平台、IPv6产品所有云原生应用程序的部署,是一项极为耗时耗力的工作。尤其是在客户群体较大、需要交付上述IPv6产品的设备数量较多时,这一问题显得尤为突出。同时,这一问题也是在基于原生的Kubernetes集群系统进行软件产品开发时,将会碰到的一个比较有代表性的共性问题。
基于此,在基于原生的Kubernetes集群系统进行软件产品开发时,如何简化云原生应用程序的部署、实现快速交付,是十分迫切和必要的。
发明内容
为此,本发明所要解决的技术问题在于提供一种CNCP平台快速构建方法及系统,可以显著地简化操作系统的部署过程、Kubernetes集群系统的组建过程以及CNCP平台的构建过程,实现了CNCP平台快速构建。
为解决上述技术问题,本发明提供如下技术方案:
一种CNCP平台快速构建系统,包括:
操作系统定制模块,用于为用于构建CNCP平台的物理服务器定制服务器操作系统;
启动管理模块,用于为用于构建CNCP平台的物理服务器安装操作系统提供网络启动引导服务;
地址分配模块,用于为DHCP客户端分配IP地址和其他配置信息;其中,地址分配模块中至少设置有一个子网,DHCP客户端包括用于构建CNCP平台的物理服务器,其他配置信息包括启动管理模块服务地址和网络启动引导文件的名称;
配置管理模块,用于对用于构建CNCP平台的物理服务器的配置和用于构建CNCP平台的Kubernetes集群系统的配置进行管理;
配置下发模块,用于将配置管理模块所提供的配置下发至对应的用于构建CNCP平台的物理服务器或/和用于构建CNCP平台的Kubernetes集群系统;
应用包管理模块,用于为CNCP平台构建安装包;安装包至少包含有构建CNCP平台所需的组件;
存储模块,用于数据存储;
所述CNCP平台快速构建系统与用于构建CNCP平台的Kubernetes集群系统通信连接。
上述CNCP平台快速构建系统,操作系统定制模块对操作系统进行定制化处理时,将原生Linux系统中的SSH和Shell交互方式删减;当通过定制化处理后的系统所提供的API接口对定制化处理后的系统进行管理时,需进行mTLS认证。
上述CNCP平台快速构建系统,定制化处理后的系统以只读方式挂载根文件系统,且定制化处理后的系统中只包含有构建CNCP平台所必需的二进制可执行文件与共享库。
上述CNCP平台快速构建系统,启动管理模块对外提供TFTP服务或/和HTTP服务。
上述CNCP平台快速构建系统,配置管理模块设有Web可视化配置界面。
利用上述CNCP平台快速构建系统进行CNCP平台快速构建的方法,利用CNCP平台快速构建系统在Kubernetes集群系统中的物理服务器上进行CNCP平台构建,具体步骤为:
S1)物理服务器向地址分配模块发送DHCP请求;
S2)地址分配模块为物理服务器分配一个尚未被分配的且可用的IP地址,同时将启动管理模块IP地址和与服务器操作系统相关的信息发送至物理服务器;
S3)物理服务器利用地址分配模块分配的IP地址进行IP地址配置并实现与其他设备的通信连接;其中,其他设备包括但不限于同一网络内的主机、物理服务器和CNPC平台快速构建系统;
S4)物理服务器通过启动管理模块对外提供的TFTP服务或者HTTP服务下载与服务器操作系统相关的文件,与服务器操作系统相关的文件包括但不限于undionly.kpxe、initramfs以及vmlinuz;
S5)物理服务器通过undionly.kpxe的引导自动部署服务器操作系统;
S6)服务器操作系统部署完成后,通过配置下发模块将节点配置下发至相应的物理服务器;
S7)物理服务器根据相应的节点配置进行配置;
S8)在物理服务器根据相应的节点配置完成配置后,配置下发模块将集群配置下发至物理服务器并由物理服务器根据集群配置进行配置,完成Kubernetes集群系统的组建;
S9)在Kubernetes集群系统中部署由应用包管理模块为CNCP平台构建的安装包并完成安装包中云应用的安装,即可完成CNCP平台构建。
上述方法,物理服务器通过广播方式向地址分配模块发送DHCP请求。
上述方法,通过配置管理模块对节点配置和集群配置进行管理。
上述方法,节点配置和集群配置分别单独存储在存储模块中。
上述方法,配置下发模块对物理服务器的配置状态进行定期检查;应用包管理模块为CNCP平台构建的安装包所使用的技术包括但不限于Helm技术。
本发明的技术方案取得了如下有益的技术效果:
1.根据本发明中操作系统定制模块的定制处理,MY Linux操作系统是高度精简的,具备高度的安全性
2.自动地为物理服务器部署MY Linux操作系统,显著地简化Linux操作系统的部署过程。
3.自动地为物理服务器进行节点配置和集群配置,显著地简化物理服务器的配置过程,显著地简化Kubernetes集群系统的组建过程。
4.利用本发明进行CNCP平台构建可以实现CNCP平台快速构建。
附图说明
图1为本发明中CNCP平台快速构建系统的工作原理图;
图2为本发明中快速构建CNCP平台的流程图。
具体实施方式
下面结合示例,针对本发明进行进一步说明。
如图1所示,本发明中CNCP平台快速构建系统,包括操作系统定制模块、启动管理模块、地址分配模块、配置管理模块、配置下发模块、应用包管理模块和存储模块,所述CNCP平台与应用快速部署系统与用于构建CNCP平台的Kubernetes集群系统通信连接。
其中,操作系统定制模块用于为用于构建CNCP平台的物理服务器定制服务器操作系统,启动管理模块用于为用于构建CNCP平台的物理服务器安装操作系统提供网络启动引导服务,地址分配模块用于为DHCP客户端分配IP地址和其他配置信息,地址分配模块中至少设置有一个子网,DHCP客户端包括用于构建CNCP平台的物理服务器,其他配置信息包括启动管理模块服务地址和网络启动引导文件的名称,配置管理模块用于对用于构建CNCP平台的物理服务器的配置和用于构建CNCP平台的Kubernetes集群系统的配置进行管理,配置下发模块用于将配置管理模块所提供的配置下发至对应的用于构建CNCP平台的物理服务器或/和用于构建CNCP平台的Kubernetes集群系统,应用包管理模块用于为CNCP平台构建安装包,安装包至少包含有构建CNCP平台所需的组件,存储模块用于数据存储。本实施例中,所述CNCP平台快速构建系统设置在一个物理服务器,该物理服务器不属于用于构建CNCP平台的Kubernetes集群系统。
本实施例中,先组建Kubernetes集群系统,然后再在Kubernetes集群系统中构建CNCP平台,将用于组建Kubernetes集群系统的物理服务器称之为C节点,将C节点上用于节点管理的网络接口称为管理口。对于Kubernetes集群系统中的所有C节点,均在BIOS中将C节点的启动方式设置为网络启动。
操作系统定制模块则是用来为C节点定制高度精简的且具备高度安全性的Linux操作系统。在本发明中,将为C节点定制的Linux操作系统,称为MY Linux。
在本发明中,MY Linux对SSH、Shell交互方式进行删减,不再支持通过SSH、Shell交互方式访问C节点;MY Linux对外提供API接口,用户只能通过这些API接口对MY Linux进行管理,并且在通过API接口管理MY Linux时,必须进行mTLS(即mutual TLS)认证,即双向TLS认证;MY Linux以只读方式挂载根文件系统;MY Linux只包含少量的、在交付CNCP平台时必须具备的二进制可执行文件与共享库。经过上述这些定制处理,MY Linux成为一种高度精简的、具备高度安全性的Linux操作系统。
在本发明中,操作系统定制模块在完成MY Linux的定制后,将会生成一系列文件,包括但不限于undionly.kpxe、initramfs以及vmlinuz文件,在部署MY Linux时,这些文件都是不可缺少的。
在运行操作系统定制模块根据定制要求对原生Linux系统进行定制化处理时,完成MY Linux v1.0.0版本的定制,并生成undionly.kpxe、initramfs以及vmlinuz等文件。
启动管理模块为所有通过网络启动方式启动的C节点,提供网络启动引导服务,引导C节点通过网络自动地安装MY Linux。
启动管理模块对外提供TFTP服务和HTTP服务,用户可以根据自身情况设置C节点下载网络启动所需的所有文件的路径。本实施例中,C节点通过启动管理模块对外提供的TFTP服务下载网络启动所需的所有文件,网络启动所需的所有文件包括但不限于undionly.kpxe、initramfs以及vmlinuz文件。
启动管理模块对外提供TFTP、HTTP服务的IP地址是相同的。在本发明中,将启动管理模块对外提供服务的IP地址,称之为启动管理模块服务地址。启动管理模块服务地址既可以是单栈IPv4地址,又可以是单栈IPv6地址,还可以是双栈地址,即IPv4、IPv6地址都存在。
本实施例中,启动管理模块服务地址以单栈IPv4地址为例进行举例说明。将启动管理模块服务地址为172.16.102.253,启动管理模块服务地址所属的子网记为sub01,sub01子网地址为172.16.102.0,子网掩码为255.255.255.0,子网网关为172.16.102.254,在物理交换机中为sub01分配的VLAN ID为102。
在运行CNCP平台快速构建系统的物理服务器上,将操作系统定制模块在定制MYLinux v1.0.0版本时所生成的undionly.kpxe、initramfs以及vmlinuz等文件,分别存放至TFTP服务或HTTP服务的特定路径。
地址分配模块,对外提供DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务,充当DHCP服务端的角色,为DHCP客户端(比如网络中的PC、物理服务器、打印机等等)动态分配IP地址和其他配置信息。
本实施例中,地址分配模块既可以为DHCP客户端分配IPv4地址,也可以为DHCP客户端分配IPv6地址。
为DHCP客户端分配IP地址时,地址分配模块从为地址分配模块设置的子网中选择IP地址,分配给DHCP客户端。为地址分配模块设置的子网,既可以是IPv4类型的子网(下文简称IPv4子网),也可以是IPv6类型的子网(下文简称IPv6子网)。
为地址分配模块设置子网时,子网的必要信息包括:(1)子网地址;(2)IPv4子网掩码,或者IPv6前缀长度;(3)地址分配范围,它由开始地址与结束地址进行指定,地址分配模块只能从开始地址至结束地址的范围内(包含开始地址、结束地址)选择IP地址用于分配;(4)IPv4子网网关,IPv6子网无需设置网关;(5)启动管理模块服务地址;(6)网络启动引导文件的名称。
本实施例中,将地址分配模块对外提供服务的IP地址,称之为地址分配模块服务地址。地址分配模块服务地址既可以是单栈IPv4地址,又可以是单栈IPv6地址,还可以是双栈地址,即IPv4、IPv6地址都存在。
为了便于对本发明技术方案的阐释,本实施例中,将选用单栈IPv4地址作为地址分配模块服务地址进行举例说明。将地址分配模块服务地址设置为172.16.102.252,并将地址分配模块服务地址所属的子网设定为sub01。
在本实施例中,为地址分配模块创建一个IPv4子网sub01,sub01子网的信息如下所示:
子网地址为172.16.102.0;
IPv4子网掩码为255.255.255.0;
地址分配范围的开始地址为172.16.102.1,结束地址为172.16.102.200;
子网网关为172.16.102.254;
启动管理模块服务地址为172.16.102.253;
网络启动引导文件的名称为undionly.kpxe。
本发明中,利用配置管理模块对所有C节点的配置以及Kubernetes集群系统的配置进行管理,其中,将C节点的配置称为节点配置,将Kubernetes集群系统的配置称为集群配置。
利用配置管理模块进行节点配置设置时,所设置的节点配置具有如下必要信息:
1)节点类型,它的取值有且仅有两个,分别是Master、Worker;取值为Master,表示这个C节点是Kubernetes集群系统中的Master节点;取值为Worker,表示这个C节点是Kubernetes集群系统中的Worker节点;
2)节点名称;
3)网络配置,包括但不限于接口IP、静态路由、DNS等;
4)磁盘配置,包括但不限于磁盘分区、挂载点等;
5)内核参数配置;
6)环境变量配置;
7)kubelet配置,包括但不限于kubelet镜像名称、启动参数、挂载点等。
利用配置管理模块进行集群配置设置时,所设置的集群配置包括如下必要信息:
1)集群名称;
2)网络配置,包括但不限于Pod子网、Service子网、CNI等;
3)Kubernetes API Server配置;
4)Kubernetes Controller Manager配置;
5)Kubernetes Proxy配置;
6)Kubernetes Scheduler配置;
7)Etcd配置;
8)Core DNS配置。
各个C节点的节点配置分别、单独进行存储且存储在配置管理模块内,每个C节点均至多只有一份节点配置;集群配置至多只有一份。
本发明中,用户可以通过配置管理模块对外提供的API服务对各节点的节点配置进行管理,该管理操作包括但不限于创建、编辑、删除以及查询节点配置;也可对集群配置进行管理,该管理操作包括但不限于创建、编辑、删除以及查询集群配置。
为了便于用户操作,本发明中,还为配置管理模块设置了Web可视化配置界面。用户可以通过Web可视化配置界面,对集群配置以及各节点的节点配置进行管理。
在实施例中,通过Web可视化配置界面,分别为C01、C02、C03这3个C节点创建节点配置,这3个C节点的节点类型均为Master,然后为由这3个C节点所组成的Kubernetes集群系统创建集群配置。
配置下发模块定期地检查各个C节点的配置状态,C节点的配置状态有三种:配置未下发、配置中和配置就绪。
配置下发模块定期地检查各个C节点的配置状态。在所有C节点均完成配置之后,即所有C节点的配置状态均为配置就绪状态,配置下发模块将配置管理模块中的集群配置下发至所有相关的C节点上。然后,所有C节点将会组建一个Kubernetes集群系统。
配置下发模块分别将与C01、C02、C03这3个C节点相对应的的节点配置下发至C01、C02、C03节点。然后,这3个C节点分别根据配置下发模块所下发的节点配置,在节点本地进行配置,并且在配置完成后将配置状态设置为配置就绪状态。
在C01、C02、C03节点根据相应的节点配置进行配置设置时,配置下发模块将定期地检查C01、C02、C03这3个C节点的配置状态。当这3个C节点的配置状态均变为配置就绪状态之后,配置下发模块再将集群配置下发至C01、C02、C03这3个C节点,然后这3个C节点分别根据配置下发模块所下发的集群配置,在节点本地进行配置,配置完成后这3个C节点将组建一个Kubernetes集群系统。
应用包管理模块将CNCP平台所包含的基础组件(比如Redis、PostgreSQL等)、核心组件(比如CNCP API Server、CNCP Controller Manager、CNCP Dashboard等)等在内的数十种组件的部署统一制作成一个安装包,通过部署这一个安装包来实现数十种组件的部署,以此来简化CNCP平台的部署。
本实施例中,采用Helm技术将CNCP平台所有组件的部署制作成一个Helm Chart,这个Chart的名称为cncp-cores,版本为v1.0.0。
在进行CNCP平台构建前,应事先准备好定制化处理后的操作系统MY Linux,并设置好各个C节点的节点配置以及Kubernetes集群系统的集群配置,将CNCP平台所包含的基础组件、核心组件等在内的数十种组件的部署统一制作成一个安装包。然后将C节点的管理口与物理交换机上的端口(记为port01)相连,将port01端口的链路模式设置为二层网桥模式,链路类型设置为Access类型,VLAN ID设置为102。在完成这些设置后,打开C节点的电源,启动C节点。
然后再利用CNCP平台快速构建系统在Kubernetes集群系统中的物理服务器上进行CNCP平台快速构建,如图2所示,具体步骤为:
S1)将物理服务器的启动方式设置为网络启动,然后由物理服务器向地址分配模块发送DHCP请求,具体为:C节点在VLAN 102这个二层网络内以广播方式发送DHCP请求,向DHCP服务器请求IP地址;
S2)地址分配模块为物理服务器分配一个尚未被分配的且可用的IP地址,同时将启动管理模块IP地址和与服务器操作系统相关的信息发送至物理服务器;本实施例中,地址分配模块服务地址为172.16.102.252,它处于VLAN 102这个二层网络,它将会收到由C节点发送的DHCP请求;然后,地址分配模块将查询与服务地址172.16.102.252处于同一网段的子网,然后将查询到sub01子网与服务地址172.16.102.252处于同一网段;接着地址分配模块将从sub01子网的地址分配范围中,选择一个尚未被分配的且可用的IP地址,分配给C节点,并且将启动管理模块服务地址172.16.102.253、网络启动引导文件名称undionly.kpxe等信息告知C节点;
S3)物理服务器利用地址分配模块分配的IP地址进行IP地址配置并实现与其他设备的通信连接;其中,其他设备包括但不限于同一网络内的主机、物理服务器和CNPC平台云应用快速部署系统;具体为:在地址分配模块为C节点分配IP地址之后,C节点即可与VLAN102这个二层网络内的主机、物理服务器等进行网络通信;假定地址分配模块为这个C节点分配的IP地址为172.16.102.1,它与启动管理模块服务地址172.16.102.253同属于VLAN102这个二层网络,两者可以进行网络通信;
S4)物理服务器通过启动管理模块对外提供的TFTP服务或者HTTP服务下载与服务器操作系统相关的文件,与服务器操作系统相关的文件包括但不限于undionly.kpxe、initramfs以及vmlinuz;
S5)物理服务器通过undionly.kpxe的引导自动部署服务器操作系统,即可实现MYLinux的自动部署;
S6)服务器操作系统部署完成后,通过配置下发模块将节点配置下发至相应的物理服务器;
S7)物理服务器根据相应的节点配置进行配置;
S8)在物理服务器根据相应的节点配置完成配置后,配置下发模块将集群配置下发至物理服务器并由物理服务器根据集群配置进行配置,完成Kubernetes集群系统的组建;
S9)在Kubernetes集群系统中部署由应用包管理模块为CNCP构建的安装包并完成安装包中云应用的安装,即在Kubernetes集群系统中部署Chart cncp-cores,完成CNCP平台构建。
通过上述步骤可以实现Kubernetes集群系统中物理服务器的操作系统自动部署,进而可以实现Kubernetes集群系统的自动组建以及在Kubernetes集群系统中构建CNCP平台,最后实现CNCP的交付。
在将本发明应用于基于原生的Kubernetes集群系统进行的软件产品开发中时,可以解决原生Kubernetes集群系统,以及CNCP平台、IPv6产品所有云原生应用程序的部署耗时耗力的问题,尤其是在客户群体较大、需要交付IPv6产品的设备数量较多时,同时还可以相应地节省企业相应的开销。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。

Claims (10)

1.一种CNCP平台快速构建系统,其特征在于,包括:
操作系统定制模块,用于为用于构建CNCP平台的物理服务器定制服务器操作系统;
启动管理模块,用于为用于构建CNCP平台的物理服务器安装操作系统提供网络启动引导服务;
地址分配模块,用于为DHCP客户端分配IP地址和其他配置信息;其中,地址分配模块中至少设置有一个子网,DHCP客户端包括用于构建CNCP平台的物理服务器,其他配置信息包括启动管理模块服务地址和网络启动引导文件的名称;
配置管理模块,用于对用于构建CNCP平台的物理服务器的配置和用于构建CNCP平台的Kubernetes集群系统的配置进行管理;
配置下发模块,用于将配置管理模块所提供的配置下发至对应的用于构建CNCP平台的物理服务器或/和用于构建CNCP平台的Kubernetes集群系统;
应用包管理模块,用于为CNCP平台构建安装包;安装包至少包含有构建CNCP平台所需的组件;
存储模块,用于数据存储;
所述CNCP平台快速构建系统与用于构建CNCP平台的Kubernetes集群系统通信连接。
2.根据权利要求1所述的CNCP平台快速构建系统,其特征在于,操作系统定制模块对操作系统进行定制化处理时,将原生Linux系统中的SSH和Shell交互方式删减;当通过定制化处理后的系统所提供的API接口对定制化处理后的系统进行管理时,需进行mTLS认证。
3.根据权利要求2所述的CNCP平台快速构建系统,其特征在于,定制化处理后的系统以只读方式挂载根文件系统,且定制化处理后的系统中只包含有构建CNCP平台所必需的二进制可执行文件与共享库。
4.根据权利要求1所述的CNCP平台快速构建系统,其特征在于,启动管理模块对外提供TFTP服务或/和HTTP服务。
5.根据权利要求1所述的CNCP平台快速构建系统,其特征在于,配置管理模块设有Web可视化配置界面。
6.利用权利要求1所述的CNCP平台快速构建系统进行CNCP平台快速构建的方法,其特征在于,利用CNCP平台快速构建系统在Kubernetes集群系统中的物理服务器上进行CNCP平台构建,具体步骤为:
S1)将物理服务器的启动方式设置为网络启动,然后由物理服务器向地址分配模块发送DHCP请求;
S2)地址分配模块为物理服务器分配一个尚未被分配的且可用的IP地址,同时将启动管理模块IP地址和与服务器操作系统相关的信息发送至物理服务器;
S3)物理服务器利用地址分配模块分配的IP地址进行IP地址配置并实现与其他设备的通信连接;其中,其他设备包括同一网络内的主机、物理服务器和CNPC平台快速构建系统;
S4)物理服务器通过启动管理模块对外提供的TFTP服务或者HTTP服务下载与服务器操作系统相关的文件,与服务器操作系统相关的文件包括undionly.kpxe、initramfs以及vmlinuz;
S5)物理服务器通过undionly.kpxe的引导自动部署服务器操作系统;
S6)服务器操作系统部署完成后,通过配置下发模块将节点配置下发至相应的物理服务器;
S7)物理服务器根据相应的节点配置进行配置;
S8)在物理服务器根据相应的节点配置完成配置后,配置下发模块将集群配置下发至物理服务器并由物理服务器根据集群配置进行配置,完成Kubernetes集群系统的组建;
S9)在Kubernetes集群系统中部署由应用包管理模块为CNCP平台构建的安装包并完成安装包中云应用的安装,即可完成CNCP平台构建。
7.根据权利要求6所述的方法,其特征在于,物理服务器通过广播方式向地址分配模块发送DHCP请求。
8.根据权利要求6所述的方法,其特征在于,通过配置管理模块对节点配置和集群配置进行管理。
9.根据权利要求6所述的方法,其特征在于,节点配置和集群配置分别单独存储在存储模块中。
10.根据权利要求6所述的方法,其特征在于,配置下发模块对物理服务器的配置状态进行定期检查;应用包管理模块为CNCP平台构建的安装包所使用的技术包括Helm技术。
CN202310886223.1A 2023-07-19 2023-07-19 一种cncp平台快速构建方法及系统 Active CN116614363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310886223.1A CN116614363B (zh) 2023-07-19 2023-07-19 一种cncp平台快速构建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310886223.1A CN116614363B (zh) 2023-07-19 2023-07-19 一种cncp平台快速构建方法及系统

Publications (2)

Publication Number Publication Date
CN116614363A CN116614363A (zh) 2023-08-18
CN116614363B true CN116614363B (zh) 2023-09-22

Family

ID=87678674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310886223.1A Active CN116614363B (zh) 2023-07-19 2023-07-19 一种cncp平台快速构建方法及系统

Country Status (1)

Country Link
CN (1) CN116614363B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984575A (zh) * 2014-05-28 2014-08-13 浪潮电子信息产业股份有限公司 一种云计算环境下集群Linux操作系统快速部署方法
CN110704164A (zh) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 一种基于Kubernetes技术的云原生应用平台构建方法
CN111736827A (zh) * 2020-08-25 2020-10-02 长沙慧码至一信息科技有限公司 一种云原生开发组件系统
CN111740869A (zh) * 2020-08-19 2020-10-02 广东省新一代通信与网络创新研究院 基于物理网卡的kubernetes网络实现方法、系统、设备及介质
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN115421740A (zh) * 2022-09-15 2022-12-02 京东科技信息技术有限公司 云原生应用的部署方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807806B1 (ko) * 2017-05-02 2017-12-11 나무기술 주식회사 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법
US11258661B2 (en) * 2019-04-26 2022-02-22 Juniper Networks, Inc. Initializing server configurations in a data center

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984575A (zh) * 2014-05-28 2014-08-13 浪潮电子信息产业股份有限公司 一种云计算环境下集群Linux操作系统快速部署方法
CN110704164A (zh) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 一种基于Kubernetes技术的云原生应用平台构建方法
CN111796905A (zh) * 2020-05-22 2020-10-20 浙商银行股份有限公司 一种kubernetes容器云平台VLAN网络的实现方法及系统
CN111740869A (zh) * 2020-08-19 2020-10-02 广东省新一代通信与网络创新研究院 基于物理网卡的kubernetes网络实现方法、系统、设备及介质
CN111736827A (zh) * 2020-08-25 2020-10-02 长沙慧码至一信息科技有限公司 一种云原生开发组件系统
CN115421740A (zh) * 2022-09-15 2022-12-02 京东科技信息技术有限公司 云原生应用的部署方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向云网融合的智能云原生架构和关键技术研究;陆钢等;《电信科学》;全文 *

Also Published As

Publication number Publication date
CN116614363A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
US11658936B2 (en) Resizing virtual private networks in provider network environments
CN111327640B (zh) 一种在Kubernetes中Pod设置IPv6的方法
CN102932408B (zh) 一种服务器集群的管理方法和平台
US8612968B2 (en) Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8126959B2 (en) Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers
US8244836B2 (en) Methods and systems for assigning provisioning servers in a software provisioning environment
WO2019237588A1 (zh) Linux虚拟服务器的创建方法、装置、计算机设备及存储介质
US20020078188A1 (en) Method, apparatus, and program for server based network computer load balancing across multiple boot servers
CN108958742A (zh) 一种批量安装操作系统的方法、相关设备及系统
CN111988353B (zh) 兼容IPv4和IPv6互联网服务与负载平衡服务供装系统及其方法
CN101478429A (zh) 一种版本升级的方法、系统和设备
CN105959134A (zh) 基于pxe的自动安装部署方法、pxe服务器
KR20050033522A (ko) 중앙 디렉토리 서버
CN110881007A (zh) 一种容器集群网络接入的方法和装置
CN101170423A (zh) 一种面向服务的机群部署方法
JP2009514283A (ja) ネットワーク構成
JP2005109589A (ja) ネットワークスイッチ及びその動作方法、並びにブレードサーバ
CN105446839A (zh) 一种测试操作系统的安装方法、pxe服务器和系统
CN111200527B (zh) 一种基于ironic的裸机自动发现和部署的方法
CN111538625A (zh) 基于Docker技术的Ambari集群部署、数据备份方法及电子设备
CN102726025A (zh) 一种业务包的安装方法和相关装置
US9819545B2 (en) Telecommunications node configuration management
CN112667293B (zh) 一种部署操作系统的方法、装置及存储介质
US20170033981A1 (en) Telecommunications node configuration management
US9612822B2 (en) Telecommunications node configuration management

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