Daemon Set
Daemon set is the one that lunches the pods , and the total no of pods will be equal to the number of node in that particular kubernetes cluster as it follow the model called one-Pod-per-node model .If the master node is tainted then total no of pods launched via Daemonset will be (total node -1).
Deployments and DaemonSet are almost same , only difference is Daemonset launches the same copy of pods in every node of that kubernetes cluster but Deployment always launches it on a particular node as scheduled by master node .
if one want to launch one copy of pod (DaemonSet) , we need to untaint the master node ie copy of DaemonSet pods should also be scheduled and launched on master node.
kubectl describe nodes <node-name> | grep Taints
by above command you will get the info of the taint of master node then follw the steps in the Screenshots following
UseCase of the DaemonSet
Some typical uses of a DaemonSet are:
- running a cluster storage daemon on every node
- running a logs collection daemon on every node
- running a node monitoring daemon on every node
- setting up VXLAN
How Daemon Set helps in Setting up VXLAN
another use case is for setting up virtual network ie VXLAN (virtual extended LAN) with in the kubernetes cluster , here i have used flannel to set up vxlan so ,as you can see in the following Screenshot that flannel and kubeproxy internally uses resources called DaemonSet to launch on every node of the cluster there are two nodes so two pods for flannel and two pods for kube proxy is launched with the help of DaemonSet