title: StatefulSet, ReplicaSet or DaemonSet. What is the best for a single Pod?
body: <p>I want to deploy a single Pod on a Node to host my service (like GitLab for the example). The problem is : a Pod will not be re-created after the Node failure (like a reboot). The solution(s) : Use a StatefulSet, ReplicaSet or DaemonSet to ensure the Pod creation after a Node failure. But what is the best for this case ?</p>
  
  <p>This Pod is stateful (I am using volume <code>hostPath</code> to keep the data) and is deployed using <code>nodeSelector</code> to keep it always on the same Node.</p>
  
  <p>Here is a simple YAML file for the example : <a href="https://pastebin.com/WNDYTqSG" rel="nofollow noreferrer">https://pastebin.com/WNDYTqSG</a></p>
  
  <p>It creates 3 Pods (one for each <code>Set</code>) with a volume to keep the data statefully. In practice, all of these solutions can feet my needs, but I don't know if there are best practices for this case.</p>
  
  <p>Can you help me to choose between these solutions to deploy a single stateful Pod please ?</p>