Scripts2026年4月16日·1 分钟阅读

Bottlerocket — Container-Optimized Linux OS by AWS

A minimal, security-focused Linux distribution built by AWS specifically for running containers. Bottlerocket reduces attack surface with an immutable root filesystem, automatic updates, and API-driven configuration.

Introduction

Bottlerocket is a free, open-source Linux distribution from AWS designed solely for hosting containers. It strips away unnecessary packages, uses an immutable root filesystem, and applies updates atomically — reducing operational burden and improving security for Kubernetes and ECS workloads.

What Bottlerocket Does

  • Provides a minimal OS image purpose-built for container orchestrators (EKS, ECS, VMware)
  • Enforces an immutable root filesystem with dm-verity integrity checking
  • Delivers atomic A/B partition updates that can roll back automatically on failure
  • Exposes all host configuration through a secure API instead of SSH
  • Integrates with AWS Systems Manager for remote management without opening ports

Architecture Overview

Bottlerocket uses a dual-partition (A/B) update scheme where the inactive partition receives updates and becomes active on reboot. The root filesystem is read-only and verified at boot via dm-verity. A separate data partition persists container images and settings. All configuration flows through an API server running on a Unix socket, and an admin container provides optional shell access for debugging.

Self-Hosting & Configuration

  • Build custom variants from source using the Rust-based build system and Tuftool for TUF-signed repos
  • Configure via user data (TOML format) passed at instance launch for cluster endpoint, certificates, and settings
  • Use the Bottlerocket update operator to orchestrate rolling updates across Kubernetes nodes
  • Enable the admin or control containers for SSH-like debugging when needed
  • Deploy on bare metal or VMware vSphere using the metal or vmware variants

Key Features

  • Attack surface reduced by 60-80%% compared to general-purpose Linux distributions
  • SELinux enforced by default in strict mode for all containers
  • Automated security updates via TUF-signed update repositories
  • Boot time under 10 seconds on modern hardware
  • Supports GPU workloads and custom kernel modules via host containers

Comparison with Similar Tools

  • Amazon Linux 2 — general-purpose with full package manager; Bottlerocket is minimal and immutable
  • Flatcar Container Linux — similar philosophy but Bottlerocket has tighter AWS integration and API-driven config
  • Talos Linux — Kubernetes-only OS with API management; Bottlerocket also supports ECS
  • Ubuntu Core — snap-based immutable OS; Bottlerocket is lighter and container-focused
  • RancherOS — deprecated; Bottlerocket is actively maintained with AWS backing

FAQ

Q: Can I SSH into Bottlerocket? A: Not by default. You enable an admin container for shell access or use AWS SSM for remote management.

Q: Does Bottlerocket work outside AWS? A: Yes. There are variants for VMware vSphere, bare metal, and other cloud providers.

Q: How are updates applied? A: Updates download to the inactive partition and activate on reboot. If the new version fails health checks, it rolls back automatically.

Q: Can I install custom packages? A: No. The OS is immutable. Custom software runs as containers or host containers that have privileged access.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产