全部开发文档
选择文档

产品概述

本页目录ScaleX - 云上的降本增效利器0. 前言1. 前提条件2. 架构2.1 高级架构2.2 详细架构

ScaleX - 云上的降本增效利器

轻松降低高达 90% 的云上 Kubernetes 成本。适用版本:0.0.3.0126


新特性:

  • 从 0.0.2 版本开始,ScaleX 支持通过运行 scalex-svc 自行部署 API 服务并使用 ScaleX 的核心功能。ScaleX API 服务接受一个 JSON 字典作为请求体,并做出响应。本手册将重点介绍 CLI,如果您对 Scalex API 服务感兴趣,请自行尝试或联系我们。
  • 从 0.0.2.0606 版本开始,ScaleX 支持高可用 Kubernetes 集群。请参考 cluster_config_ha.json 和本文档来启动和管理您的高可用集群和架构。
  • 从 0.0.2.0724 版本开始,ScaleX 支持 KataContainers 安全容器。您可以在节点组的级别指定是否启用 KataContainers 安全容器,需注意,KataContainers 需要节点支持虚拟化,请确保指定的节点组机型支持虚拟化或嵌套虚拟化。
  • 从 0.0.3.0126 版本开始,ScaleX 从 JSON 文件迁移至 SQLite 数据库,提升可靠性和数据完整性。此次存储层重大重构通过 ACID 事务消除竞态条件,使用 scalex_migrate.py 提供从 JSON 存储的自动迁移。
  • 最新更新:
    • 手动扩缩容:新增 scale 命令用于手动管理工作节点(添加/删除操作),具有安全的删除规则
    • 元数据管理:新增 metadata 命令用于运行时配置更新(自动扩缩容策略、按需转竞价设置等)
    • 增强的 SSH 安全性:创建集群现在需要提供 SSH 私钥,ScaleX 将安全地管理这些密钥

0. 前言

竞价实例(Spot Instance) 是显著降低云成本的关键选项。对于计算实例(如 Amazon EC2),与按需购买选项相比,竞价实例选项最多可将实例成本降低 90%,且无需任何前提条件、预付费或长期承诺。然而,由于以下挑战,运行和管理竞价实例并非易事:

  • 不可预测的中断(无服务级别协议,SLA)
  • 不同区域和可用区之间的供应量和价格动态变化
  • 繁重的运维工作量

ScaleX (Scale in cloud and save the costs) 通过创新的架构设计和无服务器框架解决了上述挑战。借助 ScaleX,您可以轻松使用由竞价实例/按需实例驱动的完全托管、完全动态、完全自动化且超低成本的 Kubernetes 集群,而无需任何运维开销。

1. 前提条件

在开始之前,请确保您的本地环境满足以下要求:

  • 操作系统(OS): Windows、GNU/Linux 或 macOS
  • 处理器架构: macOS 版本支持 x86_64 和 arm64。Windows 和 GNU/Linux 版本目前仅支持 x86_64。
  • 云服务: 需要使用一个拥有大于所需权限范围(附录scalex-所需权限)的权限配置的 AWS 账户。
    • 如果您在 EC2 实例上运行 ScaleX,请确保该实例所承担的角色(Role)具备大于所需权限范围(附录scalex-所需权限)的权限。
    • 如果您使用 AWS 凭证(访问密钥 ID 和秘密访问密钥)运行 ScaleX,请确保密钥提供方(即持有密钥的用户或角色)拥有大于所需权限范围(附录scalex-所需权限)的权限。
    • 简便但不建议的做法:为了便于快速上手,您可以授予以下服务的完全访问权限:EC2、S3、CloudWatch Logs、EventBridge、Lambda 和 IAM。对应的策略文档如下:
代码示例
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*",
                "s3:*",
                "logs:*",
                "events:*",
                "scheduler:*",
                "lambda:*",
                "iam:*"
            ],
            "Resource": "*"
        }
    ]
}

2. 架构

2.1 高级架构

代码示例
Local CLI or ScaleX API --- AWS APIs (EC2, VPC, S3, IAM, Lambda ...)

2.2 详细架构

代码示例
CLI-+---Cluster-1---+--VPC---------------------------------------+
    |   *Without HA |  +-Pubnet-1-+   +-Subnet-1--------------+  |
    |               |  | nat      |   | workers in groups     |  |
    |               |  | master   |   | route to nat          |  |
    |               |  +----------+   +-----------------------+  |
    |               |  +-Pubnet-2-+   +-Subnet-1--------------+  |
    |               |  |          |   | workers in groups     |  |
    |               |  |          |   | route to nat          |  |
    |               |  +----------+   +-----------------------+  |
    |               |                 ...                        |
    |               +--------------------------------------------+
    |               +-Events----+---->+-Lambdas----+----+-Bucket-+
    |               | rules     |---->| delete     |    | info   |
    |               | schedules |---->| replace    |    | logs   |
    |               +-----------+---->+------------+    +--------+
    |
    +---Cluster-2---+--VPC---------------------------------------+
    |   *With HA    |  +-Pubnet-1-+   +-Subnet-1--------------+  |
    |               |  | nat      |   | master                |  |
    |               |  |          |   | workers in groups     |  |
    |               |  |          |   | route to nat          |  |
    |               |  +----------+   +-----------------------+  |
    |               |  +-Pubnet-2-+   +-Subnet-2--------------+  |
    |               |  | nat      |   | master                |  |
    |               |  |          |   | workers in groups     |  |
    |               |  |          |   | route to nat          |  |
    |               |  +----------+   +-----------------------+  |
    |               |  +-Pubnet-3-+   +-Subnet-3--------------+  |
    |               |  | nat      |   | master                |  |
    |               |  |          |   | workers in groups     |  |
    |               |  |          |   | route to nat          |  |
    |               |  +----------+   +-----------------------+  |
    |               |                 ...                        |
    |               +--------------------------------------------+
    |               +-Events----+---->+-Lambdas----+----+-Bucket-+
    |               | rules     |---->| delete     |    | info   |
    |               | schedules |---->| replace    |    | logs   |
    |               +-----------+---->+------------+    +--------+
    |
    +---...
    |
    +---Cluster-N---+---Stack-N

您的 AI 之旅,从这里启航

作为专为开发者与企业打造的前沿 AI 基础设施,
我们将为您提供完善的 AI 基础设施与专业指导,助力打造最适合您业务的完美解决方案。

联系我们