数据科学家在 Amazon Elastic Kubernetes Service(Amazon EKS)上运行 AI 工作负载时,通常需要 JupyterLab 和 Code Editor 等交互式集成开发环境(IDE)。然而,运行这些 IDE 往往意味着离开承载他们流水线的集群,切换到独立的 JupyterHub 部署或本地笔记本电脑。这种切换让他们失去了流水线所依赖的 GPU 节点、共享存储和 AWS Identity and Access Management(IAM)角色。 Amazon SageMaker AI Spaces 插件填补了这一空白。它可以在你已经运行的集群上托管托管的 JupyterLab 和 Code Editor 环境。要搭建一个具备 GPU 访问、存储和认证的独立 JupyterHub 环境,平台团队通常需要 3-5 天时间。而借助该插件,数据科学家大约 5 分钟就能启动一个配置完备的 Space。 在这篇文章中,你将在 Amazon EKS 集群上安装 SageMaker AI Spaces 插件。你将设置配套插件和 IAM 角色,部署 AWS Load Balancer Controller,请求 TLS 证书,并创建 AWS Key Management System(AWS KMS)加密密钥。然后创建你的第一个 Space,并通过浏览器中的预签名 URL 和通过 SSH-over-SSM 的 VS Code 访问它。最后,你将了解如何将团队迁移到使用 Amazon Cognito 的 OpenID Connect(OIDC)登录。 解决方案概览 该解决方案在单个 EKS 集群上分三层运行: - **网络与访问**。Amazon Route 53 将通配符域名解析到面向互联网的 Application Load Balancer(ALB),并使用 AWS Certificate Manager(ACM)提供 TLS 加密。对于 VS Code,AWS Systems Manager 隧道直接连接到 Space 的 Pod。 - **集群路由**。AWS Load Balancer Controller 负责配置 ALB。Traefik 按主机名进行路由。认证中间件利用 AWS KMS 加密的 JSON Web Token(JWT)来验证令牌。 - **计算与存储**。Space Pod 运行在私有子网的工作节点上,确保计算与存储资源的安全隔离,同时让数据科学家无缝使用集群已有的 GPU 节点和共享存储。

打开网易新闻 查看精彩图片