开源工具
aws.amazon.com ·
@Hao Zheng
AWS发布SageMaker HyperPod InstantStart支持代理驱动操作
AWS推出了InstantStart,这是一个开源控制平面,将Amazon EKS编排与SageMaker HyperPod的管理能力相结合。用户可以通过网页界面或AI代理执行集群启动、容量管理、训练和推理等集群操作。
AI推荐理由 对AI实践者而言,这意味着一线运维操作可交给AI代理执行,能显著降低SageMaker HyperPod集群管理的门槛和人工负担,尤其适合重复性训练/推理任务。但影响面限于AWS生态,需与EKS配合,短期并非主流基础设施的关键变革。
82
正文
如果您在Amazon SageMaker HyperPod上运行基础模型(FM)工作负载,您知道工作很少是单一任务。它是一系列相互依赖的任务。基础设施团队创建网络和控制平面,附加加速器容量,并按正确顺序安装集群依赖项。它还准备存储和身份,通过硬件故障保持分布式作业存活,部署模型服务器,并监控所有这一切。每个步骤都有自己的API、自己的故障模式和自己等待期。大部分操作痛苦存在于它们之间的交接中。Amazon SageMaker HyperPod消除了其中很大一部分负担。它提供托管的、有弹性的计算和Amazon EKS集成功能,用于健康监控、节点自动扩展、训练恢复和推理。Amazon Elastic Kubernetes Service(Amazon EKS)仍然是用户管理的编排表面。这使您的团队可以直接访问Kubernetes。这也使您的团队负责将AWS资源、附加组件、工作负载和第二天操作组合成一个连贯的整体。HyperPod InstantStart是一个围绕该组合问题构建的开源控制平面。它为您提供了两种驱动同一控制平面的方式。在Web界面中,创建具有已安装依赖项、自动节点恢复开启和存储挂载的集群是一个表单、一个进度面板和一个刷新按钮。在终端中,它是一句话。[hypd-inst-agent] > 帮我创建一个新的HyperPod集群 然后,AI智能体规划多阶段工作流,启动每个阶段,并轮询异步AWS操作直到完成。它仅在真正属于您的决策时暂停,例如可用区、实例类型和容量类型。然后它交回一个正在运行的集群,并挂载了存储。两个接口调用相同的后端API,通过相同的验证,并读取相同的持久化操作状态。两者都没有对方缺少的私有逻辑。在这篇文章中,我们逐步介绍了两个接口之下的系统。我们展示了它如何将集群引导、容量、训练、推理和存储转化为受保护的、可重试的操作。我们涵盖了哪些部分是HyperPod托管功能,哪些部分是项目添加的。我们解释了为什么将操作规则编码到控制平面API中,而不是将原始CLI交给智能体,是使智能体驱动的基础设施可靠的原因。解决方案概述 HyperPod InstantStart作为您AWS账户中的单个带外管理容器运行。它调用AWS服务API和Kubernetes API。它不位于训练作业或推理请求的数据路径中。它创建的所有内容都是标准的AWS或Kubernetes资源。您可以使用AWS命令行界面(AWS CLI)和kubectl检查它。下图说明了解决方案架构以及责任交接的位置。从左到右阅读图表。您的基础设施团队驱动一个入口点。Web UI、REST API和AI智能体使用的Model Context Protocol(MCP)工具是同一容器的三个面,因此两个接口都通过一扇门进入。它们背后是本文其余部分描述的分阶段配置和幂等协调逻辑。从那里,控制平面调用两个API表面。Kubernetes方面是Amazon EKS,它仍然是用户管理的。它包含Kubernetes API、作为EKS附加组件安装的HyperPod训练和推理操作器,以及它们协调为训练和推理pod的HyperPodPyTorchJob和InferenceEndpointConfig资源。AWS方面是Amazon SageMaker HyperPod,它是AWS托管的。其功能分为四组。基础设施涵盖健康监控、深度健康检查和自动节点恢复。容量涵盖持续配置和托管Karpenter自动扩展。训练涵盖进程级恢复和托管分层检查点。推理涵盖智能路由和分层键值(KV)缓存。两半在HyperPod实例组处相遇。Kubernetes将pod调度到它们上面,HyperPod管理它们。当需要关注某些事情时,这是最有用的一点,因为它告诉您AWS操作并修复哪一半而无需您参与。AWS集成围绕该路径,图表显示了存储和可观测性集成。Amazon Simple Storage Service(Amazon S3)、Amazon FSx for Lustre和Amazon Elastic Container Registry(Amazon ECR)承载镜像、数据和检查点。Amazon Managed Service for Prometheus和Amazon Managed Grafana接收健康和利用率。Amazon SageMaker AI上的托管MLflow也接收指标和工件。InstantStart将此环境组织为四层。层 InstantStart贡献 托管基础 基础设施 分阶段EKS创建或导入、依赖项协调、网络布局、多集群状态 AWS CloudFormation和Amazon EKS 容量和弹性 实例组工作流、容量类型选择、托管功能配置 HyperPod健康监控、自动节点恢复、持续配置、托管Karpenter 工作负载和数据 训练配方、两条推理路径、模型下载和存储工作流、MLflow集成 HyperPod训练和推理操作器、Amazon S3、FSx for Lustre、托管MLflow 接口 具有实时状态的Web UI、REST API、MCP工具和智能体技能 AWS和Kubernetes API保持直接可检查 一个设计原则将两个接口联系在一起。MCP工具包装后端自己的REST API,即浏览器调用的确切代码路径,而不是AWS CLI或SDK,因此一次添加的验证保护两者。我们稍后将回到为什么这对智能体很重要。首先,让我们观察控制平面执行其主要工作。先决条件 为部署和持续操作使用最低权限的IAM角色。遵循AWS关于CloudFormation访问控制和SageMaker HyperPod IAM的指导,并将Amazon S3访问限制为指定的项目存储桶。两个ca
容量项目需要AWS的周转时间,所以请尽早启动。为您计划运行的每种实例类型请求增加Amazon SageMaker服务配额,对于高端加速器类型,购买Amazon SageMaker Flexible Training Plan以预留容量。同时检查您的虚拟私有云(VPC)配额,因为分阶段配置路径默认会为每个集群创建一个VPC。需要一个管理环境来运行容器。该项目提供了一个AWS CloudFormation模板,用于创建环境、共享S3存储桶和支持性IAM角色。您可以从AWS管理控制台或使用AWS CLI部署它。在堆栈创建的实例上,克隆仓库并运行ui-panel/start-prod.sh脚本。该脚本从公共Amazon ECR拉取预构建的容器镜像,并挂载您的kubectl和AWS凭据启动它,在端口3099上提供Web界面。通过AWS Systems Manager端口转发会话访问该端口,而不是将其开放到互联网。模板的安全组为方便起见允许公共访问。在将环境用于任何实际用途之前,请限制该访问。对于代理界面,需要安装并认证Kiro CLI。MCP服务器和代理技能都包含在同一个容器中,因此无需在本地安装其他内容。创建集群:对话与控制台从空账户到可用的HyperPod容量需要多个长时间运行、顺序依赖的阶段。InstantStart有意将它们分为EKS控制平面创建、活动集群选择、依赖协调、HyperPod集群创建和存储设置。分离意味着后期阶段的失败不会回滚已经成功的早期阶段。EKS控制平面创建大约在8-12分钟内完成。每个后期阶段都记录自己的状态,并且可以独立重试。通过Web界面,这是集群管理页面。您输入集群标签,创建,并观察分阶段的进度指示器。通过代理,整个流水线就是一次对话。以下是与hypd-inst-agent(一个用于Kiro CLI的代理配置,加载项目的MCP服务器和技能)的真实会话的压缩记录。[hypd-inst-agent] > 帮我创建一个新的HyperPod集群 > 创建HyperPod集群是一个多步骤过程:1. 创建EKS集群(大约8-12分钟)2. 切换到新集群并验证 3. 安装依赖 4. 创建HyperPod集群 5. 配置S3存储 6. 最终验证 让我先检查现有集群情况:运行工具 cluster_list_all(来自mcp服务器:hypd-inst)> 当前有2个现有集群。您想为新集群指定标签名称,还是让我自动生成一个?[hypd-inst-agent] > 继续 运行工具 cluster_create_eks {"clusterTag": "hypd-0304b"} > EKS集群创建已开始。我将每2分钟检查一次进度。运行工具 wait_seconds {"seconds": 120} 运行工具 cluster_get_eks_creation_status > 仍在创建(大约已过4分钟)。继续等待... ... > 步骤1完成!EKS集群hypd-0304b创建成功。... > 步骤3完成!所有依赖安装成功。现在我需要您提供以下信息来创建HyperPod:可用区、GPU实例类型、实例数量和容量类型(按需或训练计划)?[hypd-inst-agent] > us-west-2c,一个g6.4xl 运行工具 hyperpod_create {"AcceleratedInstanceType": "ml.g6.4xlarge", "AcceleratedInstanceCount": 1, "availabilityZone": "us-west-2c", ...} ... > HyperPod集群创建完全完成!摘要:| EKS集群 | eks-cluster-hypd-0304b | | HyperPod集群 | hp-cluster-hypd-0304b | | 节点 | 1x ml.g6.4xlarge(按需) | | 节点状态 | 就绪/可调度 | | S3存储 | s3-claim已挂载 | 此记录中的三个行为来自项目代理技能中编码的工作流规则,而非即兴发挥。代理轮询直到完成。每个长时间运行的操作后都跟随wait_seconds和状态工具,直到达到终端状态。代理不允许提前停止并让您稍后检查。对话以验证过的集群结束,而不是提交的请求。代理只询问决策级问题。集群标签、可用区、实例类型和容量类型是您的决策。子网CIDR、路由表、安全组和安装顺序不是。它们是控制平面工作。代理在创建前检查。它首先列出现有集群。它在提供选择之前查询有效的可用区和实例类型,因此您看到的选项是该账户和区域实际可以满足的。对话中未提及的网络显示了控制平面编码的内容。AWS CloudFormation路径可以创建或重用VPC。它将EKS控制平面子网与HyperPod计算子网分开,因为它们的地址空间需求相差一个数量级。计算子网的大小为/20,以容纳大型加速器集群。每个容量路径都通过一个函数ensureComputeSubnet()运行,具有固定的优先级。它使用显式指定的子网,或重用每个可用区的兼容子网,或创建一个包含路由表和S3网关端点关联的子网。集群创建和后续容量扩展共享此逻辑,因此网络布局只有一处可能正确或错误。容量选择,以弹性为默认值控制平面存在后,容量管理成为重复操作。您为新工作负载添加实例组,选择支付方式,并信任控制平面保持其健康。InstantStart创建启用了自动节点恢复的HyperPod集群。HyperPod可以根据其健康监控代理、基本健康检查以及(配置时)深度健康检查的发现重启或替换故障节点。深度
检查在节点接受工作之前对GPU和弹性结构适配器(EFA)连接进行压力测试。健康发现也投射到Kubernetes标签、污点和注解中,因此您的调度程序和工具可以通过Kubernetes API做出反应,而无需调用AWS。当您添加实例组时,系统将完整的容量决策视为一次创建时操作,而不是分散的后续配置。容量类型。选择按需、适用于容错工作负载的Amazon弹性计算云(Amazon EC2)Spot实例,或通过Amazon SageMaker训练计划预留容量。训练计划将其容量固定到特定的可用区。控制平面将您的区域选择与计划进行协调,而不是让不匹配以令人困惑的失败形式出现。容量类型在组的生命周期内固定。网络接口模式。具有多个网卡的实例类型可以请求仅EFA接口,这可以节省VPC IP地址。此设置在创建组后固定。InstantStart将其作为创建时字段显示,而不是让您从拒绝的更新中发现不可变性。子网放置。默认情况下,组共享每个可用区的计算子网。大型组可以请求专用子网以避免IP耗尽,并且该子网有意比组存活更久,以便后继者可以重用。以下截图显示了添加实例组表单,其中这些选择成为一次创建时步骤。图2:添加实例组表单,容量选择成为一次创建时步骤 某些实例组字段是不可变的,而其他字段容易丢失。因此,控制平面不会手动组装更新请求。每当它重新提交实例组时,它通过显式字段允许列表规范化组。诸如OnStartDeepHealthChecks和NetworkInterface之类的设置会向前传递,因此无关的扩展操作不能静默重置组的健康检查或EFA配置。无论请求来自Web界面还是MCP工具调用,都运行相同的规范化。托管Karpenter:无需操作Karpenter即可自动扩展 静态实例组设置您拥有的容量。HyperPod托管Karpenter基于节点的自动扩展决定在任何时刻运行多少容量。AWS自己操作Karpenter控制器,节点从HyperPod实例组从零扩展启动,而不是从原始Amazon EC2启动。因此,自动扩展的容量继承了前面描述的健康监控和自动节点恢复,而不是作为非托管实例出现。调度保持为标准Karpenter NodePool绑定到HyperpodNodeClass,InstantStart使用工作默认值提供,包括将空闲组缩减回零的整合。由于控制平面已经默认持续配置和自动恢复,启用托管Karpenter是一个经过验证的切换,而不是运行手册。一个范围说明:HyperPod托管Karpenter管理HyperPod实例组,而不是通用Amazon EC2容量。托管能力作为协调状态,而非运行手册 HyperPod提供多种托管能力,每种都有文档化的多步骤设置。这些包括训练操作符、推理操作符、托管分层检查点和托管自动扩展。InstantStart在一个高级功能面板中公开它们。价值不在于复选框。而在于每个复选框映射到依赖感知的后端操作。以下截图显示了高级功能面板,其中每个切换映射到后端操作。图3:高级功能面板,每个切换映射到依赖感知的后端操作 例如,启用托管分层检查点不仅仅是翻转集群设置。托管分层检查点使用多个存储层,包括集群CPU内存。持久化检查点需要身份链、Kubernetes服务账户、IAM角色和策略、OpenID Connect
查看原文(中文正文为 AI 翻译)
If you run foundation model (FM) workloads on Amazon SageMaker HyperPod, you know the work is rarely a single task. It is a chain of dependent ones. An infrastructure team creates the network and control plane, attaches accelerator capacity, and installs cluster dependencies in the right order. It also prepares storage and identity, keeps distributed jobs alive through hardware faults, deploys model servers, and watches all of it. Each step has its own API, its own failure modes, and its own waiting period. Most of the operational pain lives in the handoffs between them. Amazon SageMaker HyperPod removes a large share of that burden. It offers managed, resilient compute and Amazon EKS integrated capabilities for health monitoring, node autoscaling, training recovery, and inference. Amazon Elastic Kubernetes Service (Amazon EKS) stays the user-managed orchestration surface. This gives your team direct Kubernetes access. It also makes your team responsible for composing AWS resources, add-ons, workloads, and day-two operations into a coherent whole. HyperPod InstantStart is an open source control plane built around that composition problem. It gives you two ways to drive the same control plane. In the web interface, creating a cluster with dependencies installed, automatic node recovery on, and storage mounted is a form, a progress panel, and a refresh button. In a terminal, it is one sentence. [hypd-inst-agent] > Help me create a new HyperPod cluster An AI agent then plans the multi-stage workflow, launches each stage, and polls asynchronous AWS operations to completion. It pauses only for the decisions that are genuinely yours, such as Availability Zone, instance type, and capacity type. Then it hands back a running cluster with storage mounted. Both interfaces call the same backend APIs, pass the same validations, and read the same persisted operation state. Neither one has private logic the other lacks. In this post, we walk through the system underneath both interfaces. We show how it turns cluster bootstrap, capacity, training, inference, and storage into guarded, retryable operations. We cover which parts are HyperPod managed capabilities and which parts the project adds. And we explain why encoding operational rules into a control-plane API, instead of handing an agent a raw CLI, is what makes agent-driven infrastructure dependable. Solution overview HyperPod InstantStart runs as a single out-of-band management container in your AWS account. It calls AWS service APIs and the Kubernetes API. It doesn’t sit in the data path of a training job or an inference request. Everything it creates is a standard AWS or Kubernetes resource. You can inspect it with the AWS Command Line Interface (AWS CLI) and kubectl. The following diagram illustrates the solution architecture and where responsibility changes hands. Read the diagram from left to right. Your infrastructure team drives one entry point. The web UI, the REST API, and the Model Context Protocol (MCP) tools that the AI agent uses are three faces of the same container, so both interfaces enter through one door. Behind them sits the staged provisioning and idempotent reconciliation logic that the rest of this post describes. From there the control plane calls two API surfaces. The Kubernetes side is Amazon EKS, which stays user-managed. It holds the Kubernetes API, the HyperPod training and inference operators installed as EKS add-ons, and the HyperPodPyTorchJob and InferenceEndpointConfig resources they reconcile into training and inference pods. The AWS side is Amazon SageMaker HyperPod, which is AWS managed. Its capabilities fall into four groups. Infrastructure covers health monitoring, deep health checks, and automatic node recovery. Capacity covers continuous provisioning and managed Karpenter autoscaling. Training covers process-level recovery and managed tiered checkpointing. Inference covers intelligent routing and tiered key-value (KV) caching. The two halves meet at the HyperPod instance groups. Kubernetes schedules pods onto them, and HyperPod manages them. That is the single most useful thing to know when something needs attention, because it tells you which half AWS operates and repairs without your involvement. AWS integrations sit around that path, and the diagram shows the storage and observability ones. Amazon Simple Storage Service (Amazon S3), Amazon FSx for Lustre, and Amazon Elastic Container Registry (Amazon ECR) carry images, data, and checkpoints. Amazon Managed Service for Prometheus and Amazon Managed Grafana receive health and utilization. Managed MLflow on Amazon SageMaker AI also receives metrics and artifacts. InstantStart organizes this environment into four layers. Layer InstantStart contribution Managed foundation Infrastructure Staged EKS creation or import, dependency reconciliation, network layout, multi-cluster state AWS CloudFormation and Amazon EKS Capacity and resilience Instance-group workflows, capacity-type choices, managed-feature configuration HyperPod health monitoring, automatic node recovery, continuous provisioning, managed Karpenter Workloads and data Training recipes, two inference paths, model download and storage workflows, MLflow integration HyperPod training and inference operators, Amazon S3, FSx for Lustre, managed MLflow Interfaces Web UI with live state, REST APIs, MCP tools, and agent skills AWS and Kubernetes APIs remain directly inspectable One design principle ties the two interfaces together. The MCP tools wrap the backend’s own REST APIs, the exact code paths the browser calls, rather than the AWS CLI or SDK, so a validation added once protects both. We return to why that matters for agents. First, let’s watch the control plane do its main job. Prerequisites Use least-privilege IAM roles for deployment and ongoing operations. Follow AWS guidance for CloudFormation access control and SageMaker HyperPod IAM, and limit Amazon S3 access to the designated project bucket. Two capacity items take AWS turnaround time, so start them early. Request an Amazon SageMaker service quota increase for Cluster Usage on each instance type you intend to run, and for high-end accelerator types, purchase an Amazon SageMaker Flexible Training Plan to reserve capacity. Check your virtual private cloud (VPC) quota as well, because the staged provisioning path creates a VPC per cluster by default. A management environment to run the container in. The project provides an AWS CloudFormation template that creates the environment, shared S3 bucket, and supporting IAM roles. Deploy it from the AWS Management Console or with the AWS CLI. On the instance created by the stack, clone the repository and run ui-panel/start-prod.sh. The script pulls the prebuilt container image from public Amazon ECR and starts it with your kubectl and AWS credentials mounted, serving the web interface on port 3099. Reach that port through an AWS Systems Manager port-forwarding session rather than opening it to the internet. The template’s security group allows public access to it for convenience. Restrict that before you use the environment for anything real. For the agent interface, Kiro CLI installed and authenticated. The MCP server and the agent skills ship inside the same container, so nothing else needs installing locally. Creating a cluster: A conversation and a console Moving from an empty account to usable HyperPod capacity takes several long-running, order-dependent stages. InstantStart deliberately separates them into EKS control-plane creation, active-cluster selection, dependency reconciliation, HyperPod cluster creation, and storage setup. Separating them means a failure in a later stage doesn’t roll back an earlier stage that already succeeded. EKS control-plane creation finishes in roughly 8–12 minutes. Every later stage records its own status and is independently retryable. Through the web interface, this is the Cluster Management page. You enter a cluster tag, create, and watch the staged progress indicators. Through the agent, the whole pipeline is a conversation. The following is a condensed transcript from a real session with the hypd-inst-agent, an agent configuration for Kiro CLI that loads the project’s MCP server and skills. [hypd-inst-agent] > Help me create a new HyperPod cluster > Creating a HyperPod cluster is a multi-step process: 1. Create EKS cluster (approximately 8-12 minutes) 2. Switch to the new cluster and verify 3. Install dependencies 4. Create HyperPod cluster 5. Configure S3 storage 6. Final verification Let me first check the existing cluster situation: Running tool cluster_list_all (from mcp server: hypd-inst) > There are currently 2 existing clusters. Would you like to give the new cluster a tag name, or should I auto-generate one? [hypd-inst-agent] > Go ahead Running tool cluster_create_eks {"clusterTag": "hypd-0304b"} > EKS cluster creation has started. I'll check progress every 2 minutes. Running tool wait_seconds {"seconds": 120} Running tool cluster_get_eks_creation_status > Still creating (about 4 minutes elapsed). Continuing to wait... ... > Step 1 complete! EKS cluster hypd-0304b created successfully. ... > Step 3 complete! All dependencies installed successfully. Now I need the following information from you to create HyperPod: Availability Zone, GPU instance type, instance count, and capacity type (On-Demand or Training Plan)? [hypd-inst-agent] > us-west-2c, one g6.4xl Running tool hyperpod_create {"AcceleratedInstanceType": "ml.g6.4xlarge", "AcceleratedInstanceCount": 1, "availabilityZone": "us-west-2c", ...} ... > HyperPod cluster creation fully complete! Summary: | EKS Cluster | eks-cluster-hypd-0304b | | HyperPod Cluster | hp-cluster-hypd-0304b | | Node | 1x ml.g6.4xlarge (On-Demand) | | Node Status | Ready / Schedulable | | S3 Storage | s3-claim mounted | Three behaviors in this transcript come from workflow rules encoded in the project’s agent skill, not from improvisation. The agent polls to completion. Every long-running operation is followed by wait_seconds and a status tool until it reaches a terminal state. The agent is not allowed to stop early and tell you to check back later. The conversation ends with a verified cluster, not a submitted request. The agent asks only decision-grade questions. Cluster tag, Availability Zone, instance type, and capacity type are your decisions. Subnet CIDRs, route tables, security groups, and installation order aren’t. They are control-plane work. The agent inspects before it creates. It lists existing clusters first. It queries valid Availability Zones and instance types before offering choices, so the options that you see are the ones this account and Region can actually satisfy. The networking that the conversation doesn’t mention shows what the control plane encodes. The AWS CloudFormation path can create or reuse the VPC. It separates EKS control-plane subnets from HyperPod compute subnets, because their address-space needs differ by an order of magnitude. Compute subnets are sized at /20 to hold large accelerator fleets. Every capacity path runs through one function, ensureComputeSubnet(), with a fixed priority. It uses an explicitly specified subnet, or reuses a compatible per-Availability-Zone subnet, or creates one complete with route table and S3 gateway endpoint association. Cluster creation and later capacity expansion share this logic, so there is exactly one place where the network layout can be right or wrong. Capacity choices, with resilience as the default After the control plane exists, capacity management becomes the recurring operation. You add an instance group for a new workload, choose how to pay for it, and trust the control plane to keep it healthy. InstantStart creates HyperPod clusters with automatic node recovery enabled. HyperPod can reboot or replace faulty nodes based on findings from its health-monitoring agent, basic health checks, and, when configured, deep health checks. Deep checks stress-test GPUs and Elastic Fabric Adapter (EFA) connectivity before nodes accept work. Health findings also project into Kubernetes labels, taints, and annotations, so your schedulers and tooling can react through the Kubernetes API without calling AWS. When you add an instance group, the system treats the full capacity decision as one create-time operation rather than scattered follow-up configuration. Capacity type. Choose On-Demand, Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances for fault-tolerant workloads, or reserved capacity through an Amazon SageMaker training plan. A training plan pins its capacity to specific Availability Zones. The control plane reconciles your zone selection against the plan rather than letting the mismatch surface as a confusing failure. Capacity type is fixed for the life of the group. Network interface mode. Instance types with multiple network cards can request EFA-only interfaces, which conserve VPC IP addresses. This setting is fixed after the group is created. The InstantStart surfaces it as a create-time field instead of letting you discover the immutability from a rejected update. Subnet placement. By default, groups share the per-AZ compute subnet. A large group can request a dedicated subnet to avoid IP exhaustion, and that subnet deliberately outlives the group so a successor can reuse it. The following screenshot shows the Add Instance Group form, where these choices become one create-time step. Figure 2: The Add instance group form, where capacity choices become one create-time step Some instance-group fields are immutable and others are easy to lose. So the control plane doesn’t hand-assemble an update request. Whenever it resubmits an instance group, it normalizes the group through an explicit field allowlist. Settings such as OnStartDeepHealthChecks and NetworkInterface carry forward, so an unrelated scaling operation can’t silently reset a group’s health-check or EFA configuration. The same normalization runs whether the request came from the web interface or an MCP tool call. Managed Karpenter: Autoscaling without operating Karpenter A static instance group sets how much capacity you own. HyperPod managed Karpenter-based node autoscaling decides how much of it runs at any moment. AWS operates the Karpenter controller itself, and nodes launch from HyperPod instance groups scaled up from zero rather than from raw Amazon EC2. Autoscaled capacity therefore inherits the health monitoring and automatic node recovery described earlier, instead of arriving as unmanaged instances. Scheduling stays a standard Karpenter NodePool bound to a HyperpodNodeClass, which InstantStart provisions with working defaults, including consolidation that scales an idle group back toward zero. Because the control plane already defaults to continuous provisioning and automatic recovery, enabling managed Karpenter is a validated toggle rather than a runbook. One scoping note: HyperPod managed Karpenter manages HyperPod instance groups, not general-purpose Amazon EC2 capacity. Managed capabilities as reconciled state, not runbooks HyperPod ships several managed capabilities, and each has a documented multi-step setup. These include the training operator, the inference operator, managed tiered checkpointing, and managed autoscaling. InstantStart exposes them in one Advanced Features panel. The value is not the checkboxes. It is that each checkbox maps to a dependency-aware backend operation. The following screenshot shows the Advanced Features panel, where each toggle maps to a backend operation. Figure 3: The Advanced Features panel, where each toggle maps to a dependency-aware backend operation Enabling managed tiered checkpointing, for example, does more than flip a cluster setting. Managed tiered checkpointing uses multiple storage tiers, including cluster CPU memory. Persisting checkpoints requires an identity chain, a Kubernetes service account, an IAM role and policy, an OpenID Connect