Understanding ReplicaSet vs. StatefulSet vs. DaemonSet vs. Deployments

(abhisman.notion.site)

60 points | by Abhisman 182 days ago

4 comments

  • kevmo314 181 days ago
    > Understanding the nuances and distinctions between these key concepts becomes crucial as you navigate the complex — yet rewarding — waters of container orchestration.

    Can't say I've ever felt rewarded for using Kubernetes, literally or metaphorically.

    • smitelli 181 days ago
      Early on I heard the k8s controller ecosystem described as “a half dozen concurrent `while true` loops all fighting with each other.” Can’t say I disagree.
      • ithkuil 181 days ago
        Isn't that what we all are?
      • pphysch 181 days ago
        Isn't that distributed systems in a nutshell?
        • nejsjsjsbsb 179 days ago
          Node.js in a nutshell for sure
      • seivan 180 days ago
        [dead]
    • Abhisman 180 days ago
      Eh, dont you feel rewarded solving problems in general?
      • kevmo314 180 days ago
        Can't say I feel like Kubernetes has solved more of my problems than it created.
        • melodyogonna 179 days ago
          Are you doing datacenter-scale deployment and configuration?
          • kevmo314 179 days ago
            Yup
            • melodyogonna 178 days ago
              And you don't think Kubernetes solves a lot more problems than it creates? Very interesting, I wonder what you're comparing to.
    • draw_down 181 days ago
      [dead]
  • ofrzeta 181 days ago
    Doesn't seem to offer more insights than the Kubernetes docs.
    • LetMeLogin 181 days ago
      Totally. Plus it's misguiding readers with different functionality and use cases.

      For example "Persistent Storage: StatefulSets provide persistent storage to their pods through Kubernetes PersistentVolumes".

      The thing is that STS doesn't do that. That's actually in POD definition.

      • vanillax 181 days ago
        Agree. Its more confusion. PVC / PV are native to k8s not something part of statefulsets. In fact you _probably_ only need to use Statefulsets for databases. Which is probably going to be abstracted away with Operators.
        • verdverm 181 days ago
          It's more about roll forward/backward and services with a master+replica or leader election. That PVCs are common in stateful sets is more a symptom than the cause
          • vanillax 181 days ago
            Yea for sure. Thats why I dropped the term database because thats the exact scenario ( master / replica ) where pod consistency naming,dns, network etc is important for StatefulSet.
      • MuffinFlavored 181 days ago
        I had no idea... probably shows I haven't hit an advanced enough use case.

        > why isn't a statefulset just a deployment/pod with PVC mounted?

        * StatefulSets provide predictable pod names and hostnames (pod-0, pod-1)

        * StatefulSets handle pods sequentially (0→1→2), ensuring proper cluster initialization.

        * StatefulSets maintain a consistent pod-to-PVC mapping even after pod rescheduling.

        * StatefulSets delete pods in reverse order,

        • wbl 181 days ago
          You can look at the structure in TFA to see this. The only discussion of the volume mounting is in the pod template, not the Stateful Set itself.
        • vanillax 181 days ago
          You can map a PVC back to a pod without statefulset. You just need to create the PV and PVC and map it to a deployment.
      • null0pointer 181 days ago
        Author is most likely farming credibility with blog spam.
      • sitkack 181 days ago
        "Come on!"
    • Abhisman 178 days ago
      "Maybe readers would want to read what I've written" - That's the approach that I had in mind when writing the article.
  • dgfitz 181 days ago
    I hope I've avoided containers enough to let this phase pass by. Formalizing vocabulary around the different states of a container makes me want to throw up my hands in a Seinfeld "come one" motion.
    • Leo_Verto 181 days ago
      Like it or not, containers are here to stay. They just make way too much sense as an atomic unit for delivering applicstions and really aren't that complicated.

      Kubernetes is a whole nother beast though and while it introduces a ton of overhead, it can be useful at a certain organisational scale as an API definition for delivering services to other teams.

    • crabbone 181 days ago
      This isn't about the state of container. It's about interactions between several containers (a group of containers is called a pod). Which, probably, doesn't make it better for you, but for the sake of correctness...