Kubernetes Blog 日本語
フォロー
Kubernetes v1.37: KubeletInUserNamespace (別名 Rootless mode) がベータ版に昇格
Kubernetes v1.37 は KubeletInUserNamespace をベータ版に昇格させ、kubelet やランタイムなどのノードコンポーネントを非rootユーザーとして実行できるようになります。このrootlessモードは、2018年の実験から進化したもので、潜在的なコンテナブレークアウトの脆弱性を封じ込めることでセキュリティを強化します。Podのユーザー名前空間とは異なり、これはホストのノードコンポーネントに焦点を当てています。この機能は、歴史的に攻撃者にroot権限を付与する可能性があったCVE-2022-0811やCVE-2023-27561のような脆弱性によるリスクを軽減します。ユーザー名前空間で実行することにより、攻撃者の影響は非rootユーザーのアカウントに限定され、カーネルやファームウェアの変更を防ぎます。ユーザー名前空間はカーネルの脆弱性自体から保護するものではなく、seccompのような他の強化策と組み合わせる必要があります。この機能は、本番クラスター、共有マシン、ラップトップ、AIサンドボックスなど、さまざまなユースケースがあります。これは、ホストの非rootユーザーを名前空間内の偽のrootにマッピングすることで機能し、ほとんどのノードコンポーネントタスクで十分です。ユーザー名前空間は、例えばRootless Dockerを使用して、外部で作成する必要があります。デフォルトで有効になったKubeletInUserNamespace機能ゲートにより、kubeletは特定の権限エラーを無視できます。最近の改善には、idmapped tmpfs、ユーザー名前空間化されたPod、書き込み可能なcgroupのサポート強化が含まれており、ネストされたKubernetesデプロイメントが可能になります。kind、minikube、Usernetes、k3sのようなツールは、rootless Kubernetesクラスターを簡単に作成する方法を提供します。プロジェクトは将来的にこの機能を一般提供(General Availability)に移行する予定であり、コミュニティの参加を歓迎しています。