Kubernetes v1.36: Kubernetes の... ノート

Kubernetes v1.36: Kubernetes のユーザー名前空間がついに GA (General Availability) に

Kubernetes v1.36 では、コンテナ化されたワークロードのセキュリティ分離を強化する Linux 専用機能であるユーザー名前空間の一般提供 (GA) が導入されました。この長らく待望されていたマイルストーンにより、Kubernetes アプリケーションの「rootless」セキュリティ分離が可能になります。重要な機能は、hostUsers: false を設定することで、特権を持つワークロードを実行しながらも、ユーザー名前空間内に閉じ込めることができる点です。これにより、CAP_NET_ADMIN のような特定のケーパビリティが名前空間化され、ローカルコンテナリソースに対する管理権限のみが付与されます。以前は、コンテナ内のルートプロセスはホスト上でもルート権限を持っており、ブレークアウト時の重大なセキュリティリスクとなっていました。この機能の主要な実現要因は、ID マッピングマウントです。これは、ディスクの所有権を変更することなく、マウント時に UID と GID を透過的に再マッピングします。これにより、開発初期段階で問題となっていたボリューム所有権の更新に関連するパフォーマンスの問題が解決されます。ユーザー名前空間の実装は簡単です。Pod 仕様で hostUsers: false を設定するだけで、コンテナイメージや複雑な設定を変更する必要はありません。この機能は、アルファ段階で導入されたものと同じインターフェースを利用しています。この進歩は、Kubernetes SIG Node、コンテナランタイム、および Linux カーネル間の長年にわたるクロスプロジェクトの協力の成果です。