阿里云容器服务弹性伸缩发布EIP支持助力在线视频与游戏场景

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ## 背景 疫情期间,在线会议等音视频应用面临大量流量冲击,为了获得更好的网路吞吐性能,常常会选择使用Host网络模型。采用Host网络模型的容器可以直接使用宿主机的IP地址与外界进行通信,若宿主机具有[弹性公网IP](https://help.aliyun.com/document_detail/32321.html),容器也能使用这个弹性公网IP进行通信。同时容器内服务的端口也可以使用宿

背景

疫情期间,在线会议等音视频应用面临大量流量冲击,为了获得更好的网路吞吐性能,常常会选择使用Host网络模型。采用Host网络模型的容器可以直接使用宿主机的IP地址与外界进行通信,若宿主机具有弹性公网IP,容器也能使用这个弹性公网IP进行通信。同时容器内服务的端口也可以使用宿主机的端口,无需额外进行NAT转换,而且由于容器通信时,不再需要通过Linux bridge等方式转发或者数据包的拆封,性能上有很大优势。
使用弹性公网IP的方式,通过弹性公网IP与端口的方式直接与终端进行通信,能大大提升网络性能,但弹性公网IP作为一种有限且收费的资源,在实际使用时还需要进行资源规划和成本计算。自动弹性伸缩在这方面有天然的优势,在保证服务质量的同时自动伸缩节点及其资源。自动伸缩与弹性公网IP结合的方案能够实现成本与性能之间较好地平衡。
为将自动伸缩与弹性公网IP结合,自动伸缩在节点伸缩的同时管理和操作节点的弹性公网IP。在自动伸缩组创建或修改时选择绑定弹性公网IP后,自动地创建伸缩组的生命周期挂钩。绑定弹性公网IP的生命周期挂钩负责在扩容出节点后自动生成弹性公网IP并与该节点进行绑定,保证了节点启用时就具备弹性公网IP,以便加入集群时即可通过弹性公网IP和端口提供服务;释放弹性公务IP的生命周期挂钩负责在节点缩容退出集群时应该自动释放弹性公网IP,以免造成资源的浪费。自动伸缩绑定弹性公网IP后,在自动扩容/缩容时对生成/释放的ecs自动绑定/解绑弹性公网IP,用户既可提升网络性能,又不再需要额外的对节点弹性公网IP进行手动操作。

使用前请了解以下限制:

  • 自动绑定弹性公网IP需要给集群worker role赋予必要的权限策略,否则会导致自动绑定弹性公网IP失败;
  • 直接删除自动伸缩组或是直接将ecs删除,无法自动释放被绑定的弹性公网IP。



使用方法

前提条件

具备一个Kubernetes集群,请参考创建集群文档
更多注意事项请见文档

创建自动伸缩

在容器服务控制台的集群列表页面,选择所需的集群并单击操作列的更多 > 自动伸缩
image.png
安装弹框提示,进行授权操作

a. 开通ess服务

1) 单击弹出对话框中的第一个链接,进入弹性伸缩服务ESS页面。
2) 单击开通ESS服务,进入云产品开通页
3) 选中我已阅读并同意复选框,单击立即开通

4) 开通成功后,在开通完成页签,单击管理控制台,进入弹性伸缩服务ESS页面。

5) 单击前往授权,进入云资源访问授权页面,配置对云资源的访问权限。

6) 单击同意授权

预期结果
页面自动跳转至弹性伸缩控制台,说明授权成功。关闭页面。

b. 配置授权角色

1)在自动伸缩组的集群详情页,找到集群的WorkerRamRole
image.png
2)在权限管理页签,单击目标授权策略名称,进入授权策略详情页面。

3)单击修改策略内容,从右侧滑出侧边栏修改策略内容页面。

4)在策略内容Action字段中补充以下策略。
说明 在策略内容的任意一个Action字段的最后一行补充再添加以下内容。

"ecs:AllocateEipAddress",
"ecs:AssociateEipAddress",
"ecs:DescribeEipAddresses",
"ecs:DescribeInstanceTypes",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:ReleaseEipAddress",
"ecs:RunCommand",
"ecs:UnassociateEipAddress",
"ess:CompleteLifecycleAction",
"ess:CreateScalingRule",
"ess:DeleteScalingRule",
"ess:Describe*",
"ess:DetachInstances",
"ess:ExecuteScalingRule",
"ess:ModifyScalingGroup",
"ess:ModifyScalingRule",
"ess:RemoveInstances",
"vpc:AllocateEipAddress",
"vpc:AssociateEipAddress",
"vpc:DescribeEipAddresses",
"vpc:DescribeVSwitches",
"vpc:ReleaseEipAddress",
"vpc:UnassociateEipAddress"

5)在RAM角色管理详情页,单击信任策略管理,在修改信任策略中添加oos.aliyuncs.com,如下图所示。

6)单击确认

c. 启用自动伸缩

image.png

配置自动伸缩

缩容配置

自动伸缩页面,配置以下信息,并单击提交image.png

选择弹性伸缩的资源类型

image.png

配置伸缩组

各配置项含义请见下表。

配置 说明
专有网络 所创建伸缩组的网络,与伸缩组所在集群的网络一致。
虚拟交换机 所创建伸缩组的虚拟交换机,包含伸缩组的可用区及Pod地址段。
实例规格 伸缩组内实例的规格。
已选规格 所选择的伸缩组的实例规格,最多可以选择10种实例规格。
系统盘 伸缩组的系统盘。
挂载数据盘 是否在创建伸缩组时挂载数据盘,默认情况下不挂载。
实例数量 伸缩组所包含的实例数量。
说明
- 实例不包含客户已有的实例。
- 默认情况,实例的最小值是0台,超过0台的时候,集群会默认向伸缩组中添加实例,并将实例加入到伸缩组对应的Kubernetes集群中。
密钥对 登录伸缩后的节点时所使用的密钥对。可以在ECS控制台新建密钥对。
说明 目前只支持密钥对方式登录。
伸缩模式 支持标准模式极速模式
RDS白名单 弹性伸缩后的节点可以访问的RDS实例。
节点标签 在集群中添加节点标签(Label)后,会自动添加到弹性伸缩扩容出的节点上。
污点(Taints) 添加污点后,Kubernetes将不会将Pod调度到这个节点上。
云监控组件 是否在扩容的同时安装云监控组件,默认不安装。

配置绑定eip

  1. 点击显示高级选项
    image.png
    b. 勾选绑定eip,按需配置计费方式和带宽峰值,默认值如下图所示
    image.png

点击“确定”,让配置生效

预期效果

自动弹性伸缩组成功创建后,点击自动弹性伸缩列表中的伸缩组名跳转到伸缩组详情页面
image.png
点击生命周期挂钩,可见绑定和解绑eip的生命周期挂钩都已创建成功

查看自动伸缩结果image.png

在自动伸缩组扩容出的ecs详情页面可以看到已经绑上的弹性公网IP,说明扩容绑定弹性公网IP成功。
image.png
缩容后在专有网络弹性公网IP页面,可以查看到对应的弹性公网IP已经不存在,说明释放弹性公网IP成功。

最后

通过自动伸缩绑定弹性公网IP的实现,后续节点对外通信相关地需求应该都能借力于此。自动伸缩与伸缩组的生命周期挂钩的结合使用在这次实践中也体现出1+1大于2的效果,为后续有关丰富自动伸缩组对扩/缩容出的节点的操作提供了方案选择。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
1天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
1天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
1天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
1天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
1天前
|
人工智能 运维 Kubernetes
拥抱智算时代:阿里云容器服务智能、托管、弹性新体验
本文总结了2024云栖大会容器计算专场的演讲内容,重点介绍了阿里云容器服务的新产品体验,包括智能、托管、弹性的特点,以及如何助力客户拥抱智算时代。文中还分享了多项实际案例和技术细节,展示了阿里云容器服务在提升用户体验和解决实际问题方面的努力。
|
1月前
|
弹性计算 应用服务中间件 定位技术
阿里云基于Anycast弹性公网IP实现多源站的就近访问加速
本文介绍了如何使用阿里云Anycast弹性公网IP实现基于地理位置的访问策略,通过在不同地区部署ECS服务器并绑定Anycast实例,实现就近加速访问。具体步骤包括创建ECS、创建Anycast实例、绑定资源和测试效果。
|
3月前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
阿里云ACK容器服务生产级可观测体系建设实践
|
3月前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
2024年云栖大会,我们总结过往支持AI智算基础底座的实践经验、发现与思考,给出《容器服务在AI智算场景的创新与实践》的演讲。不仅希望将所做所想与客户和社区分享,也期待引出更多云原生AI领域的交流和共建。
|
3天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
118 77

相关产品

  • 容器计算服务