LoginSignup
0
0

More than 1 year has passed since last update.

【k8s】DeamonSetって何? どんな時に使うリソースなの?

Posted at

はじめに

k8s(Kubernetes)の学習をしているとDeamonSetというリソースが聞くことがあるかと思います。
自分の中でDeamonSetについてあまり理解できていなかったので、記事にしてまとめたいと思います。

DeamonSetとは?

全nodeに1 podずつ配置するリソースです。

実際に動作確認してみる

前提

  • minikube が動作していること
    • minikube start --nodes 2 -p multinode-demo

DeploymentとDeamonSetをデプロイすることでDeamonSetが全Nodeにpodが作成されることを確認してみたいと思います。

kubectl apply -f https://gist.githubusercontent.com/Higakinn/77cbcba2a4c5160122269efe9cf93812/raw/6f733db004ac557724c507ab8c6a84d2b980062e/DemonSetDev.yaml

applyできたら、出来上がったリソースをみてみましょう。

kubectl get pods -o wide
NAME                          READY   STATUS    RESTARTS   AGE     IP           NODE                 NOMINATED NODE   READINESS GATES
deploy-dev-7dd88cd587-4sbbv   1/1     Running   0          10s     10.244.1.3   multinode-demo-m02   <none>           <none>
ds-dev-2fsfv                  1/1     Running   0          2m27s   10.244.0.3   multinode-demo       <none>           <none>
ds-dev-jgwb4                  1/1     Running   0          2m27s   10.244.1.2   multinode-demo-m02   <none>           <none>

deploymentは multinode-demo-m02 というNodeにしかリソースが作成されていないのに対して、DeamonSetは 全てのNodeにリソースが作成されていることがわかります。

このような形で全Nodeにpodを作成したりすることができます。

で、どんなときに使うの?

色々利用用途がありますが、以下のような場合があります。

  • 各Podが出すログを収集するためのPodを用意したい
  • 各Podのリソース使用状況やノードの状態をモニタリングするPodを用意したい
  • 各Nodeにコンテナイメージをキャッシュさせておきたい

まとめ

  • k8s DeamonSet
    • 全nodeに1 podずつ配置するリソース
    • 全Nodeで必ず動作する必要のあるプロセスのために利用されることが多い
      • Fluentd,DataDogなど、、、
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0