在腾讯云TKE上HPA实现业务的弹性伸缩
概述
Kubernetes Pod 水平自动扩缩(Horizontal Pod Autoscaler,以下简称 HPA)可以基于 CPU 利用率、内存利用率和其他自定义的度量指标自动扩缩 Pod 的副本数量,以使得工作负载服务的整体度量水平与用户所设定的目标值匹配。本文将介绍和使用腾讯云容器服务 TKE 的 HPA 功能实现 Pod 自动水平扩缩容。
使用场景
HPA 自动伸缩特性使容器服务具有非常灵活的自适应能力,能够在用户设定内快速扩容多个 Pod 副本来应对业务负载的急剧飙升,也可以在业务负载变小的情况下根据实际情况适当缩容来节省计算资源给其他的服务,整个过程自动化无须人为干预,非常适合服务波动较大,服务数量多且需要频繁扩缩容的业务场景,如:电商服务、线上教育、金融服务等。
原理概述
Pod 水平自动扩缩特性由 Kubernetes API 资源和控制器实现。资源利用指标决定控制器的行为, 控制器会周期性的根据 Pod 资源利用情况调整服务 Pod 的副本数量,以使得工作负载的度量水平与用户所设定的目标值匹配。其扩缩容流程和说明如下:
提示:目前这一功能处于 beta 版本,且 Pod 自动水平扩缩不适用于无法扩缩的对象,比如 DaemonSet 资源。

HPA Controller:控制 HPA 扩缩逻辑的控制组件。
Metrics Aggregator:度量指标聚合器。通常情况下,控制器将从一系列的聚合 API(metrics.k8s.io
、custom.metrics.k8s.io
和 external.metrics.k8s.io
API 通常由 Metrics 服务器提供,社区版可提供基本的 CPU、内存度量类型,相比于社区版,TKE 使用自定义 Metrics Server 采集可支持更广泛的的 HPA 的度量指标触发类型,提供包括 CPU 、内存、硬盘、网络和 GPU 相关指标。
提示:控制器也可以直接从 Heapster 获取指标。但自 Kubernetes 1.11 起,从 Heapster 获取指标特性的方式已废弃。
前提条件
- 已 注册腾讯云账户。
- 已登录腾讯云容器服务控制台。
- 已创建 TKE 集群。
操作步骤
第 1 步:部署测试工作负载
以 Deployment 资源类型的工作负载为例,创建一个单副本数,服务类型为 WEB 服务的 “hpa-test” 工作负载,本案例结果如下图所示:

第 2 步:配置 HPA
在 TKE 控制台为测试工作负载绑定一个 HPA 配置,案例配置当网络出带宽达到0.15Mbps(150Kbps) 时触发扩容的策略。

第 3 步:功能验证
在集群中启动一个临时 Pod 对配置的 HPA 功能进行测试(模拟客户端):
kubectl run -it --image alpine hpa-test --restart=Never --rm /bin/sh
在临时 Pod 中运行下面命令短时间内模拟大量请求访问 “hpa-test” 服务使出口流量带宽增大:
# hpa-test.default.svc.cluster.local 为服务在集群中的域名,当需要停止脚本时按 Ctrl+C 即可
while true; do wget -q -O - hpa-test.default.svc.cluster.local; done
在测试 Pod 中执行模拟请求命令后,通过观察下图中工作负载的 Pod 数量监控可以看到,在 16:21 分时工作负载扩容副本数量至 2 个,由此可推断出已经触发了 HPA 的扩容事件。

再通过下图的工作负载的网络出口带宽监控可以看出在 16:21 左右时网络出口带宽增至大概 199 Kbps,已经超过 HPA 设定的网络出口带宽目标值,进一步证明此时触发 HPA扩缩容算法扩容了一个副本数来满足设定的目标值,故工作负载的副本数量变成了 2 个。
接下来模拟缩容过程,在 16:24 左右手动停止执行模拟请求的命令, 从下图监控看到此时网络出口带宽值下降到扩容前位置,按照 HPA 的逻辑,此时已经满足工作负载缩容的条件。

但从下图工作负载的 Pod 数量监控可以看出,工作负载在 16:30 分时才触发了 HPA 的缩容,这是因为触发了 HPA 缩容有默认 5 分钟的容忍时间的算法,以防止度量指标短时间波动导致的频繁的扩缩容。从下图可以看出工作负载副本数在停止命令 5 分钟后按照 HPA 扩缩容算法缩容到了最初设定的 1 个副本数。

当 TKE 发生 HPA 扩缩容事件时,会在对应的 HPA 实例的事件列表展示,如下图所示。需要注意的是事件通知列表的时间分为 “首次出现时间” 和 “最后出现时间”,“首次出现时间” 表示相同事件第一次出现的时间,”最后出现时间” 为相同事件出现的最新时间,所以从下图事件列表 “最后出现时间” 字段可以看到本示例扩容事件时间点是16:21:03,缩容事件时间是16.29:42,时间点与工作负载监控看到的时间点相吻合。

此外,工作负载事件列表也会记录 HPA 发生时工作负载的增删副本数事件,从下图可以看出工作负载扩缩容时间点与 HPA 事件列表的时间点也是吻合的,增加副本数时间点是 16:21:03,减少副本数时间点是 16: 29:42。

在本案例中主要演示了 TKE 的 HPA 功能, 使用 TKE 自定义的网络出口带宽度量类型作为工作负载 HPA 的扩缩容度量指标,当工作负载实际度量值超过 HPA 配置的度量目标值时, HPA 根据扩容算法计算出合适的副本数实现水平扩容,保证工作负载的度量指标满足预期,保障工作负载稳定运行;当实际度量值远低于 HPA 配置的度量目标值时,HPA 会在容忍时间后计算合适的副本数实现水平缩容,适当释放闲置资源,达到提升资源利用率的目的,并且整个过程在 HPA 和工作负载事件列表都会有相应的事件记录,使整个工作负载水平扩缩容全程可追溯。
腾讯会议-会议室连接器有哪些功能? 会议室连接器有哪些功能? 1. 会议室连接器介绍 近年来,视频会议越来越多的应用在人们的沟通和交流中,它既能够高效合理的利用时间、提高工作效率,又大大节省了差旅费用、减少了旅途奔波之苦。许多企业通过采购硬件视频会议系统,满足了部分需求,使远程会议得以成为现实。 从技术发展前景和满足现实应用的角度来看,云视频会议系统具有可随时随地召开,灵活、高效、易用、稳定、安全、互联互通的特点,已经成为众多企业及机构多媒体建设视频会议系统的核心部分。 为了在使用云视频会议的时候,充分利旧已有的硬件视频会议系统,腾讯会议推出了会议室连接器 MRA(Meeting Room Adapter)服务,实现腾讯会议兼容客户已经购买的 H.323/SIP 系统的功能。 2. 系统架构介绍 会议室连接器 MRA 将标准 SIP/H.323 会议设备融合到腾讯会议中,同时支持会议室连接器本地部署(VMRA)和私有化部署,实现会议室连接器 SAAS 服务和本地部署的双重模式,给客户根据项目实际情况更多的选择。 会议室连接器兼容 Polycom、思科、华为、亿联、中兴、AVAYA、中创等终端及MCU 产品,支持将标准 SIP/H.323 会议设备加入会议,支持音视频互通、内容共享、轮询、高级布局、个性布局、SIP peer、终端注册服务、手机控制器、呼叫速率控制、预留许可资源等功能,满足腾讯会议与标准 H.323、SIP 会议设备的融合互通,充分保护用户已有的投资成本。 3. 功能介绍 ⚫ 加入会议功能: 支持用户现网硬件终端硬件终端或服务器组网(MCU、信令服务器、穿越服务器等)加入腾讯会议,实现现网硬件终端(MCU)与腾讯会议终端之间音视频、双流的互通,音视频流畅,语音清楚,画面清晰。 […]
腾讯会议会-如何建设一间云视频会议室? 在企业中有各种规模的会议空间,从小型协作空间到大型会议室,培训空间等,根据这些会 议空间选择对应的解决方案,应包含以下几个部分: 1) 会议室专用的云视频应用程序 2) 主机(Windows/Mac/Android) 3) 外设设备(摄像头、麦克风、扬声器) 4) 显示设备(触摸屏、显示器、投影、小间距LED等) 5) 触摸控制器controller 或采用包含2、3、4项的All-in-One触摸一体机 或采用包含2、3项的安卓音视频Bar—体机 如何选择云视频会议室硬件 1. 如何选择主机 腾讯会议 Rooms 适用的主机有Windowss Mac OS、Android三种系统。 基于 Windows 的主机,为保证满足视频会议的流畅性能及稳定性要求,推荐采用腾讯会议 认证的主机,例如: 更多认证硬件,请访腾讯会议官网https://meeting.tencent.com/rooms-device/index.html 也可以采用性能配置符合腾讯会议推荐要求的通用型电脑主机: •软硬件最低要求: 操作系统:Window 10 1809或以上 CPU: 4核1.6Ghz或以上 内存:8G双通道(双4G) […]
腾讯会议-如何构建人性化的会议室体验? 最好的会议体验是无感知 1. 声音,会议沟通的重要基础 大大小小的会议室中,使用音视频会议系统开会时,你是否遇到过这些感受: •环境噪音太大,音视频会议的另一方无法听清你说的内容 •隔壁会议室的人说话太大声,影响到远端 •听对方的感觉沉闷单薄,影响方案展示和情绪表达 •混响太强,听对方说话就像在山洞,长时间沟通感觉很累 •多个人同时打开电脑客户端入会引起啸叫 混响时间频率参考曲线 腾 讯 会议天籁实验室深入了几百间企业会议室实地调研,调研结果发现大部分的房间噪音水平 、 混 响 时 间 都 处 于 超 标 水 平 。 经 过 咨 询 , 在 建 设 初 期 大 部 分 企 业 没 有 把 音 视 频 会 议 室 […]
腾讯会议-会议室连接器MRA本地部署 会议室连接器 MRA 部署方式-本地部署VMRA 1. 会议室连接器本地部署 VMRA 组网 ➢ DMZ 中间隔离区进行安装部署 ; ➢ 企业内网 H.323/SIP 视频会议系统呼叫本地部署的 VMRA 接入地址 IP; ➢ 本地部署 VMRA 与云端腾讯会议平台进行音视频双流互通; ➢ VMware 平台(EXSI),虚拟化部署; ➢ VMRA 支持基于 KVM 的镜像文件,方便客户可以在 KVM 的环境中部署; 腾讯会议室连接器支持本地部署 VMRA,在用户的网络要求在独立网络或信息安全要求较高的用户,可以 采用在用户侧本地部署腾讯会议的会议室连接器 VMRA。 更安全: 媒体转换过程下沉到客户本地,H.323/SIP 视频会议系统会以更安全的方式与腾讯会议公有云平台互通互联 […]
会议室连接器有哪些入会方式? 腾讯会议-会议室连接器有哪些入会方式? 1. 场景一 通过现有H.323/sip视频会议终端直接呼入腾讯会议 方法一: 直接拨打 “会议号@IP 地址” 或 “会议号**会议密码@IP 地址”加入会议 第 1 步 在设备主页选择 呼叫/拨打,进入拨号界面 第 2 步 在 拨 号 界 面 输 入 会议号@IP 地 址 或 会 议 号 ** 会 议 密 码 @IP 地 址 , 例 如 , 909672754@42.187.185.2 或 909672754**327565@42.187.185.2 您可以根据您的地理位置来选择 IP 地址 方法二: 通过拨打 “IP […]
腾讯会议会-会议室连接器 MRA 部署方式 会议室连接器 MRA 部署方式 1. 公有云 MRA–SAAS 服务 腾讯会议室连接器支持云端部署,对于用户来说,无需在用户侧增加任何硬件设备,无需专人维护,只需要用户网络满足可以访问互联网,即可使用会议室连接器服务。 购买会议室连接器服务后,用户使用现有硬件设备可以通过会议室连接器 MRA 就近接入的 IP 地址和腾讯会议号加入会议,会议室连接器支持与传统视频会议系统的 MCU 级联或是终端直接连接两种互通方式。 2. 公有云 MRA 服务流程。 1、 客户联系销售人员购买腾讯 MRA 服务,可以进行线上下单。对于首次使用 MRA 的用户,腾讯提供 MRA 测试试用服务,客户在购买前,可以联系销售人员进行测试试用。 2、 购买后,腾讯将为用户开通 MRA 服务。 3、 在开会时,硬件终端或 MCU 可以通过呼叫就近的会议室连接器接入 IP 地址和腾 讯会议的会议号加入会议中。 Posted on 2023年2月1日 callum 腾讯会议-会议室连接器介绍 腾讯会议会议室连接器 腾讯会议-会议室连接器介绍 […]
腾讯会议会议室连接器 腾讯会议-会议室连接器介绍 1. 产品简介 近年来,视频会议越来越多的应用在人们的沟通和交流中,它既能够高效合理的利用时间、提高工作效率,又大大节省了差旅费用、减少了旅途奔波之苦。许多企业通过采购硬件视频会议系统,满足了部分需求,使远程会议得以成为现实。 从技术发展前景和满足现实应用的角度来看,云视频会议系统具有可随时随地召开,灵活、高效、易用、稳定、安全、互联互通的特点,已经成为众多企业及机构多媒体建设视频会议系统的核心部分。 为了在使用云视频会议的时候,充分利旧已有的硬件视频会议系统,腾讯会议推出了会议室连接器 MRA(Meeting Room Adapter)服务,实现腾讯会议兼容客户已经购买的 H.323/SIP 系统的功能。 会议室连接器 MRA 将标准 SIP/H.323 会议设备融合到腾讯会议中,同时支持会议室连接器本地部署(VMRA)和私有化部署,实现会议室连接器 SAAS 服务和本地部署的双重模式,给客户根据项目实际情况更多的选择。 会议室连接器兼容 Polycom、思科、华为、亿联、中兴、AVAYA、中创等终端及MCU 产品,支持将标准 SIP/H.323 会议设备加入会议,支持音视频互通、内容共享、轮询、高级布局、个性布局、SIP peer、终端注册服务、手机控制器、呼叫速率控制、预留许可资源等功能,满足腾讯会议与标准 H.323、SIP 会议设备的融合互通,充分保护用户已有的投资成本。 2.功能介绍 ⚫ 加入会议功能: 支持用户现网硬件终端硬件终端或服务器组网(MCU、信令服务器、穿越服务器等)加入 […]
腾讯会议如何加强会议安全性? 腾讯会议-指导加强会议安全性? 1. 内部范围可控,安全化接入 企业账号快捷登陆 • 企微登录/SSO 可控内部权限 • 会议范围避免误发外漏 参会成员信息清晰 • 与会者名称规范• 组织架构清晰• 内外参会员一眼辩识 2. 嘉宾名单,内外结合 •内部仅企业成员入会•外部设置嘉宾手机号•嘉宾无需等候室或输入密码即可加入会议•嘉宾手机号名下账号均收到会议议程 3. 敏感会议,场外可控。 对于企业内部敏感会议,企业会服可在场外web端进行实时会议控制。 4. 会议安全,全局掌控 入会安全 强制仅允许企业成员头入会 内容安全 强制屏幕水印 禁止上传文档 成员显示标准规范 禁止昵称修改 头像修改 会议能力控制 虚拟背景 会议红包 会议文档 5. 会中安全,有效管控 多排水印,内容严防追溯 等候室,严格控制入会人员 会中权限,维护会议良好秩序 Posted […]
腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版、商业版、企业版重点能力对比 Posted on 2023年1月12日 callum 腾讯会议软件不同版本有什么区别? 腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版 […] Read More Posted on 2023年1月5日 callum 腾讯会议-会议室如何管理? 腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业账号管理? 腾讯会议如何进行企业账号如何管理? 腾讯会议应用指南-企业账号如何管理? 1. 企业账号管理1 […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业用户管理? 腾讯会议如何进行企业用户管理? 腾讯会议应用指南-企业用户如何管理? 1. 企业用户管理(iDaaS) […]
腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 ⚫ 会议室管理【会议室】可查看rooms设备的状态,可进行查看/编辑/导出设备信息。 2. 会议连接器 ⚫ 详细介绍【MRA】会议连接器的拨入方式、使用手册、支持设备型号、网络端口开放等内容 Posted on 2023年1月12日 callum 腾讯会议软件不同版本有什么区别? 腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版 […] Read More Posted on 2023年1月5日 callum 腾讯会议-会议室如何管理? 腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 ⚫ […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业账号管理? 腾讯会议如何进行企业账号如何管理? 腾讯会议应用指南-企业账号如何管理? 1. 企业账号管理1 […] Read More Posted […]