使用优化型 Bottlerocket AMI 创建节点 - Amazon EKS

使用优化型 Bottlerocket AMI 创建节点

Bottlerocket 是由 AWS 赞助和支持的开源 Linux 发行版。Bottlerocket 专为托管容器工作负载而构建。借助 Bottlerocket,您可以通过实现容器基础设施自动更新来提高容器化部署的可用性并降低运营成本。Bottlerocket 仅包含运行容器所需的必备软件,可提高资源利用率、减少安全威胁并降低管理开销。Bottlerocket AMI 包括 containerdkubelet 和 AWS IAM 身份验证器。除了托管节点组和自行管理的节点外,Bottlerocket 还受 Karpenter 支持。

优点

将 Bottlerocket 与 Amazon EKS 集群结合使用有以下优势:

  • 正常运行时间更长,运营成本更低,管理复杂性 – 与其他 Linux 发行版相比,Bottlerocket 资源占用量更小,启动时间更短,更不容易受到安全威胁。Bottlerocket’s 占用量更小,因此可通过使用更少的存储、计算和网络资源来帮助用户降低成本。

  • 自动操作系统更新可提高安全性 – Bottlerocket 的更新作为单个单元应用,必要时可以回滚。这消除了更新损坏或失败的风险,这些情况可能会使系统处于不可用状态。借助 Bottlerocket,安全更新能在可用时以中断最少的方式自动应用,并在出现故障时回滚。

  • Premium Support – AWS 在 Amazon EC2 上提供的 Bottlerocket 发行版包含在相同的 AWS Support 计划中,这些计划还涵盖 Amazon EC2、Amazon EKS 和 Amazon ECR 等 AWS 服务。

注意事项

将 Bottlerocket 用于 AMI 类型时,请考虑以下事项:

  • Bottlerocket 支持采用 x86_64arm64 处理器的 Amazon EC2 实例。Bottlerocket 不建议将 Amazon EC2 实例与 Inferentia 芯片结合使用。

  • Bottlerocket 映像不附带 SSH 服务器或 Shell。您可以使用带外访问方法来允许 SSH。这些方法会启用管理员容器,并利用用户数据来执行一些引导配置步骤。有关更多信息,请参阅 GitHub 上 Bottlerocket 操作系统 一文中的以下章节:

  • Bottlerocket 使用不同的容器类型:

    • 默认情况下,将启用控制容器。该容器运行 AWS Systems Manager 代理,您可以用它在 Amazon EC2 Bottlerocket 实例上运行命令或启动 shell 会话。有关更多信息,请参阅 AWS Systems Manager 用户指南中的设置会话管理器

    • 如果创建节点组时提供 SSH 密钥,则会启用管理员容器。我们建议仅将管理员容器用于开发和测试场景。我们建议不要在生产环境中使用此模式。有关更多信息,请参阅 GitHub 上的 Admin 容器

更多信息

有关使用 Amazon EKS 优化版 Bottlerocket AMI 的更多信息,请参阅以下部分: