随着云原生技术加速金融企业数字化转型,为了不断提高企业私有云平台的业务敏捷性和服务效率以应对激烈竞争的市场环境,私有云平台业务系统的混合部署是一个重要环节这是不容忽视的。从目前的生产实践来看,很多企业仍然习惯于采用单一业务系统、单一集群的部署模式。这种类似虚拟机的“传统”部署方式虽然具有运维流程相对简单、集群生命周期更容易管理的特点,但也存在集群资源利用率低、快速部署难以控制等诸多潜在风险。集群数量增长、环境配置一致困难、高可用和容灾能力有限。
混合部署策略无疑是缓解上述常见“症状”的一剂良药。鉴于金融企业在数据管控、安全合规等方面的高要求,实施过程中必然会遇到很多困难,比如:按照哪些维度来划分业务共享集群;如何在多个业务系统之间有效隔离和分配资源;不同系统之间用户安全访问和权限控制的设计原则;集中日志的有效收集和存储。混合部署策略的可靠实施,可以显着提高私有云平台基础资源的利用率,避免硬件的过度采购和闲置浪费,有效降低基础设施运营成本,为保证系统可靠性和业务连续性提供关键技术支撑。
社区组织了多位具有丰富的金融行业生产环境中业务系统混合部署经验的专家参与在线交流,重点围绕设计原则、资源隔离与分配、安全访问、日志收集、支持等核心话题进行交流。服务建设,并对金融行业的混合部署提供了见解。我们将对战略的重点、难点和解决方案进行深入探讨和全面总结,化挑战为机遇,帮助更多金融企业成功实施多业务系统混合部署战略。
主讲嘉宾:华夏银行基础设施工程师 问答嘉宾:某股份制银行系统架构师 某银行云计算研发工程师 某金融企业IT顾问
某股份制城市商业银行系统架构师
民生银行软件架构设计师
精选内容>>>>
问题一:企业私有云容器集群上部署多个业务系统需要遵循哪些设计原则?
某股份制银行系统架构师:
1、从基础设施维度来看,开发、测试、生产的隔离、安全网络分区一般无法突破。容器集群的部署应避免跨越传统网络区域的设计。除非有特定场景,否则都有配套的安全系统支持。对于商业全栈云场景,需要考虑多租户模型的影响。企业内部的多租户与传统公有云中的多租户有很大不同。在产品设计上,容器集群的部署应避免跨越IaaS云租户的边界。
2、故障域的纬度要考虑容灾因素。容器集群应支持跨机房的容灾架构部署,包括管理面和业务节点,并通过容器集群的调度策略支持应用部署。在特殊场景下,采用独立机房、独立集群的模式。在这种设计下,需要设计跨集群的应用调度能力,隔离多个机房应用部署的复杂度。
3、集群规模的维度应尽可能支持集群节点的水平扩展,以减少单个节点故障的影响。支持容器应用程序在多个节点上运行,具有反亲和性。
4、考虑应用运行级别,离线服务和同级别的服务尽量运行在同一个集群中。
某银行云计算研发工程师:
应该更多地考虑构建多少套容器云集群。
首先,测试和生产两个大的网络区域应该区分和隔离。
在测试网区域,建议一般不需要区分容灾/对等防护级别,尽可能减少云集群数量,最大限度发挥单个集群的资源管理能力,方便管理和维护。充分资源共享,提高资源利用率。同时可以区分业务系统类型,如核心系统和非核心系统。
在生产网络区域,建议按照容灾/分级防护级别划分网络区域,并在每个网络区域建立独立的云集群。由于业务系统类型也是评估容灾/分级防护水平的因素之一,因此不需要单独考虑业务系统类型。例如,内部管理系统通常具有较低的保护级别,而基于客户的交易系统具有较高的保护级别。
如果技术能力允许,还可以采用一云多核的方式来管理同一个集群内的多芯片架构的服务器。
某金融公司IT顾问:
云首先有租户的概念,通过租户可以隔离不同的系统、组织、环境等。
从云的角度来看,云是一个庞大的网络。企业私有云部署面临的问题之一是私有容器云网络与传统安全域网络的矛盾和冲突。在合规等需求下,容器集群可能需要部署在多个安全域中。事实上,集群之间是相互隔离的。
如果系统部署有高可用、容灾等需求,则需要考虑多集群、多数据中心的部署方案。私有容器云集群的部署还需要考虑跨数据中心的问题。部署方案通常根据实际业务系统需求以及合规性、安全性等需求来确定。
一个容器集群可以部署多个系统,或者一个系统的多个环境(开发、测试、UAT等),或者多个系统的多个环境,根据集群内的资源数量以及部署、合规、安全等需求。来决定。
在容器私有云的实际应用中,早期的计划往往会随着应用的深入而进行调整,因为每个计划只解决了一部分问题,需要不断的实践、总结和优化。
问题2:多个业务系统部署在同一个集群中时,如何实现有效的资源隔离和资源分配?
某股份制城市商业银行系统架构师:
当多个业务系统同时运行在同一个集群上时,需要采取一些措施来实现有效的资源隔离和资源分配。常见的方法之一是使用容器化技术,例如or工具。
通过将各个业务系统打包成独立的容器,并为其分配特定的CPU、内存、存储资源,可以保证各个系统之间互不干扰,从而实现有效的资源隔离。此外,还可以利用容器编排平台动态调整各个系统的资源分配,以满足不同的负载需求。
容器利用Linux内核的一些相关特性来封装容器。由于容器都是运行在共享的Host上,如果容器进程受到恶意程序的攻击,可能会导致容器逃逸,最多可能对当前容器造成损害,或者导致Linux内核崩溃,导致在安全生产环境中,整个机器停机通常是不可接受的。于是,业界衍生出了安全容器的技术,也就是现在的Kata容器。 Kata容器采用多种安全机制,包括内核隔离、用户空间沙箱、网络隔离等,可以有效防止容器逃逸攻击等安全威胁。同时,也有一些来自其他厂商的技术演进,比如Red Hat的BootC项目,通过可启动容器镜像将Linux内核、启动加载程序等打包到容器镜像中,将容器转换为虚拟机(VM)、USB 启动盘或 RAW 映像。
除了容器化技术之外,还可以利用虚拟化技术,比如VKM或者其他工具来实现更细粒度的资源隔离和分配。在这种情况下,各个业务系统将由虚拟机上的操作系统托管,虚拟机将分配隔离的硬件资源,如CPU、内存和磁盘空间。
无论采用哪种技术,在设计和配置阶段都需要考虑资源隔离和分配问题,以保证整个系统的稳定性和可靠性。同时,在实际运行过程中,还需要定期监控各系统的资源使用情况,及时调整资源配置,保证系统性能。
某银行云计算研发工程师:
部署在同一个容器云平台上的多个业务系统一般共享集群资源池中的资源,应该充分共享。特殊情况下可以独占计算节点,例如GPU服务器。
为了保证有效的资源隔离和资源分配,应该为每个业务系统设置资源配额,并且每个Pod必须小于限制。您还可以设置限制的默认比率,例如 20%。当配额满时,应该有一个资源扩容流程,以便业务系统运维可以申请扩容。同时需要对业务系统的资源使用情况进行统计,可以作为资源申请判断和审批的依据。
还可以对容器云支撑资源的自动弹性伸缩设置规则,结合业务系统交易量、资源使用情况等各种指标,自动调整分配给业务系统的资源,可以进一步减轻运维压力。最大限度地提高资源效率。
某股份制银行系统架构师:
提供命名空间、资源配额等对象,实现资源隔离和分配。资源隔离有多个级别。首先是租户资源隔离、集群资源隔离、命名空间资源隔离、服务资源隔离等。系统中的资源配额和限制机制可以直接使用这些机制。如果企业想要使用k8s,可以考虑商业解决方案,可以快速搭建环境,快速上手,更容易有效管理资源、应用系统以及有效的隔离和配额管理。
问题3:当多个业务系统混合部署在同一个集群中时,如何在安全访问策略和控制权限方面进行合理的规划和设计?
某银行云计算研发工程师:
通过隔离来隔离应用系统。对于同一个集群中的同一个业务系统,服务之间的相互访问不需要离开集群,可以直接通过名称访问。系统间或集群间的服务访问是通过对方系统的域名进行的。对于业务系统之间的相互访问,建议更多地从应用系统架构层面进行设计和控制,如制定管理原则、建立第三方管理系统,通过接口注册订阅等方式实现互联授权和管理。技术上,可以在消费端嵌入互联组件,与授权中心进行通信,获取服务器接口的访问授权,并在服务器端进行token验证和审计记录,实现服务的安全访问。
某股份制银行系统架构师:
应该分为左右,通常可以有以下参考:
1、权限管理方面,使用k8s原生的rbac能力
2、管理平台可以使用高能admin调用k8s。
3、共享集群下,访问k8s租户内的k8s资源应使用level级别的资源权限。
4. 每个系统应该有一个或多个
5、管理平台应对系统应用开发和运维人员建立二级安全访问和控制权限,并基于行业现有模型完成认证。认证后即可获得系统相应的k8s操作权限。
6、管理平台应具有访问控制拦截、操作审计记录和防篡改的能力。
民生银行软件架构设计师:
出于安全原因,容器集群通常不跨越网络安全域。在同一网络安全域内,集群内东西方向默认不设置访问控制。如果有特殊的安全需求,需要东西向网络访问控制,可以考虑采用网络微网格技术。目前已经有相关成熟的商业产品。在南北保护方面,还可以采用微电网隔离,实现细粒度的隔离能力。
在控制权限方面,需要按照粒度进行详细的权限控制。利用k8s的RBAC机制,只允许某些授权人员访问相应的权限。可以为不同的角色设置不同的访问权限,例如读写、只读或仅对特定对象进行操作。
某金融公司IT顾问:
容器云同一个集群中的多个系统可以通过租户部署,也可以隔离部署。同一租户内的服务可以互相访问,不同租户之间的服务可以限制访问。暴露k8s服务的方式有很多种,比如,,,等等,如果是在集群内部,可以通过访问,但是通常不使用这种方式,因为这是k8s的内部机制。用户等待框架通常有一个注册发现中心,通过该中心发现服务并访问和调用服务。然而,这里有一个问题。如果采用三层容器网络,Pod IP只能在同集群内访问,跨集群不可达。也有公司使用额外的组件来连接两个集群的三层网络,以方便跨集群调用。不过,我个人认为,并不推荐。
在同一个集群内,通常不会进行过度认证等访问控制。不同系统之间的接入调用往往需要经过业务网关。访问控制是在网关上实现的。可以配置访问策略、认证权限、流量控制、路由等规则。
问题4:如果不同的业务系统共存于同一个集群中,必然会产生大量的日志。如何有效区分、收集和存储日志?
某金融公司IT顾问:
日志记录是私有云平台必须考虑的一个重要问题。
日志包括容器云平台组件日志、应用日志、中间件日志、操作系统日志等,这些日志对于异常分析和定位非常重要。
如果想要有效区分,就需要根据实际需要进行分类和划分。您可以遵循一些建议,也可以根据实际情况确定。
日志采集通常将日志打印到标准输出(不将日志写入文件),其他工具采集日志并发送给ES等平台进行存储、查询和分析。
应用程序日志中的一个关键问题是调用链接。这就需要提前定义日志格式、关联方式等。查询分析时可以根据调用链接进行显示(系统时间可能不同步,无法按时间排序)。
兴业证券系统工程师:
ES本身也可以根据索引来区分不同的应用系统。关键是各业务系统的打印日志格式必须标准化、统一。各业务系统需要调用统一中间件打印日志,不要独立进行。
某股份制城市商业银行系统架构师:
集中式日志采集的核心是将分散在不同服务器、应用程序和服务中的日志数据聚合到一个集中的存储系统中。这种方式不仅可以提高日志数据的可访问性和可用性,还可以大大简化日志管理和分析过程。集中采集常用的技术有ELK(,,,)堆栈以及ELK等工具。
问题5:在多业务系统混合部署的大型集群中,周边支撑服务系统需要修改哪些功能点?
某股份制银行系统架构师:
这个问题比较复杂,主要依靠行业现有的管控流程来实现。但经过多年的IT发展,烟囱式和高耦合往往成为工具实现的常态。因此,工具集成是不可避免的,与是否混合部署关系不大。
以下是一些建议:
1、容器集群本身必须设计高内聚。容器集群(包括节点)、k8s原生资源、k8s插件(包括网络、存储、监控、日志、运行时)等需要有完整的生命周期管理。
2、通过接口调用或数据推送,完成与现有报警系统、日志系统、CMDB数据的集成。
3、行业统一的云管理平台或流程平台,通过提供标准化的接口或页面集成方式,实现行业内一体化、统一的用户体验。
民生银行软件架构设计师:
首先,网络访问控制层可以支持粒度或细粒度级别的访问控制,这通常要求网络具有微网格能力。其次,对于共置集群来说,需要具备在主机层面区分高质量和低质量线程的能力,并提供不同的资源支持。这个能力需要和k8s联动,为不同优先级的Pod设置不同级别的资源调度优先级。 ,这样可以保证低质量服务的突发负载不会影响高质量服务。另外,最好有能力在级别上控制节点上所有低质量负载的资源总量,限制节点上所有低质量Pod使用的CPU/内存/网络不超过一定的阈值,避免占用过多的资源,影响高质量的工作负载。商业。
如果共存场景涉及大数据批处理作业,大数据批处理作业还需要修改为具备将作业调度到k8s集群的能力,并且还具备弹性队列能力,支持在不同时间段设置不同的队列配额避免线上业务高峰期,过多的大数据岗位进来,对线上业务造成影响。其他支持能力与独占节点方式基本相同。
某金融公司IT顾问:
云管理平台、ITIL平台、CMDB平台等其实彼此关系不大。
云管理平台可以专注于提供基础设施资源服务,例如提供自动申请、创建虚拟机等维护能力,从而实现资源弹性。
围绕容器云的支撑系统包括认证、权限、配置、注册发现、API网关、日志、监控报警、存储等,需要实现对接。比如这些支撑系统是否能够实现相同的权限控制,即一套权限API。大多数企业只实现单点登录,无法实现统一的权限控制。因此,这些基础组件的准备也是容器云顺利实施的一个重要方面。
同行共识审查
本次活动重点探讨帮助金融企业加速实施业务系统在私有云上混合部署的难点和痛点。它深入分析了每个项目。综上所述,主要包括业务系统混合部署、资源有效隔离与分配、用户安全访问与权限等设计维度。管控、日志监控中心建设、支撑系统服务建设等五个关键问题:
1、业务系统混合部署的设计原则
金融企业范围涵盖广泛,包括银行、证券、保险、基金、期货、信托等,每个行业的云平台建设标准和监管要求都不同。企业应结合自身业务需求和监管要求,制定有效的多系统共享容器集群。策略,一些通用的设计原则可以参考:开发、测试和生产环境、不同的网络区域划分、业务系统类型、业务系统运行级别或容灾级别、容器集群规模和数量等。商业全栈云还应考虑多租户模型的维度,同时容器集群的部署应避免跨越传统网络区域和IaaS层云租户的边界。当然,部署策略并不是一成不变的。随着混合部署应用的深入,前期的规划也会有所调整,需要在实践中不断总结。和优化。
2、有效的资源隔离和分配
充分利用原生命名空间、资源配额()、资源限制()等技术,实现租户、集群、命名空间、服务等层面的资源隔离。对于GPU应用等特殊需求,可以考虑独享计算节点。实时监控和分析各业务系统的资源使用情况,为集群配置资源弹性伸缩能力,适当调整资源比例,保证多业务系统共享集群安全、稳定、可靠运行。
3、用户安全访问及权限控制
同一集群中的多个业务系统需要通过租户、命名空间()、RBAC机制来设置不同角色用户的对象访问权限。同一租户或业务系统服务可以通过等方式相互访问,而不同租户、不同系统或集群之间通过服务相互访问往往需要限制访问。如果同一系统采用该框架,则可以配置内部注册发现中心,通过接口注册和订阅实现发现和调用服务的授权和管理。不同系统之间服务的相互访问往往需要一个服务网关(),在网关上设置访问策略、认证权限等规则。
4、集中日志中心建设
私有云平台日志包括容器组件、应用程序、中间件、操作系统等类型的日志,需要有效区分。最好将应用日志的日志格式标准化,方便集中管理和分析。建立集中式日志采集中心的意义在于将分散在不同服务器、应用程序和服务中的日志数据聚合到一个集中的存储系统中,这将有助于提高日志数据的可访问性和可用性,简化日志管理和分析过程。 。选择合适的日志采集工具,实时采集各种来源的日志数据。经过初步处理和过滤后,传输到集中存储系统,如良好的日志访问控制和数据加密,定期归档和清理。集中式日志中心覆盖日志采集、传输、存储、分析全链条,显着提升开发和运维人员的日志查询效率。
5、周边支撑系统功能建设
首先,容器集群本身被设计得具有高内聚性,容器集群内的各种资源对象实现了完整的生命周期管理。通过提供接口调用、数据推送方式或接口集成,可与单位现有云管理平台、认证认证、注册发现、API网关、监控报警、ITIL平台、CMDB平台等有效对接,实现一体化用户体验。外围支撑系统最好能实现统一的用户权限控制。
综上所述,金融企业在推动业务系统混合部署的过程中,需要根据自身业务特点和技术水平,在成本、效率和技术复杂度等方面进行精准权衡。从顶层设计出发,结合传统基础设施特点,考虑单位业务域、网络域、安全域、故障域等多个维度,管控安全边界,合理规划方式供多业务系统共享私有云容器集群资源。在资源隔离和分配方面,通过私有云多租户模型和原生命名空间、资源限制和配额功能,实现灵活精细的资源隔离,保证多个业务系统共享稳定可靠的容器集群,资源能效最大化;在访问策略和权限控制方面,大多可以利用用户多级权限控制模型、容器集群原生RBAC机制、微服务网关等技术来实现集群内外的流量访问限制;容器集群的日志输出格式可以统一标准化,同时定期对各种业务系统日志进行分类标记、分级过滤、优化归档。云原生时代日志工具ELK、EFK等用于构建集中式日志中心,可共享、可复用。上述诸多困难,需要金融企业审慎决策,灵活把握方法和策略,运用系统工程思想一一攻克技术和管理难题,充分发挥混合部署技术助力企业上云的关键作用- 原生数字化转型。