K3sとは?
K3sは、100 MB未満の1つのバイナリにまとめられたKubernetesディストリビューションです。アップストリームのKubernetesへの準拠を保ちつつ、containerd、Flannelネットワーク、CoreDNS、IngressとしてのTraefik、サービス用ロードバランサー、local-pathストレージ、Helmコントローラーを同梱しており、いずれも無効化や置き換えができます。単一サーバーでは既定でクラスター状態をSQLiteに保存し、3台以上のサーバーで組み込みetcdによる高可用性クラスターを構成します。外部のMySQL、MariaDB、Postgresも使えます。
Rancher Labsで始まり、2020年6月にCNCFへ寄贈されました。SUSEはこれをCNCF Sandboxプロジェクトと説明しており、SUSE自身も主要なコントリビューターです。ソフトウェアはApache 2.0で有償エディションはなく、SUSEはRancher Primeサブスクリプションを通じてサポートを販売しており、リリースごとに最長5年のサポートが付きます。
GPU用途では、K3sは起動時にNVIDIA container runtimeを検出してcontainerdの設定に追加し、対応するnvidiaという名前のRuntimeClassも用意します。バージョン番号はアップストリームのKubernetesに従い、v1.37.2+k3s1とv1.36.6+k3s1が2026年11月3日に同時にリリースされました。
K3sは使う価値があるか?
プラットフォームチームではなく数台のマシンしかないとき、推論やエージェントのサービスをKubernetesに載せる手段として、K3sは妥当な選択です。準拠Kubernetesなので、モデルサーバーのHelmチャート、NVIDIA device plugin、多くのOperatorがそのまま入ります。ドキュメントが求めるのは、ワークロードを除いてサーバーノードで2コアと2 GBのRAM、エージェントで512 MBだけです。リポジトリのGitHubスターは約34,400で、プロジェクトはアップストリームから1週間以内のパッチリリースと、30日以内の新しいマイナーバージョンを目標にしています。
GPU対応はほぼ自動ですが、よく知られた落とし穴が1つあります。ホストにNVIDIAのcontainer runtimeパッケージを入れてK3sを再起動すると、K3sはランタイムをcontainerdに書き込みます。あとはPodがnvidia.com/gpuを要求し、runtimeClassName: nvidiaを指定します。ところがNVIDIA device pluginはnvidiaが既定のランタイムであることを前提にしており、K3sのGitHub上の長いディスカッションでは、--default-runtime nvidiaを設定するかK3sのテンプレートconfig.toml.tmplを編集するまで、プラグインがクラッシュループを続けたという報告があります。NVIDIAのGPU Operatorも動きますが、そのtoolkitをK3s独自のcontainerdソケットと設定パスに向ける必要があります。K3sのドキュメントはこれを扱っておらず、NVIDIAの現行インストールガイドにもK3sは載っていません。
単一ノードの既定構成は本物のトレードオフです。1台のサーバー上のSQLiteにはフェイルオーバーがありません。高可用性には組み込みetcd上の3台以上のサーバーが必要で、クォーラムを保つため台数は奇数にします。ドキュメントはetcdの書き込みがSDカードやeMMCには重すぎると警告しており、エッジ機器にはSSDが必要です。単一サーバーは後から--cluster-initを付けて再起動すればetcdに移行できます。FlannelのVXLANポート8472はファイアウォールの内側に置く必要があり、ドキュメントによれば公開するとクラスターネットワークが誰にでも開かれてしまいます。GitHubにはこのプロジェクトのセキュリティアドバイザリーが3件あり、最新は2026年6月に公開された、etcdスナップショット復元における中程度のパストラバーサルの不具合です。
モデルサーバー、ベクトルデータベース、エージェントAPIを動かすGPUホストが1台なら、たいていDocker Composeで足ります。devicesブロックでサービスごとにGPUを確保でき、パッチを当てるべきコントロールプレーンも残りません。K3sが元を取るのは、負荷を振り分ける2台目のGPUホストが加わったとき、ローリングアップデートが求められるとき、あるいは数十のエッジ拠点をGitから管理するときで、まさにSUSEがRancher Primeを売り込む場面です。SUSEはK3sのページでそのサポートの価格を公表していません。
真価を発揮する場面
GPUサーバーを3台持つ2人のMLチーム
コンテナを手作業で配置せずに、モデルサーバーとエージェントAPIを3台に振り分ける
各ホストにcurlスクリプトでK3sを入れ、NVIDIAのランタイムパッケ ージを追加し、--default-runtime nvidiaでサーバーを起動して、device pluginとモデルサーバーをHelmでデプロイします。スケジューラーが空いているGPUにPodを配置します。ソフトウェアは無料で、実際のコストはkubectlの習得と、リリースのたびに3ノードを更新する手間です。
店舗のミニPCで小さな画像認識モデルを動かす、40店舗の小売チェーンのIT責任者
全店舗で同じ推論コンテナを動かし、1か所からまとめて更新する
各店舗でSQLite上の単一ノードK3sを動かします。K3s自体に必要なのは2コアと2 GBです。Rancher Primeはクラスター横断のGitOpsによるフリート管理とベンダーサポートを加えますが、価格は問い合わせ制です。使わない場合、各拠点の更新と監視はチームが自分で担います。
GPU1基のワークステーションでエージェント環境をセルフホストする個人開発者
Ollama、Qdrant、エージェントAPIをKubernetesに載せるべきか決める
Docker ComposeはdevicesブロックでサービスごとにGPUを確保でき、コントロールプレーンもありません。K3sはヘルスチェックによる再起動とローリングアップデートを加えますが、その分K3s自体のリソースと新しいツール群が必要です。マシン1台ならたいていComposeで十分で、2台目のGPUホストが来たときにK3sが意味を持ち始めます。
導入前に確認すること
- 導入
- curl -sfL https://get.k3s.io | sh - でsystemdまたはopenrcのサービスが入り、kubeconfigが/etc/rancher/k3s/k3s.yamlに書き出されます。ワーカーはK3S_URLと/var/lib/rancher/k3s/server/node-tokenのトークンで参加します。x86_64、armhf、arm64、s390x向けのバイナリがあります。
- 連携
- 標準的なKubernetesツール(kubectl、Helm、CSIドライバー、cloud controller manager。in-treeのストレージドライバーとクラウドプロバイダーは削除済み)。NVIDIA、crun、複数のWebAssemblyランタイムは自動検出されます。GPU OperatorではCONTAINERD_CONFIGとCONTAINERD_SOCKETをK3sのパスに設定する必要があります。
- データとプライバシー
- Apache 2.0で有償エディションはありません。クラスター状態はSQLite、組み込みetcd、または自分で運用する外部データベースに保存されます。ポート8472(Flannel VXLAN)はインターネットに公開しないでください。GitHubのセキュリティアドバイザリーは3件で、最新は中程度(2026年6月)です。
- 大規模利用時のコスト
- ソフトウェアは無料です。ドキュメントの目安では、2 vCPUと4 GBのサーバーでエージェント350台まで、4 vCPUと8 GBで900台ま でです。4 vCPUと8 GBのサーバー3台なら約1,200台に届きます。費用の大半はGPUで、Rancher Primeのサポートは問い合わせ制です。
- 制限
- 未解決のIssueとプルリクエストは78件。rootlessモードは実験的で単一ノードのみ。高可用性には奇数台のサーバーが必要。GPU Operatorでの導入は公式ではなくコミュニティが文書化した方法です。
良い点
- 100 MB未満のバイナリ1つで準拠Kubernetes
- NVIDIA container runtimeを検出し、nvidiaのRuntimeClassを同梱
- サーバーノードは2コアと2 GBのRAMで足りる
- SUSE Rancher Primeで最長5年の有償サポート
気になる点
- NVIDIA device pluginにはnvidiaを既定ランタイムにする設定が必要
- GPU OperatorにはK3s固有のcontainerdパスが必要で、公式ドキュメントがない
- 既定の単一サーバー+SQLite構成にはフェイルオーバーがない
- ホスト1台ならDocker Composeより学ぶことも保守も多い
おすすめの人
数台のGPUマシンや多数のエッジ拠点で推論やエージェントのサービスを動かし、プラットフォームチームなしでKubernetesを使いたい小規模チーム。
K3sの代替
K3s:よくある質問
- K3sは使う価値があるか?
- 数台のGPUマシンやエッジ拠点の群れにちょうどよい大きさのKubernetesですが、マシン1台ならDocker Composeのほうが手間が少なく済みます。 評価は5点満点中4.4点です。
- K3sの料金は?
- Apache 2.0の無料オープンソースで、有償エディションはありません。商用サポートはSUSE Rancher Prime経由(リリースごとに最長5年)で、価格は問い合わせ制です。
- K3sの欠点は?
- NVIDIA device pluginにはnvidiaを既定ランタイムにする設定が必要; GPU OperatorにはK3s固有のcontainerdパスが必要で、公式ドキュメントがない; 既定の単一サーバー+SQLite構成にはフェイルオーバーがない; ホスト1台ならDocker Composeより学ぶことも保守も多い.
- K3sは誰に向いているか?
- 数台のGPUマシンや多数のエッジ拠点で推論やエージェントのサービスを動かし、プラットフォームチームなしでKubernetesを使いたい小規模チーム。
- チームや本番環境でK3sを使うと費用はいくらか?
- ソフトウェアは無料です。ドキュメントの目安では、2 vCPUと4 GBのサーバーでエージェント350台まで、4 vCPUと8 GBで900台までです。4 vCPUと8 GBのサーバー3台なら約1,200台に届きます。費 用の大半はGPUで、Rancher Primeのサポートは問い合わせ制です。
- K3sは企業データを扱っても安全か?
- Apache 2.0で有償エディションはありません。クラスター状態はSQLite、組み込みetcd、または自分で運用する外部データベースに保存されます。ポート8472(Flannel VXLAN)はインターネットに公開しないでください。GitHubのセキュリティアドバイザリーは3件で、最新は中程度(2026年6月)です。
- K3sの代わりになるものは?
- 当サイトでレビューした中で最も近い代替はOllama, Mesh LLM 、 vLLMです。
回答確認日:2026年11月9日