本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

autospotting Docker 镜像下载 - 轩辕镜像

autospotting 镜像详细信息和使用指南

autospotting 镜像标签列表和版本信息

autospotting 镜像拉取命令和加速下载

autospotting 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

autospotting
tokkolabs/autospotting

autospotting 镜像详细信息

autospotting 镜像标签列表

autospotting 镜像使用说明

autospotting 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

AutoSpotting是领先的开源Spot市场自动化工具,用于监控AWS长期运行的Auto Scaling组,通过最小配置将按需实例逐步替换为更便宜的Spot实例,节省70%-90%成本,支持保留按需实例、自动故障转移至按需实例,配置简单且集成性强。
0 次下载activetokkolabs镜像

autospotting 镜像详细说明

autospotting 使用指南

autospotting 配置说明

autospotting 官方文档

AutoSpotting

镜像概述和主要用途

AutoSpotting是领先的开源Spot市场自动化工具,优化目标是让用户能够轻松、无摩擦地在任何规模采用EC2 Spot市场。它通常用于监控现有长期运行的Auto Scaling组,只需最少的配置更改(通常只需添加标签,甚至可通过现有标签避免),即可实现通常70%-90%的Spot成本节省,且比其他工具和解决方案集成性更好、成本效益更高、更易于采用。

核心功能和特性

主要功能

  • 自动替换实例:逐步将Auto Scaling组中的按需实例替换为配置相同、规格至少相当的Spot实例,不改变组的启动配置。
  • 灵活保留按需实例:可配置保留一定比例或绝对数量的按需实例,确保业务稳定性。
  • 自动故障转移:Spot实例终止时,自动故障转移到按需实例。
  • 即时替换新实例:对匹配标签的新Auto Scaling组,超出保留数量的新按需实例在启动后几秒内被Spot实例替换。
  • 容量不足处理:Spot容量不足时,每几分钟持续尝试替换,直至成功。
  • 价格与规格优化:考虑Spot和按需价格、不同Spot产品、预留实例折扣,自动选择最便宜的兼容实例类型。
  • 跨区域支持:单个安装可并行处理整个AWS账户所有区域的启用组,也可限制区域。

Kubernetes集成

  • 节点排水功能:管理Kubernetes集群节点时,可配置在终止EC2实例前对节点进行封锁(cordon)和排水(drain)。
  • 配置选项:通过环境变量ENABLE_KUBERNETES_DRAIN=true启用,支持自定义kubeconfig、排水超时时间(--kubernetes_drain_timeout)和宽限期(--kubernetes_drain_grace_period_seconds)。
  • RBAC权限:需授予节点列表/更新、Pod列表/删除、驱逐请求创建权限,Kubernetes版本需1.10及以上。

使用场景和适用范围

适用场景

  • 运行长期服务的AWS Auto Scaling组,需要降低计算成本。
  • 希望采用Spot实例但希望最小化配置和管理开销的环境。
  • Kubernetes集群节点管理,需在节点终止前安全迁移Pod。
  • 需要在Spot实例不可用时自动保障服务可用性的业务。

适用范围

  • AWS账户内所有区域或指定区域的Auto Scaling组。
  • 长期运行、稳定负载的应用,支持实例替换(无状态或有状态但已配置持久化)。
  • Kubernetes 1.10+集群的EC2节点管理。

详细使用方法和配置说明

部署方式

AutoSpotting主要通过CloudFormation或Terraform栈部署,包含Lambda函数、CloudWatch事件触发器等基础设施。也可通过Docker容器在本地Linux、macOS/Windows或Kubernetes集群中运行。

通过CloudFormation部署(评估版本)

点击以下链接启动评估版本CloudFormation栈(可能存在30天过期限制):
![Launch]([***]

通过Terraform部署

使用***Terraform模块:terraform-aws-autospotting

Docker容器运行(本地/K8s)

可将AutoSpotting二进制打包为Docker容器运行,适用于本地测试或Kubernetes集群部署(需自行实现其他基础设施组件)。示例Docker运行命令:

bash
docker run -e AWS_ACCESS_KEY_ID=your_key -e AWS_SECRET_ACCESS_KEY=your_secret \
  autospotting/autospotting:latest --enable_kubernetes_drain=true --kubeconfig=/path/to/kubeconfig

配置说明

启用AutoSpotting

通过为Auto Scaling组添加标签启用,默认标签为spot-enabled=true(可配置其他标签键)。

核心配置参数

  • 保留按需实例:通过标签或全局配置设置保留比例(如spot-on-demand-percentage=10)或绝对数量(如spot-on-demand-instances=2)。
  • Kubernetes集成
    • 环境变量:ENABLE_KUBERNETES_DRAIN=true(启用排水)、KUBERNETES_DRAIN_TIMEOUT=300s(超时时间)、KUBERNETES_DRAIN_GRACE_PERIOD_SECONDS=60(宽限期)。
    • RBAC配置(需在K8s集群中应用):
      yaml
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: autospotting-kubernetes-drain
      rules:
      - apiGroups: [""]
        resources: ["nodes"]
        verbs: ["get", "list", "patch", "update"]
      - apiGroups: [""]
        resources: ["pods"]
        verbs: ["get", "list", "delete"]
      - apiGroups: ["policy"]
        resources: ["pods/eviction"]
        verbs: ["create"]
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: autospotting-kubernetes-drain
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: autospotting-kubernetes-drain
      subjects:
      - kind: ServiceAccount
        name: autospotting
        namespace: kube-system
      

工作流程

  1. 部署CloudFormation/Terraform栈,创建Lambda函数及相关资源。
  2. 为目标Auto Scaling组添加启用标签(如spot-enabled=true)。
  3. AutoSpotting监控组内实例,逐步替换超出保留数量的按需实例为Spot实例。
  4. 持续监控Spot实例状态,终止时自动启动新Spot实例,失败则故障转移至按需实例。

常见问题

常见问题请参考***FAQ,建议在寻求支持前查阅。

注意事项

  • 评估版本:免费但可能不稳定,30天过期,适合测试。
  • 稳定版本:通过订阅获取,无过期限制,提供支持,适合生产环境。
  • 自定义构建:可从开源代码自行构建,需自行维护,无***支持。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"