降本增效|揭秘「统信有栈」实现弹性伸缩的原理与工具


浪大仙
浪大仙 2023-10-17 13:47:28 68128
分类专栏: 资讯

弹性伸缩作为云计算的核心功能之一,其重要性是毋庸置疑的。它不仅能够极大地提升系统的灵活性和可扩展性,还能够协助企业高效地进行资源管理和成本管控,进而提升企业的竞争力,为企业带来更多的商业机会和客户价值。

 

 

8月初,统信云基础设施管理平台(简称:统信有栈)已完成新版本发布,带来了一些功能和性能的提升。这款由统信软件自主研发的IaaS云管平台,从诞生之初就具备一些基础功能,比如提供直观易用的Web图形化界面,并巧妙融入弹性伸缩技术,进而实现对计算、存储和网络资源的统一编排和调度。

 

原理篇

 

底层IT环境的系统构成,即包括硬件设施和网络等资源,在被抽象成资源池之后,可以作为云主机资源供上层应用统一调度使用。

 

当上层应用的业务资源使用量超过或低于预设的阈值水平线的最高或最低点时,将自动触发弹性伸缩机制,实现资源的按需供给或释放。

 

 

该机制的实现方法是:对虚拟化实例进行扩容或缩容,以及创建新的虚拟化实例或销毁已有的虚拟化实例。这样一来,整个集群内的应用就能够更加合理地使用硬件资源,从而有效提升运维人员或管理员的维护效率。

 

这种动态调节资源配置的方式可以应对业务在高峰期和低谷期等不同访问场景,不仅实现了最优的成本管控,还规避了因业务并发访问量激增而导致的业务中断风险。

 

工具篇

 

为了实现弹性伸缩机制,「统信有栈」经过仔细权衡,最终选择了Heat和Senlin组件。

 

 

Heat是「统信有栈」中负责资源编排的组件,旨在实现基础设施的自动化管理和应用程序的高效部署。它主要用于管理基础设施资源和自动化部署,使客户能够定义和描述对整个云环境的基础设施需求,并通过模板实现这些资源的部署和管理。

 

另一方面,通过引入Senlin,客户可以基于业务数据而不是基础设施指标触发扩展操作,进而实现集群的负载均衡和自动扩展。

 

当现有集群无法满足吞吐量或工作负载时,集群规模将被扩大;而在吞吐量或工作负载较低时,则会相应减小集群的规模。

 

实践篇

 

如果想要实现弹性伸缩功能,首先需要配置Heat模板,然后执行相关命令来创建资源。

 

Heat模板举例

 

  • 为连接到创建的负载均衡集群,定义了一个安全组。

 

security_group:
  type: OS::Neutron::SecurityGroup
  properties:
    rules:
      - protocol: icmp
      - protocol: tcp
        port_range_min: 22
        port_range_max: 22
      - protocol: tcp
        port_range_min: 80
        port_range_max: 80

 

  • 定义了用于创建目标集群的配置文件。

 

profile:
  type: OS::Senlin::Profile
  properties:
    type: os.nova.server-1.0
    properties:
      flavor: {get_param: flavor}
      image: {get_param: image}
      key_name: {get_param: key_name}
      networks:
        - network: {get_param: network}
      security_groups:
        - {get_resource: security_group}

 

  • 定义了创建一个至少有两个节点的Senlin集群。

 

cluster:
  type: OS::Senlin::Cluster
  properties:
    desired_capacity: 2
    min_size: 2
    profile: {get_resource: profile}

 

  • 定义了附加到创建的集群的两个策略scale_in_policy和scale_out_policy:event用于定义策略工作的目标操作;当adjustment的类型设置为CHANGE_IN_CAPACITY时,集群将在scale_out时增加节点数,或在scale_in时减少节点数。

 

scale_in_policy:
  type: OS::Senlin::Policy
  properties:
    type: senlin.policy.scaling-1.0
    bindings:
      - cluster: {get_resource: cluster}
    properties:
      event: CLUSTER_SCALE_IN
      adjustment:
        type: CHANGE_IN_CAPACITY
        number: 1
 
scale_out_policy:
  type: OS::Senlin::Policy
  properties:
    type: senlin.policy.scaling-1.0
    bindings:
      - cluster: {get_resource: cluster}
    properties:
      event: CLUSTER_SCALE_OUT
      adjustment:
        type: CHANGE_IN_CAPACITY
        number: 1

 

  • 定义了要附加到目标集群的负载均衡策略lb_policy:一旦将策略附加到集群,Senlin将通过调用neutron LBaas V2 API来自动创建负载均衡器、池和health_monitor,用于实现负载均衡。

 

lb_policy:
  type: OS::Senlin::Policy
  properties:
    type: senlin.policy.loadbalance-1.0
    bindings:
      - cluster: {get_resource: cluster}
    properties:
      pool:
        protocol: HTTP
        protocol_port: 80
        subnet: {get_param: pool_subnet}
        lb_method: ROUND_ROBIN
      vip:
        subnet: {get_param: vip_subnet}
        protocol: HTTP
        protocol_port: 80
      health_monitor:
        type: HTTP
        delay: 10
        timeout: 5
        max_retries: 4

 

  • 定义了两个当某个警报或事件发生时要触发的接收器,用于执行集群节点的伸缩。

 

receiver_scale_out:
  type: OS::Senlin::Receiver
  properties:
    cluster: {get_resource: cluster}
    action: CLUSTER_SCALE_OUT
    type: webhook
 
receiver_scale_in:
  type: OS::Senlin::Receiver
  properties:
    cluster: {get_resource: cluster}
    action: CLUSTER_SCALE_IN
    type: webhook

 

  • 定义了在要缩减应用集群时选择要删除的候选节点的策略。

 

deletion_policy:
  type: OS::Senlin::Policy
  properties:
    type: senlin.policy.deletion-1.0
    bindings:
      - cluster: {get_resource: cluster}
    properties:
      criteria: YOUNGEST_FIRST
      destroy_after_deletion: True
      grace_period: 20
      reduce_desired_capacity: False

 

  • 定义了触发上述两个接收器的alarm:使用LoadBalancer的上传字节的平均速率作为触发缩放操作的指标。

 

scale_in_alarm:
  type: OS::Ceilometer::Alarm
  properties:
    description: trigger when bandwidth overflow
    meter_name: network.services.lb.incoming.bytes.rate
    statistic: avg
    period: 180
    evaluation_periods: 1
    threshold: 12000
    repeat_actions: True
    alarm_actions:
      - {get_attr: [receiver_scale_in, channel, alarm_url]}
    comparison_operator: le
    query:
      metadata.user_metadata.cluster_id: {get_resource: cluster}
 
scale_out_alarm:
  type: OS::Ceilometer::Alarm
  properties:
    description: trigger when bandwidth insufficient
    meter_name: network.services.lb.incoming.bytes.rate
    statistic: avg
    period: 60
    evaluation_periods: 1
    threshold: 28000
    repeat_actions: True
    alarm_actions:
      - {get_attr: [receiver_scale_out, channel, alarm_url]}
    comparison_operator: ge
    query:
      metadata.user_metadata.cluster_id: {get_resource: cluster}

 

创建资源命令

 

前提条件:部署前,请确保「统信有栈」已开启neutron lbaas和ceilometer/aodh

 

执行命令:openstack stack create test -t ./ex_aslb.yaml

 

  • test:资源名称,可自定义

  • ex_aslb.yaml:Heat模板文件名称

 

Heat模板文件下载地址:

https://opendev.org/openstack/senlin/src/branch/master/doc/source/scenarios/ex_lbas.yaml

 

 

 

统信软件通过对「统信有栈」所有组件进行容器化镜像改造并将其内置在统信UOS服务器版中,为客户提供了开箱即用的定制交付能力。客户仅需根据业务情况启动对应镜像并配置网络即可完成「统信有栈」集群的快速部署,有效简化了运维人员部署配置云管平台的流程,在提升部署效率的同时也减少了误操作机率。

 

 


统信UOS服务器版汲取国内外主流社区技术栈优势,深入技术底层结合国内外设计标准与规范以及各类客户业务应用需求,积极开展技术创新,全面支持国内外主流CPU架构和处理器厂商,在各种应用环境中,满足强安全、高稳定、高性能、易维护以及泛兼容等要求,是一款构建信息化设施环境的基础软件产品:

强安全:

等保四级GB/T 20272-2019认证

商密二级GM/T 0028认证

全栈生态链支持国密

国际知名安全社区OpenSCAP官方首批支持的中国操作系统

21天推送一次补丁更新,每周进行漏洞修复推送

高稳定:

稳定版 Linux 4.19&5.10双内核

热补丁升级机制

LTP 7*24小时测试用例通过率超98%

长时高负荷运行,卸荷后60秒内实现系统及各应用流畅运行

 

高性能:

内存拷贝页技术,拷贝性能提升超70%,满并发优化提升10%

多种自研性能优化成果:文件读写性能提升4%、调度延迟减少10%、多并发锁竞争场景性能提升5%……

相比同类产品,UnixBench等测试全面领先

 

易维护:

提供自研统信有易服务器迁移软件

提供自研统信有幄自动化运维工具

提供面向场景的AI系统调优能力

 

泛兼容:

历史版本兼容性>98%,提供平滑升级方案

组件模块化设计,为用户最大限度解决底层依赖问题

全面通过整机适配兼容性测试(多种不同型号的整机)

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=27652
赞同 0
评论 0 条
浪大仙L2
粉丝 0 发表 12 + 关注 私信
上周热门
Kingbase用户权限管理  2020
信刻全自动光盘摆渡系统  1749
信刻国产化智能光盘柜管理系统  1419
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1014
银河麒麟打印带有图像的文档时出错  924
银河麒麟添加打印机时,出现“server-error-internal-error”  715
麒麟系统也能完整体验微信啦!  657
统信桌面专业版【如何查询系统安装时间】  633
统信操作系统各版本介绍  624
统信桌面专业版【全盘安装UOS系统】介绍  598
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!