阿里云容器服务弹性伸缩发布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搭建和管理企业级网站应用
相关文章
|
15天前
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS是阿里云容器服务团队推出的一款面向Serverless场景的子产品,基于K8s界面提供符合容器规范的CPU及GPU算力资源。ACS采用Serverless形态,用户无需关注底层节点及集群运维,按需申请使用,秒级按量付费。该服务旨在打造更普惠易用、更柔性、更弹性的新一代容器算力,简化企业上云门槛,加速业务创新。ACS支持多种业务场景,提供通用型、性能型及BestEffort算力质量,帮助客户更从容应对流量变化,降低综合成本。
|
1天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
15天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
15天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
15天前
|
缓存 Serverless 调度
Moka:ACS 容器计算服务助力CI/CD场景提效降本 70%
Moka,作为国内发展最快的HR SaaS厂商之一,在ACS产品初期就与阿里云产品团队紧密联系产品需求及体验反馈,本文将着重分享我们使用ACS在CI/CD 场景的最佳实践。
|
15天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
15天前
|
人工智能 运维 Kubernetes
拥抱智算时代:阿里云容器服务智能、托管、弹性新体验
本文总结了2024云栖大会容器计算专场的演讲内容,重点介绍了阿里云容器服务的新产品体验,包括智能、托管、弹性的特点,以及如何助力客户拥抱智算时代。文中还分享了多项实际案例和技术细节,展示了阿里云容器服务在提升用户体验和解决实际问题方面的努力。
|
1月前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
弹性计算 缓存 运维
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)(三)
230 0
|
7月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
168 5

相关产品

  • 容器计算服务