CN111835862B - 一种参考流量类型部署对象存储后端服务的实现方法 - Google Patents
一种参考流量类型部署对象存储后端服务的实现方法 Download PDFInfo
- Publication number
- CN111835862B CN111835862B CN202010708448.4A CN202010708448A CN111835862B CN 111835862 B CN111835862 B CN 111835862B CN 202010708448 A CN202010708448 A CN 202010708448A CN 111835862 B CN111835862 B CN 111835862B
- Authority
- CN
- China
- Prior art keywords
- service
- deployment
- network
- data
- storage
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种参考流量类型部署对象存储后端服务的实现方法,所述方法根据对象存储后端服务的部署方式,统筹考虑每种流量线路的高可用性及安全性,根据不同数据流量类型采用不同的协议,划分不同的网络进行传输,以兼顾数据传输效率。本发明与现有的部署方式相比,在架构上采用kubernetes集群管理部署节点,便于部署服务应用的统一管理与维护,实现了一套部署程序支持跨平台部署。网络划分上更为具体,实现用户数据与管理数据的分离,用户备份数据与用户其他数据的分离,数据流量的分离避免了业务峰值时各种业务之间的相互影响,有利于网络环境的升级与维护,可快速部署对象存储后端服务,极大降低了运维部署人员的部署成本和日常升级维护成本。
Description
技术领域
本发明涉及云计算技术领域,具体提供一种参考流量类型部署对象存储后端服务的实现方法,在使用kubernetes集群部署对象存储后端服务时可以直接使用此方法,部署后的服务可以为用户在不同地区以不同的域名提供对象存储服务,用户可以将自己文件数据直接保存至任一地区服务端,使用时可以再从服务端直接将文件下载。
背景技术
随着云计算技术的发展,云存储的形式日趋多样化,其中对象存储作为基础存储服务之一,一直是使用较为广泛的存储方式。目前多数服务提供商在提供对象存储服务时采用物理机或者虚机直接部署,部署方式可以分为手工和使用自动化程序。采用虚机或者物理机部署的方式需要单独增加检测服务状态的程序,随着部署规模的扩大,部署的应用进程不方便统一管理,容易出现僵尸进程,占用系统资源,此外,一套部署程序一般不支持跨平台部署。
目前服务提供商一般将部署网络划分为数据网和管理网,数据网用来传输租户数据,管理网用来传输应用管理数据。对接后端存储时一般采用存储网。网络划分相对单一,造成不同数据流量的耦合,使得不同的业务在一定程度上相互影响,不但影响运维人员定位问题,甚至会降低租户的用户体验。服务提供商部署的应用一般分为代理服务器应用和网关应用,部署模式即使采用自动化的部署方案也需要运维部署人员了解代理服务器和网关相关配置结构和使用方式,学习和部署成本较高。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种参考流量类型部署对象存储后端服务的实现方法,在架构上采用kubernetes集群管理部署节点,便于部署服务应用的统一管理与维护,实现了一套部署程序支持跨平台部署,目前支持arm、x86,如果将来扩展平台,仅需制作服务镜像即可。
为实现上述目的,本发明提供了如下技术方案:
一种参考流量类型部署对象存储后端服务的实现方法,所述方法根据对象存储后端服务的部署方式,统筹考虑每种流量线路的高可用性及安全性,根据不同数据流量类型采用不同的协议,划分不同的网络进行传输,以兼顾数据传输效率;通过对不同流量划分为不同的网络,减少了不同业务数据之间的相互影响,对不同流量数据采用不同的协议进行传输,提高了数据传输效率。通过网络划分,网络架构更加清晰,提升了部署运维人员的运维效率。
所述数据流量类型包括应用数据流量、应用管理数据流量、同步数据流量、备份流量,其中:
应用数据流量是指用户通过对象存储后端服务直接传输的用户的数据,此类数据对sla服务可用性要求较高;
应用管理数据流量是指控制台使用对象存储后端服务产生的管理类的数据流量(比如创建桶,桶列表);
备份流量是指用户备份至对象存储中的数据产生的流量,包括用户主动触发和用户通过创建定时任务后台触发的备份流量;
同步数据流量是指不同区域之间同步的应用元数据以及用户数据产生的流量。
所述网络为参考流量类型的低耦合网络部署架构,支持灵活配置和多平台部署charts包,包括同步网、应用数据网、应用数据管理网、存储外网的网络规划集合、非单一或其中的部分网络规划,所有网络共同使用,解决业务耦合问题,其中:
同步网为不同区域之间同步元数据、同区域下不同az同步数据和元数据、同区域下其他资源备份使用,作用包括:(1)如果使用multi-site模式部署,负责连接不同区域,用以同步两个区域之间的元数据;(2)在同一区域下,如果部署多个az(可用区),负责在不同za之间同步数据与元数据;(3)传输无代理方式备份的数据,将云硬盘、云服务器、云数据库等资源在管理侧备份至对象存储;
应用数据网为租户使用对象存储后端服务使用,包含租户通过控制台和对象存储sdk和工具使用对象存储后端服务,主要包括:(1)在高可用负载均衡服务节点上负责接收和发送用户使用租户控制台上传或下载的数据;(2)在高可用负载均衡服务节点上负责接收或发送用户使用sdk或者工具调用对象存储后端服务api产生的流量,含数据流量和管理流量;
应用管理数据网为对象存储控制台使用对象存储后端服务传输数据;作用包括:在高可用负载均衡服务节点上负责接收和发送租户控制台调用对象存储后端服务api产生的管理流量;
存储外网为高可用负载服务转发数据至网关服务、网关服务连接分布式存储集群使用;作用包括:(1)负责在高可用负载均衡服务和网关服务之间转发所有数据;(2)负责连接网关服务和ceph分布式存储(ceph的OSD组件);
所述应用数据流量规划到应用数据网,所述应用管理数据流量规划至应用管理数据网,所述备份流量和同步数据流量规划至同步网;存储外网同ceph分布式存储通信。
所述对象存储后端服务使用kubernetes集群进行部署,包含有高可用负载均衡服务和网关服务,其中:
高可用负载均衡服务采用主备模式,支持热切换;
网关服务能够在同一个可用区或者同一个区域部署多副本,达到高可用和负责均衡的效果。
所述对象存储后端服务运行在pod中,如果pod异常退出,则实现自动重新加载;
所述对象存储后端服务升级时支持滚动升级,保证业务连续不中断。
所述方法的部署脚本以charts包的方式编写,charts包包含高可用负载均衡服务charts脚本、分布式存储环境初始化charts脚本、网关服务charts脚本;charts包提供一个value文件,通过编辑value文件,使用helm命令能够根据value中配置的值生成所有服务的配置文件以及部署文件,根据现场的实际需求和存储集群规模,修改value文件即可定制化部署对象存储后端服务,实现灵活配置;只需修改value文件中的镜像仓库信息,即可在不同的平台部署对象存储后端服务,实现多平台部署。
所述高可用负载均衡服务charts脚本包含了在pod中部署的nginx和keepalived的主备服务,其中:
keepalived结合网络规划绑定三张网的VIP,同步网VIP、应用数据网VIP、应用管理数据网VIP;
通过编辑value文件,配置nginx监听网络VIP和端口信息实现高可用负载均衡服务的灵活部署,包含:
(1)监听同步网VIP的80端口,根据请求中az信息作出判断,如果不包含az信息,请求设置转发至master az对应的endpoints,用于不同区域的元数据同步,或采用无代理方式备份数据至master az;
如果包含az信息,采用无代理方式备份数据至指定az对应的endpoints;
(2)监听应用数据网VIP的443和80端口,根据az新配置转发的endpoints,如果监听到的请求不含az信息,请求转发至master az对应的endpoints(对应网关服务监听在存储外网上的8088端口);
如果监听到的请求含az信息,请求转发至指定az对应的endpoints(对应网关服务监听在存储外网上的8088端口);
如果部署现场需要同城多活或者支持多az功能,在value中需要配置每个az对应的endpoints(对应网关服务监听在存储外网上的8088端口);
高可用负载均衡服务charts包运行时会自动加载az对应的endpoints信息至nginx的upstream模块,实现了指定az的请求转发至az对应的endpoints;
(3)应用管理数据网VIP的80端口监听控制台的元数据操作请求,并将请求转发至master区域下master az对应的endpoints(对应网关服务监听在存储外网上的8088端口);
高可用负载均衡服务部署后运行nginx和keepalived两类进程,通过编辑value文件,keepalived可以支持多个网络VIP配置,nginx可以支持多个server的配置、多证书多域名配置。
所述分布式存储环境初始化charts脚本包含生成初始化job、初始化脚本,并在job运行时运行分布式存储环境初始化脚本,实现部署人员定制的分布式存储环境,脚本支持multi-site方式部署环境初始化、同城多az部署环境初始化、多介质存储部署环境初始化,自动计算对象存储每个存储池的PG数量并初始化存储池、区域、az信息、区域和az的endpoints信息,能根据现场需求,灵活定制分布式存储环境。
所述网关服务charts脚本包含网关服务的配置,部署并启动3个副本网关应用服务,并在存储外网和同步网监听8088端口,自动配置网关名称、自动在分布式ceph存储集群中注册网关服务,网关应用监听的同步网8088端口用来处理同一区域下不同az之间数据和元数据同步请求,其余的数据请求均通过存储外网的8088端口处理。
所述方法实现步骤包括:
第一步:部署kubernetes集群,每部署一个区域需要有一套kubernetes集群,集群最少应有5个部署节点,包括ha节点和app节点,用来部署一个区域下的2个高可用负载均衡服务和一个master az的3个网关服务;
第二步:规划对象存储后端服务网络,包括同步网、存储外网、应用数据网、应用管理数据网,其中高可用负载均衡服务的nginx和keepalived节点上有以上四张网络,网关服务节点上有存储外网和同步网两张网络;
第三步:为高可用负责均衡服务节点准备VIP,包括同步网VIP,应用管理数据网VIP,应用数据网VIP;
第四步:申请服务器证书与域名,搭建租户侧DNS服务器,其中域名包含内网域名和外网域名,内网域名是指能够在租户侧虚机中直接使用的域名,此域名不需要外网IP,使用虚拟交换机的浮动IP映射到应用数据网VIP;
外网域名需要申请,并且映射到一个外网IP,外网域名可在互联网DNS上解析,外网IP需要映射到应用数据网VIP;如果部署多个区域,将多个区域的域名对应一个证书,便于服务器端证书管理;
第五步:制作网关服务镜像和高可用负责均衡服务镜像;
第六步:准备charts包,使用charts包生成配置文件、部署文件,初始化分布式存储环境,部署高可用负载均衡服务和网关服务;
通过编辑charts包中的value文件,使用helm和kubectl命令完成初始化分布式存储环境、生成服务配置文件、生成证书配置,启动高可用负责均衡服务pod和网关服务pod,使用helm命令和kubectl命令结合charts包主要实现以下功能:
(1)生成网关服务的配置文件;
(2)生成网关服务启动脚本;
(3)根据配置文件的值,生成分布式存储环境初始化脚本;
(4)生成证书配置文件;
(5)生成ceph分布式存储系统的管理员用户配置;
(6)生成高可用负责均衡服务的配置信息;
(7)生成高可用负载均衡服务和网关服务以及存储环境初始化的部署文件;
第七步:编辑value文件,修改环境配置信息,使用helm和kubectl命令安装部署对象存储后端服务。
与现有技术相比,本发明一种参考流量类型部署对象存储后端服务的实现方法具有以下突出的有益效果:
(1)部署过程简单化,节省部署人力、物力,减少部署成本。通过参考流量类型将高可用负载均衡服务和网关服务以及分布式存储环境初始化job以charts包的形式,使用helm和kubectl命令部署在kubernetes集群中,部署人员无需深入了解网关和高可用负载集群的原理,仅需抽取现场环境的一些变量信息,执行脚本便可组装出对象存储所有服务使用的配置文件和启动所有服务。如果出现异常宕机时服务pod会自动重启,保证服务不间断运行。kubernetes集群pod服务日志直接被采集程序收集至日志数据库中保存,方便运维人员定位跟踪问题,同时节省服务器存储空间和定期清理的人力成本。
(2)网络规划清晰明了,更大程度减少业务数据的耦合。通过更加细致的网络规划,不同流量类型的数据被不同的网卡负载,减少了业务数据的耦合,减少了租户业务和服务提供商应用业务的相关影响。直接提升了业务高峰时的用户体验,在进行一些重大版本变更时,及时中断服务提供商的管理网络也不会影响用户应用的正常运行,便于服务提供商升级与维护网络和服务。
(3)实现了多平台、跨平台服务于部署。本方法可以实现了在不改变部署程序的前提下,快速部署不同平台的应用服务,为融合平台部署提供了新方法。此方法对平台扩展开放,如果新增部署平台,仅需制作新平台的网关服务镜像和高可用负载均衡服务镜像即可。部署时配置正确的镜像仓库便可轻松完成新平台的部署。
(4)在线灵活扩展网关服务,轻松应对高并发支持。如果需要扩展网关服务节点,仅需调整部署变量中的副本数便可实现网关节点的扩展。便于服务集群的扩展与维护。
附图说明
图1是本发明部署结构示意图。
具体实施方式
下面将结合附图和实施例,对本发明作进一步详细说明。
如图1所示,每个区域部署一套高可用负载服务,高可用负载服务是主备结构。每个区域下可以部署多套az或一套az,但只能有一个master az。每个az中可以部署n个副本的网关服务,可以根据现场的并发需求,灵活配置。高可用负载服务器有三个VIP,分别对应同步网、应用数据网、应用管理数据网。区域之间通过同步网可同步元数据信息,区域内az之间通过同步网可同步数据和元数据信息。
所述部署对象存储后端服务实现方法的步骤包括:
第一步:部署kubernetes集群,每部署一个区域需要有一套kubernetes集群,集群最少应有5个部署节点,包括ha节点和app节点,用来部署一个区域下的2个高可用负载均衡服务(运行在ha节点)和一个master az的3个网关服务(运行在app节点);如果一个区域下要部署多个az,则还需kubernetes提供额外的app节点用来部署新增az下的网关服务;此外,每个az下需要部署一套ceph分布式存储系统,用来和网关服务对接;
第二步:规划对象存储后端服务网络,包括同步网、存储外网、应用数据网、应用管理数据网,其中高可用负载均衡服务的nginx和keepalived节点上有以上四张网络,网关服务节点上有存储外网和同步网两张网络;
第三步:为高可用负责均衡服务节点准备VIP,包括同步网VIP,应用管理数据网VIP,应用数据网VIP;
第四步:申请服务器证书与域名,搭建租户侧DNS服务器,其中域名包含内网域名和外网域名,内网域名是指能够在租户侧虚机中直接使用的域名,此域名不需要外网IP,使用虚拟交换机的浮动IP即可,浮动IP映射到应用数据网VIP;
如果部署环境中在租户侧存在DNS服务器,可直接使用,直接将内网域名和对应的浮动IP配置进DNS;
外网域名需要申请,并且映射到一个外网IP,外网域名可在互联网DNS上解析,外网IP需要映射到应用数据网VIP;如果部署多个区域,将多个区域的域名对应一个证书,便于服务器端证书管理;
第五步:制作网关服务镜像和高可用负责均衡服务镜像,X86平台网关服务镜像以ubuntu16.04为基础镜像,安装网关服务所需的依赖及网关服务应用;
Arm平台平台网关服务镜像以ubuntu 18.04为基础镜像;
高可用负责均衡服务器镜像以nginx 1.17.5为基础镜像,安装keepalived软件;
第六步:准备charts包,使用charts包生成配置文件、部署文件,初始化分布式存储环境,部署高可用负载均衡服务和网关服务;
通过编辑charts包中的value文件,使用helm和kubectl命令完成初始化分布式存储环境、生成服务配置文件、生成证书配置,启动高可用负责均衡服务pod和网关服务pod,使用helm命令和kubectl命令结合charts包主要实现以下功能:
(1)生成网关服务的配置文件,配置文件包含ceph集群信息和网关服务的配置信息;网关服务监听8088端口,由于网关服务所在的节点有存储外网和同步网,因此会在两张网上监听8088端口;存储外网的8088端口用来和高可用负载均衡服务通信,同步网8088端口用来和同区域下其他az的网关服务通信;
(2)生成网关服务启动脚本,启动脚本会将pod中运行的网关服务注册进ceph集群并生成网关服务对应的用户名、权限等信息(保存在keyring文件中),启动脚本会编辑当前pod中网关服务配置,将配置中的网关服务名、keyring名称、日志名称与集群注册的信息保持一致;
(3)根据配置文件的值,生成分布式存储环境初始化脚本;初始化脚本可以支持multi-site部署初始化、多介质存储环境初始化、同城多活初始化、根据分布式存储集群的规模初始化池中PG数并创建对象存储相关的池。初始化区域、可用区(az)、管理员用户、同步用户等元数据信息,并为区域和可用区添加对应的endpoints(网关服务对应的同步网VIP的8088端口);
(4)生成证书配置文件,将申请的证书base64编码后配置到value对应的值中,helm命令生成配置文件时便可将证书添加至高可用负载均衡服务对应的nginx配置文件中,支持添加多证书、多域名;
(5)生成ceph分布式存储系统的管理员用户配置;通过读取value中ceph集群相关的配置,使用helm命令便可生成网关服务pod和初始化分布式存储环境job所需的ceph集群配置文件;
(6)生成高可用负责均衡服务的配置信息;配置分为主备服务器配置,无论是主服务器还是备服务器都包含nginx和keepalived的配置。本方法中,value文件中配置3个VIP,分别对应同步网、应用管理数据网、应用数据网。编辑value中的配置,使nginx监听应用数据网VIP的443端口、80端口、应用数据管理网VIP的80端口、同步网VIP的80端口,并且应用数据网VIP对应的所有端口屏蔽调对url“/admin”的访问权限,以保证租户侧无法访问管理员接口,保证数据安全,由于不同网络对网络安全的要求不同,为了兼顾传输效率,因此有些网络需要监听443端口,使用https协议传输数据,有的网络需要监听80端口,使用http协议传输数据。nginx应用管理数据数据网VIP的80端口接收的数据转发数据到master区域下master az对应的endpoints(对应网关服务监听在存储外网上的8088端口);nginx应用数据网VIP的443和80端口监听到的数据分发到请求中的az对应的endpoints(对应网关服务监听在存储外网上的8088端口),如果请求中不包含az信息,则默认转发数据到区域masteraz对应的endpoints(对应存储外网8088端口的网关服务);nginx同步网VIP的80端口监听到的数据转发至请求中az对应的endpoints(对应网关服务监听在存储外网上的8088端口),如果请求中不包含az信息,则默认转发数据到master az对应的endpoints(对应网关服务监听在存储外网上的8088端口)。应用数据网VIP的443和80端口和租户侧、控制台通信,用于文件上传和下载数据以及租户使用sdk或者工具访问元数据接口的通信,如果是元数据接口的通信,则控制台或者租户sdk、工具的请求中不应包含az信息。应用数据管理网VIP的80端口用于和控制台通信,处理控制台访问对象存储后端元数据接口的请求。同步网VIP的80端口用于在不同区域之间同步元数据以及处理无代理方式备份的请求,如果备份请求中指定了az信息,则可以将数据备份至指定az;
(7)生成高可用负载均衡服务和网关服务以及存储环境初始化的部署文件;运行helm apply命令会根据存储环境初始化部署文件部署初始化的job至kubernetes集群,job运行时会挂载生成的存储初始化脚本并运行脚本,部署人员的配置信息会被部署文件加载到job容器的环境变量中供脚本使用,脚本根据配置的信息初始化存储环境。运行helmapply命令时会根据网关部署文件部署3副本的网关pod。Pod运行时会挂载网关配置文件、启动脚本、存储集群管理员用户配置信息、日志目录,部署人员的配置信息会被部署文件加载到网关应用容器的环境变量中供启动脚本使用。网关pod会根据部署文件配置的路由信息自动部署到kubernetes集群的app节点。运行helm apply命令时会根据高可用负载均衡服务器部署文件部署主备高可用负载均衡服务器,主备高可用负责均衡服务器pod运行时会挂载高可用负责均衡服务器的配置,包含nginx配置和keepalived配置,nginx配置信息在主备pod中是相同的,keepalived配置信息在主备pod中优先级和名称信息不同,高可用负载pod会根据部署文件的配置自动路由到kubernetes的ha节点并运行;
第七步:编辑value文件,修改环境配置信息,使用helm和kubectl命令安装部署对象存储后端服务。根据现场的网络ip分配情况和部署需求(如是否采用multi-site部署、是否支持同城多活,是否支持多介质存储)修改charts包中的value文件,执行helm和kubectl命令快速初始化分布式存储环境、部署高可用负载均衡服务和网关服务,分布式存储环境初始化功能运行结果是幂等的,如果环境已经初始化过,不会再次被初始化。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述方法根据对象存储后端服务的部署方式,统筹考虑每种流量线路的高可用性及安全性,根据不同数据流量类型采用不同的协议,划分不同的网络进行传输,以兼顾数据传输效率;
所述数据流量类型包括应用数据流量、应用管理数据流量、同步数据流量、备份流量,其中:
应用数据流量是指用户通过对象存储后端服务直接传输的用户的数据;
应用管理数据流量是指控制台使用对象存储后端服务产生的管理类的数据流量;
备份流量是指用户备份至对象存储中的数据产生的流量,包括用户主动触发和用户通过创建定时任务后台触发的备份流量;
同步数据流量是指不同区域之间同步的应用元数据以及用户数据产生的流量;
所述网络为参考流量类型的低耦合网络部署架构,支持灵活配置和多平台部署charts包,包括同步网、应用数据网、应用数据管理网、存储外网的网络规划集合、非单一或其中的部分网络规划,所有网络共同使用,解决业务耦合问题,其中:
同步网为不同区域之间同步元数据、同区域下不同az同步数据和元数据、同区域下其他资源备份使用,作用包括:(1)如果使用multi-site模式部署,负责连接不同区域,用以同步两个区域之间的元数据;(2)在同一区域下,如果部署多个az,负责在不同az之间同步数据与元数据;(3)传输无代理方式备份的数据,将云硬盘、云服务器、云数据库的资源在管理侧备份至对象存储;
应用数据网为租户使用对象存储后端服务使用,包含租户通过控制台和对象存储sdk和工具使用对象存储后端服务,主要包括:(1)在高可用负载均衡服务节点上负责接收和发送用户使用租户控制台上传或下载的数据;(2)在高可用负载均衡服务节点上负责接收或发送用户使用sdk或者工具调用对象存储后端服务api产生的流量,含数据流量和管理流量;
应用管理数据网为对象存储控制台使用对象存储后端服务传输数据;作用包括:在高可用负载均衡服务节点上负责接收和发送租户控制台调用对象存储后端服务api产生的管理流量;
存储外网为高可用负载服务转发数据至网关服务、网关服务连接分布式存储集群使用;作用包括:(1)负责在高可用负载均衡服务和网关服务之间转发所有数据;(2)负责连接网关服务和ceph分布式存储;
所述应用数据流量规划到应用数据网,所述应用管理数据流量规划至应用管理数据网,所述备份流量和同步数据流量规划至同步网;存储外网同ceph分布式存储通信。
2.根据权利要求1所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述对象存储后端服务使用kubernetes集群进行部署,包含有高可用负载均衡服务和网关服务,其中:
高可用负载均衡服务采用主备模式,支持热切换;
网关服务能够在同一个可用区或者同一个区域部署多副本,达到高可用和负责均衡的效果。
3.根据权利要求2所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述对象存储后端服务运行在pod中,如果pod异常退出,则实现自动重新加载;
所述对象存储后端服务升级时支持滚动升级,保证业务连续不中断。
4.根据权利要求3所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述方法的部署脚本以charts包的方式编写,charts包包含高可用负载均衡服务charts脚本、分布式存储环境初始化charts脚本、网关服务charts脚本;charts包提供一个value文件,通过编辑value文件,使用helm命令能够根据value中配置的值生成所有服务的配置文件以及部署文件,根据现场的实际需求和存储集群规模,修改value文件即可定制化部署对象存储后端服务,实现灵活配置;只需修改value文件中的镜像仓库信息,即可在不同的平台部署对象存储后端服务,实现多平台部署。
5.根据权利要求4所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述高可用负载均衡服务charts脚本包含了在pod中部署的nginx和keepalived的主备服务,其中:
keepalived结合网络规划绑定三张网的VIP,同步网VIP、应用数据网VIP、应用管理数据网VIP;
通过编辑value文件,配置nginx监听网络VIP和端口信息实现高可用负载均衡服务的灵活部署,包含:
(1)监听同步网VIP的80端口,根据请求中az信息作出判断,如果不包含az信息,请求设置转发至master az对应的endpoints,用于不同区域的元数据同步,或采用无代理方式备份数据至master az;
如果包含az信息,采用无代理方式备份数据至指定az对应的endpoints;
(2)监听应用数据网VIP的443和80端口,根据az新配置转发的endpoints,如果监听到的请求不含az信息,请求转发至master az对应的endpoints;
如果监听到的请求含az信息,请求转发至指定az对应的endpoints;
如果部署现场需要同城多活或者支持多az功能,在value中需要配置每个az对应的endpoints;
高可用负载均衡服务charts包运行时会自动加载az对应的endpoints信息至nginx的upstream模块,实现了指定az的请求转发至az对应的endpoints;
(3)应用管理数据网VIP的80端口监听控制台的元数据操作请求,并将请求转发至master区域下master az对应的endpoints。
6.根据权利要求5所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述分布式存储环境初始化charts脚本包含生成初始化job、初始化脚本,并在job运行时运行分布式存储环境初始化脚本,实现部署人员定制的分布式存储环境,脚本支持multi-site方式部署环境初始化、同城多az部署环境初始化、多介质存储部署环境初始化,自动计算对象存储每个存储池的PG数量并初始化存储池、区域、az信息、区域和az的endpoints信息。
7.根据权利要求6所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述网关服务charts脚本包含网关服务的配置,部署并启动3个副本网关应用服务,并在存储外网和同步网监听8088端口,自动配置网关名称、自动在分布式ceph存储集群中注册网关服务,网关应用监听的同步网8088端口用来处理同一区域下不同az之间数据和元数据同步请求,其余的数据请求均通过存储外网的8088端口处理。
8.根据权利要求1所述的一种参考流量类型部署对象存储后端服务的实现方法,其特征在于,所述方法实现步骤包括:
第一步:部署kubernetes集群,每部署一个区域需要有一套kubernetes集群,集群最少应有5个部署节点,包括ha节点和app节点,用来部署一个区域下的2个高可用负载均衡服务和一个master az的3个网关服务;
第二步:规划对象存储后端服务网络,包括同步网、存储外网、应用数据网、应用管理数据网,其中高可用负载均衡服务的nginx和keepalived节点上有以上四张网络,网关服务节点上有存储外网和同步网两张网络;
第三步:为高可用负责均衡服务节点准备VIP,包括同步网VIP,应用管理数据网VIP,应用数据网VIP;
第四步:申请服务器证书与域名,搭建租户侧DNS服务器,其中域名包含内网域名和外网域名,内网域名是指能够在租户侧虚机中直接使用的域名,此域名不需要外网IP,使用虚拟交换机的浮动IP映射到应用数据网VIP;
外网域名需要申请,并且映射到一个外网IP,外网域名可在互联网DNS上解析,外网IP需要映射到应用数据网VIP;如果部署多个区域,将多个区域的域名对应一个证书,便于服务器端证书管理;
第五步:制作网关服务镜像和高可用负责均衡服务镜像;
第六步:准备charts包,使用charts包生成配置文件、部署文件,初始化分布式存储环境,部署高可用负载均衡服务和网关服务;
通过编辑charts包中的value文件,使用helm和kubectl命令完成初始化分布式存储环境、生成服务配置文件、生成证书配置,启动高可用负责均衡服务pod和网关服务pod,使用helm命令和kubectl命令结合charts包主要实现以下功能:
(1)生成网关服务的配置文件;
(2)生成网关服务启动脚本;
(3)根据配置文件的值,生成分布式存储环境初始化脚本;
(4)生成证书配置文件;
(5)生成ceph分布式存储系统的管理员用户配置;
(6)生成高可用负责均衡服务的配置信息;
(7)生成高可用负载均衡服务和网关服务以及存储环境初始化的部署文件;
第七步:编辑value文件,修改环境配置信息,使用helm和kubectl命令安装部署对象存储后端服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708448.4A CN111835862B (zh) | 2020-07-22 | 2020-07-22 | 一种参考流量类型部署对象存储后端服务的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010708448.4A CN111835862B (zh) | 2020-07-22 | 2020-07-22 | 一种参考流量类型部署对象存储后端服务的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835862A CN111835862A (zh) | 2020-10-27 |
CN111835862B true CN111835862B (zh) | 2023-05-30 |
Family
ID=72924635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010708448.4A Active CN111835862B (zh) | 2020-07-22 | 2020-07-22 | 一种参考流量类型部署对象存储后端服务的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835862B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422683B (zh) * | 2020-11-19 | 2023-02-03 | 浪潮云信息技术股份公司 | 一种k8s环境下的api网关服务高可用实现方法 |
CN113347043B (zh) * | 2021-06-25 | 2022-11-22 | 武汉悦学帮网络技术有限公司 | 网关的管理方法、装置、网关管理平台及存储介质 |
CN113835963B (zh) * | 2021-09-26 | 2024-07-16 | 上海电器科学研究所(集团)有限公司 | 一种基于Kubernetes自动化部署工具集成方法 |
CN114584530B (zh) * | 2022-03-09 | 2024-04-16 | 浪潮云信息技术股份公司 | 对象存储自定义域名实现方法、电子设备及存储介质 |
CN116232843A (zh) * | 2023-03-02 | 2023-06-06 | 杭州乒乓智能技术有限公司 | 以应用组维度批量管理业务机器集群的多运维管理方法及系统 |
CN116737466B (zh) * | 2023-08-15 | 2023-11-03 | 中移(苏州)软件技术有限公司 | 备份处理方法、装置、系统、电子设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078651A (zh) * | 2019-12-23 | 2020-04-28 | 浪潮云信息技术有限公司 | 统计对象存储的使用量的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10871922B2 (en) * | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US10855531B2 (en) * | 2018-08-30 | 2020-12-01 | Juniper Networks, Inc. | Multiple networks for virtual execution elements |
-
2020
- 2020-07-22 CN CN202010708448.4A patent/CN111835862B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078651A (zh) * | 2019-12-23 | 2020-04-28 | 浪潮云信息技术有限公司 | 统计对象存储的使用量的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于OpenStack的云平台搭建研究;童林萍 等;《信息通信》;20200229;正文第1-2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111835862A (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835862B (zh) | 一种参考流量类型部署对象存储后端服务的实现方法 | |
US20210004297A1 (en) | System and method for managing blockchain nodes | |
US11520808B2 (en) | System and method for synchronizing data between communication devices in a networked environment without a central server | |
US8918513B2 (en) | Network resource deployment for cloud-based services | |
EP2922238B1 (en) | Resource allocation method | |
US10089123B2 (en) | Virtual cable modem termination system redundancy in a cable modem network environment | |
EP1780940B1 (en) | High availability network systems | |
EP3014434B1 (en) | Management of computing sessions | |
US7165087B1 (en) | System and method for installing and configuring computing agents | |
US20160112252A1 (en) | Deployment and upgrade of network devices in a network environment | |
CN111522628A (zh) | 一种基于OpenStack的Kubernetes集群搭建部署方法、架构及存储介质 | |
WO2017167100A1 (zh) | 一种数据迁移方法和装置 | |
CN102664747B (zh) | 一种云计算平台系统 | |
CN104935672A (zh) | 负载均衡服务高可用实现方法和设备 | |
US12032952B2 (en) | Service upgrade method, apparatus, and system | |
CN104252397A (zh) | 支持云平台用户文件自动备份的实现方法 | |
US10608867B2 (en) | Method and an electronic arrangement for providing demand-supply service of physical communication network resources | |
CN111404628A (zh) | 一种时间同步方法和装置 | |
CN112114746A (zh) | 一种分布式存储集群的自动化部署方法 | |
US20240054054A1 (en) | Data Backup Method and System, and Related Device | |
KR102181660B1 (ko) | 다중 엣지 서버 원격제어 시스템 | |
CN114650213B (zh) | 配置Jenkins服务器集群的方法、装置、存储介质 | |
CN113194115A (zh) | 一种自动部署客户端的方法及网络设备、存储介质 | |
CN114930313A (zh) | 用于管理区块链节点的系统和方法 | |
CN101192952A (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 |