Flatcar Container Linux
コンテナ実行に特化した最小・イミュータブルな Linux ディストリビューション。A/B パーティション構成と自動アトミック更新を持つ。
- カテゴリ: Runtime
- CNCF 成熟度: Incubating
- 言語: Shell と Python
- ライセンス: BSD-3-Clause(
scriptsリポジトリ) - リポジトリ: flatcar/scripts
- ドキュメント対象コミット:
d2c217c(ブランチmain、2026 年 6 月)
何をするものか
Flatcar Container Linux はコンテナを動かす 1 点に絞った OS だ。稼働ホストにパッケージマネージャは無い。/usr ファイルシステムは読み取り専用でマウントされ dm-verity で保護され、OS はインストール可能なパッケージ群ではなくイメージ全体として配布される。
更新はアトミックだ。システムが片方の /usr パーティションから稼働している間に新イメージをもう一方へ書き込み、再起動で入れ替える。新イメージが起動に失敗すれば、ブートローダが直前のイメージへフォールバックする。これは CoreOS Container Linux が導入したモデルで、Flatcar はその系譜を保守し続ける継続先だ。
実装は flatcar/scripts にある。Gentoo/Portage ベースのビルドシステムで、事前ビルド済みバイナリパッケージを root ファイルシステムへ emerge し、GPT イメージへ焼き込む。アンブレラの flatcar/Flatcar はドキュメント、ガバナンス、issue トラッカーを持つ。
いつ使うか
- Kubernetes や素のコンテナワークロードを動かし、ホスト OS をその場でパッチするサーバーではなく、管理され置き換え可能な単位として扱いたいとき。
- 複数クラウドとベアメタルで同じ OS を使い、初回ブート時に Ignition で宣言的に構成したいとき。
- ロールバック付きの自動更新と、稼働中コンテナを壊さない保守的なリリースペースが欲しいとき。
- デバッグのため SSH と Docker の互換性を残したい(完全な API 専用ホストではなく)とき。
稼働ホストに任意のシステムパッケージを入れたい場合や、単一クラウド向けのアプライアンス OS で既にフリート全体をカバーできる場合には不向きだ。
この詳解の構成
- 歴史: 起源、節目、なぜ存在するか。
- アーキテクチャ: コンポーネントとイメージのビルド経路。
- 採用とエコシステム: 誰が運用し、何が周辺にあるか。
- 内部実装: ソースから読む、重要なコード経路。
- 入門: インストールと最初の動作セットアップ。
出典
- flatcar/scripts、イメージのビルド・合成スクリプト(pinned commit
d2c217c)。 - Flatcar brings Container Linux to the CNCF Incubator、CNCF ブログ。
- Flatcar Container Linux プロジェクトページ、CNCF。
- Flatcar accepted into CNCF at incubating level、Microsoft Open Source。
- Propose Flatcar for Incubation、cncf/toc PR #991。
- flatcar/Flatcar ADOPTERS.md。
- Flatcar Container Linux enters new era after CoreOS End-of-Life、Kinvolk。
- Microsoft acquires Kinvolk、Azure ブログ。