【阅读原文】戳:使用ACK Edge统一管理多地域的ECS资源
ACK Edge面向分布式计算场景,在云端提供一个标准、安全、高可用的Kubernetes集群。支持将地域分散的计算资源接入云端Kubernetes集群,以云原生方式实现分布式计算场景下的应用统一生命周期管理和资源统一调度。同时,能够与云上现有的产品能力融合,保障分布式计算场景下应用的稳定运行。本文介绍如何使用ACK Edge来管理分布在多个地域的ECS资源。
场景描述
• 在多个VPC中都有ECS实例,希望用一个Kubernetes集群来统一管理这些ECS实例和应用;
• 在多个地域中都有ECS实例,希望用一个Kubernetes集群来统一管理这些ECS实例和应用;
• 在多个账号中都有ECS实例,希望用一个Kubernetes集群来统一管理这些ECS实例和应用。
方案优势
• 提供标准的云原生接口,采用云原生的方式运维分布式应用,降低业务的运维成本;
• Kubernetes集群的控制面由阿里云托管,并提供SLA保障,用户无需运维Kubernetes集群;
• 与已有的云产品,包括弹性、网络、存储、可观测等能力融合,保障应用的稳定运行;
• 支持数十种不同操作系统的异构计算资源接入;
• 提供边缘自治、云边运维通道、单元化管理,支持中心管边场景下的运维、稳定性以及业务通信需求;
• 优化了云边通信流量,降低流量成本,单集群可纳管上千节点。
方案示例
示例一:使用ACK Edge管理地域分散的应用
当您有大量分散在不同地域的ECS需要统一管理或者部署相同的业务,您可以创建一个ACK Edge集群来统一接入不同地域的ECS,通过部署DaemonSet、或者OpenKruise DaemonSet来实现统一容器化管理。例如:
• 安全防护场景
在分布式计算环境中,为了防止系统被恶意攻击、数据泄露等问题,通常需要分布式资源上部署网络安全的Agent来为系统提供安全保障,可以使用ACK Edge完成安全Agent的统一部署和运维。
• 分布式压测、拨测场景
在大规模的业务压测场景中,压测工具从各个地域同时发起压测任务。因此,压测工具需要部署在地域分散的资源中,可以使用ACK Edge来纳管这些资源,快速地向不同地域部署压测工具。
• 缓存加速场景
分布式缓存加速服务,需要在各个地域部署缓存服务来加速网络内容的传输速度,采用ACK Edge可以实现对分布式缓存服务的统一部署和运维。
操作步骤
1. 环境准备
• 选择一个地域作为中心地域,创建ACK Edge集群
• 在组件管理中安装OpenKruise
• 为每个地域分别创建缘节点池, 并将ECS实例接入到对应的节点池中
2. 采用原生的DaemonSet模型管理业务
• 部署示例,在集群详情页面选择守护进程集,按需求选择命名空间以及部署方式,并按提示一步一步完成部署。
• 业务升级,同样在守护进程集页面,编辑DaemonSet的模版,实现业务版本及配置的升级。
3. 使用OpenKruise的DaemonSet部署业务
• 部署示例,在集群详情页面选择容器组,选择用yaml的方式部署,并选择模版自定义,将部署的yaml粘贴到编辑框中并提交。
• 业务升级, 在自定义工作负载页面,找到OpenKruise的DaemonSet,在要修改的工作负载后面编辑yaml即可实现业务版本及配置的升级。
示例二:单地域GPU资源不足时,可跨地域购买GPU实例扩容
当您在某个地域部署AI任务时,如果遇到了GPU资源不足的问题,您可以去其他地域购买需要的GPU实例,然后将对应的GPU实例接入到ACK Edge集群中,ACK Edge可以将任务调度到满足条件的实例上。
操作步骤
1. 准备环境
• 创建ACK Edge集群
• 部署训练或者推理任务
2. 集群所在地域GPU资源不足时,去其它地域购买GPU实例
• 部署yaml示例
apiVersion: apps/v1 kind: Deployment metadata: name: tensorflow-mnist labels: app: tensorflow-mnist spec: replicas: 1 selector: matchLabels: app: tensorflow-mnist template: metadata: name: tensorflow-mnist labels: app: tensorflow-mnist spec: containers: - name: tensorflow-mnist image: registry.cn-beijing.aliyuncs.com/acs/tensorflow-mnist-sample:v1.5 command: - python - tensorflow-sample-code/tfjob/docker/mnist/main.py - --max_steps=100000 - --data_dir=tensorflow-sample-code/data resources: limits: nvidia.com/gpu: "1" requests: nvidia.com/gpu: "1" workingDir: /root
3. 新建边缘节点池,生成GPU实例接入脚本,将GPU实例接入该节点池。
4. 任务调度到新加入的GPU实例上
相关文档:
[1] 创建ACK Edge集群
[2] 创建和管理边缘节点池
[3] ACK Edge集群组件管理
[4] ACK Edge集群计费说明
[5] OpenKruise DaemonSet
https://openkruise.io/zh/docs/user-manuals/advanceddaemonset/
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~