这个项目能做什么
Bottlerocket OS 是亚马逊打造的一款免费开源、基于 Linux 的操作系统,旨在安全可靠地托管容器工作负载。与传统通用 Linux 发行版不同,Bottlerocket 通过从默认运行时环境中移除包管理器和交互式 Shell 等非必要组件,最小化攻击面。其架构优先考虑安全性、可维护性和一致性。
主要特性:
- 不可变文件系统:根文件系统为只读,防止未经授权或意外的修改破坏稳定性。
- API 驱动配置:系统设置通过本地 HTTP API 管理,而非手动编辑文件。这允许结构化、经过验证的配置更改,并在更新时自动迁移。
- 可靠更新:Bottlerocket 使用双分区更新机制(A/B 分区)。它下载由 The Update Framework (TUF) 保护完整文件系统镜像,并重启进入新版本。如果启动失败,它会自动回滚到先前状态。
- 主机容器:管理任务被隔离在独立容器(Control 和 Admin 容器)中,这些容器在主编排器之外运行,确保管理开销不影响工作负载性能。
支持环境:
Bottlerocket 提供针对不同容器编排器和云平台定制的特定变体:
- AWS EKS(Kubernetes):变体如 `aws-k8s-1.31` 至 `1.36`,包括支持 NVIDIA GPU 的版本。
- AWS ECS:变体如 `aws-ecs-2` 和 `aws-ecs-3`,支持标准和 FIPS 合规模式。
- VMware:Kubernetes 工作节点变体(`vmware-k8s-*`)。
访问与管理:
默认情况下,SSH 被禁用以增强安全性。管理员可以使用以下方式访问系统:
1. Control 容器:使用 AWS Systems Manager (SSM) Session Manager 执行命令和查看日志,无需网络暴露。
2. Admin 容器:一个可选容器,通过 `sheltie` 提供 SSH 访问,用于高级调试和根 Shell 访问。
配置通过 `apiclient` 工具或实例初始化时传递 TOML/JSON 设置来处理。系统支持各种设置,包括 Kubernetes 集群集成、ECS 代理配置、网络代理、NTP、内核参数和自定义 CA 证书。
社区与贡献:
Bottlerocket 鼓励通过 GitHub 讨论和 Meetup 小组参与社区。欢迎通过贡献指南提交贡献。安全问题应直接报告给安全团队,而非公开问题跟踪器。
架构:
该操作系统支持 x86_64 和 ARM64 (aarch64) 架构,使其适用于受支持云提供商内的广泛硬件部署。
评论
0 评分人数达到10人后显示
登录后参与讨论。