【デーモンセット】

DaemonSet とは?

最終更新:
💡 全ノードに欠かさず配備される、縁の下の守り番
📌 このページのポイント
DaemonSet: 全ノードに1つずつPodを配置 DaemonSet Node 1 Pod (例: Fluentd) ログ収集エージェント Node 2 Pod (例: Fluentd) ログ収集エージェント Node 3 Pod (例: Fluentd) ログ収集エージェント ノードが追加されると自動でPodが起動する
DaemonSetは全ノードに1つずつPodを自動配置する
ひよこ ひよこ
DaemonSetって何?Deploymentと何が違うの?
ペンギン先生 ペンギン先生
DaemonSetはクラスター内の全ノードに1つずつPodを置く仕組みだよ。Deploymentは「このPodを3つ動かしてね」って個数で指定するけど、DaemonSetは「全ノードに1つずつ」って考え方なんだ。
ひよこ ひよこ
全ノードに1つずつって、どんなときに使うの?
ペンギン先生 ペンギン先生
ログ収集エージェントやモニタリングエージェント、ネットワークプロキシなんかに使われるよ。どのノードで何が動いてもログを漏れなく集めたいとか、全ノードのメトリクスを取りたいときに便利だね。
ひよこ ひよこ
ノードが増えたらどうなるの?
ペンギン先生 ペンギン先生
新しいノードが追加されると、DaemonSetのPodが自動的にそのノードに起動するよ。逆にノードが削除されたらPodも一緒に消えてくれる。手動で管理しなくていいのが嬉しいところだね。
ひよこ ひよこ
特定のノードだけに置くこともできるの?
ペンギン先生 ペンギン先生
できるよ!nodeSelectorやnodeAffinityを使えば「このラベルのノードだけ」って絞り込める。さらにtolerationsを設定すれば、通常は避けられるマスターノードや特殊なノードにも配置できるんだ。
ひよこ ひよこ
DaemonSetで動かすのにおすすめの具体的なツールはあるの?
ペンギン先生 ペンギン先生
Fluentd(ログ収集)、Prometheus Node Exporter(メトリクス収集)、Calico・Flannel(ネットワークプラグイン)、kube-proxy(クラスター内ネットワーク)なんかが代表的だよ。クラスターの基盤を支えるコンポーネントによく使われるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「DaemonSet」って出てきたら「全ノードに1個ずつ常駐するPod管理係」と思えればだいたいOK!
📖 おまけ:英語の意味
「DaemonSet」 = デーモンの集合体
💬 Unixの「デーモン」(バックグラウンドで常駐するプロセス)に由来。全ノードで常時動くPodの集合という意味で「DaemonSet」と名付けられたんだよ。
← 用語集にもどる