- コンテナホスティングに最適化された Linux ベースのオペレーティングシステム
- コンテナオーケストレーター(例: Kubernetes)と連携して動作し、クラスターで実行されるコンテナのライフサイクルを自動化するよう設計
- 3つの主要な目標は、最小化、安全なアップデート、セキュリティ重視
- シェルはないが、権限を持つ「ホスト」コンテナを通じてシステムと対話できる
- アップデートは特定のパーティションにダウンロードされるイメージとして提供される。Bottlerocket はパーティションを切り替え、新しいバージョンへ Atomic ブートする
- 複数のパーティションを使ってアップデートを管理。再起動時に Atomic な変更が適用される
- アップデートは手動で、またはオーケストレーター専用ツールである Bottlerocket Update Operator(brupop)および ECS updater を通じて管理できる
- Rust と少量の Golang で記述
- Bottlerocket のルートファイルシステムは変更不可。dm-verity はルートファイルシステムの透過的な整合性検証を提供し、基盤となるブロックデバイスで変更が検出されるとカーネルが再起動される
- Bottlerocket には常時有効で、強制的かつ制限的な SELinux ポリシーを持つ可変ファイルシステムがあり、root で実行されるコンテナが危険な操作を実行するのを防ぐのに役立つ
1件のコメント
Hacker Newsの意見