(I don't use mine to create the deployment, just to patch the image tag) kind: ClusterRole apiVersion: rbac. This article is the fourth in a series using infrastructure as code to deploy applications with Kubernetes. Network Identities: Kubernetes. Stable, persistent storage. This chart deploys Logstash as a statefulset. Description. In this video I explained about StatefulSet in Kubernetes, the differences between Deployment Vs StatefulSet in Kubernetes, Why do you need statefulset in Kubernetes, so you will understand Statefulset in Kubernetes completely. This is the expected behavior. 0 API compatibility in Amazon DocumentDB. What is Kubernetes StatefulSets. 1. What is Kubernetes StatefulSets. yaml kubectl apply -f mongo-statefulset. Statefulsets only provide a way to have unique naming e. If you need the pods that make up your application to have consistent, and predictable hostnames, then use. StatefulSets maintain the state of applications beyond an individual pod lifecycle. To demonstrate just how pervasive the problem is, one can compare the list of charts using a StatefulSet vs a Deployment. As far as a Deployment is concerned, Pods are interchangeable. The diagram below shows how Deployment and StatefulSets assign names to the Pods. Step 1. You can also create Pods (containers) using the Deployment object in the Kubernetes cluster. The solution(s) : Use a StatefulSet, ReplicaSet or DaemonSet to ensure the Pod creation after a Node failure. They both consume resources and can affect overall performance. Pods retain their identifiers even if they're restarted or scheduled onto another Node. 5. Deployment 适合场景无状态的应用特点1. While they have similar goals, they handle them in very different ways. 5. 0. DaemonSet vs. Deployment. StatefulSets are a pain in the neck when you need to do rolling updates or to upgrade your Kubernetes version, because they are not too easy to scale. Replicas in a StatefulSet follow a graceful, sequential approach to deployment, scale, upgrades, and terminations. Stateful applications are those which required persistent storage to work aptly. StatefulSets use a Headless Service resource, which sets the clusterIP property to none. Let's be friends: Explore managing stateful applications with Kubernetes StatefulSets — when to use them, how to deploy MongoDB. Why use. 那使用Deployments更重要的是,可以方便Rollback到之前版本,而使用StatefulSets、DaemonSets. To start one replica it needs around 5 Minutes. Open this file in a code-editor and write the following code into it: apiVersion: apps/v1. 1 Answer. kubectl describe svc nginx-app1. g. Create a StatefulSet file. Kubernetes StatefulSet vs. pod名字包含随机数字 4. Although this is not directly answer your question, maybe it provides some hint for your consideration. Deployments vs Daemonsets vs Statefulsets. Switch on the feature gate with the command line flag --feature-gates=StatefulSetMinReadySeconds=true on kube-apiserver and kube-controller-manager. Some of the key features of StatefulSets are as follows: 1. be/ha3LjlD6g7g In this Kubernetes. Inter-pod affinity and anti-affinity can be even more useful when they are used with higher level collections such as ReplicaSets, StatefulSets, Deployments, etc. This allows you to easily replicate Pods and attach a storage volume to the Pods. Kubernetes Deployment vs. There seems to be a recurring bad practice among the charts in this repository: using a Deployment to manage pods using Persistent Volume Claims, rather than the proper StatefulSet. g. 3. Statefulsets implement this sticky identity in two ways: Predictable Pod Names: Statefulsets have fixed ordered name in the form of: ${statefulset-name}-{ordinal}. Ordered, automated rolling updates. This is great for stateless apps that we want online, ASAP. I'm using Logstash on Kubernetes and use the official Helm chart at this link. In Kubernetes, a Deployment is a workload resource object that lets you configure the lifecycle of pods in the cluster. The ClusterIP is only internal and provides the Kubebernetes cluster a fixed endpoint to reference your deployment/pod internally. Authors: Ravi Gudimetla (Apple), Filip Křepinský (Red Hat), Maciej Szulik (Red Hat) This blog describes the two features namely minReadySeconds for StatefulSets and maxSurge for DaemonSets that SIG Apps is happy to graduate to stable in Kubernetes 1. Deploy The Stack. The following brings up the StatefulSet including two pods (a leader and a follower), binds the persistent volumes to each pod as well as creates a headless service for it: $ kubectl create ns mehdb. Note: This is not a production configuration. This tutorial demonstrates running Apache Zookeeper on Kubernetes using StatefulSets, PodDisruptionBudgets, and PodAntiAffinity. If you decide to use StatefulSets, note that it comes with a headless service per StatefulSet, generated for inter-cluster discovery. Stateful and Stateless Applications. Find a wide-ranging variety of Deployment Vs Statefulset In Kubernetes Statefulset In Kubernetes Explained Stateless Stateful classified ads on our high-quality marketplace. When pods run as part of a StatefulSet, Kubernetes keeps state data in the persistent storage volumes of the StatefulSet, even if the. Ordered, graceful deletion and termination. It can manage the scaling and deployment of a collection of. 5 Post deployment tasks; 8. –2. StatefulSet(stable-GA in k8s v1. StatefulSets maintain a sticky identity -- one that persists despite rescheduling -- for each pod and attached storage. StatefulSets. The StatefulSet will not. On an update the existing Pods will get deleted and recreated. First, let's verify that StatefulSet has created the leader ( mehdb-0) and. We need to specify service instances to be deployed to different boxes, anti-affinity on pods, for high availability. Deployment vs Statefulset . Figure 3: Persistence in statefulsets as each having its own volume. Thus, you have one SQL Server instance deployed per pod in the Kubernetes cluster. In the previous blog we created a stateless application, deployed with K8s resource Deployment, which allows one to replicate the application, but where data is lost when Pods are restarted, meaning there were no data consistency. Stateful applications are those which required persistent storage to work aptly. The same thing can be done by using StatefulSets. Their hostnames include their numerical replica identifier, allowing external applications to interact with the same replica after a Pod’s rescheduled. FYI: You had the right approach in the beginning with Deployment + PVC. Before you begin Before you begin this tutorial, you should familiarize yourself with the following Kubernetes concepts: Pods Cluster DNS Headless Services. statefulset "mariadb" deleted. It demonstrates how to create, delete, scale, and update the Pods of StatefulSets. Ordered, graceful deployment and scaling. Deploy it using the command below: $ kubectl apply -n test-namespace -f deployment. The example in this blog deploys on Centos7 using kubeadm. A pod is a single entity, and if it fails, it cannot restart itself; this won’t suit most use cases, as we want our. apps "web" created. It manages the deployment and scaling of a set of Pods, and provides guarantee about. StatefulSets create volumes on the fly using a volumeClaimTemplate. It allows us to automate deployments, scale, and manage containerized applications. In short, a StatefulSet is an API object in Kubernetes that handles stateful applications. g. This tutorial provides an introduction to managing applications with StatefulSets. I have chosen this option since we are using a single node MariaDB, which works better as a statefulset than as a deployment. Given this difference, Deployment is more suited to work with stateless applications. For mysql i am using statefulset and the code is here: apiVersion: apps/v1 kind:Author: Matthew Cary (Google) Kubernetes v1. By default, Kubernetes uses the. updateStrategy. Statefulsets. Provision a Static PV for a Deployment Workload. By default, statefulsets start the first, then second, then third, etc. For an even more than basic primer on StatefulSets, visit the Kubernetes documentation here. Having that you should preserve data on scaling events. A ReplicaSet is used to ensure that a specific number of replicas (copies) of a pod are running at any given time, while a Deployment manages updates to a ReplicaSet by creating a new ReplicaSet with the updated pod template and gradually scaling it up while scaling down the old ReplicaSet. Kubernetes is an open-source platform that automates the deployment, scaling, and management of. To update the deployment, modify the YAML file and run the same command again. Pods created by a StatefulSet have a unique and stable network identity. KEDA will monitor that service and based on the events that occur it will automatically scale your resource out/in accordingly. StatefulSet is the workload API object used to manage stateful applications. 05, 2023 Image: Shutterstock / Built In Kubernetes is a powerful container orchestration tool that provides a variety of resources for managing containerized applications at scale. 5 or later. StatefulSets are used when there is a need for uniqueness. StatefulSet Kubernetes | Understand what StatefulSet in Kubernetes is and how it works Using StatefulSet in practice 🙅🏼♀️ youtu. StatefulSets also guarantees the ordering of the pod deployment and its scaling. you can do that by entering the following command: touch example-statefulset. Elaborate more on this if we should never use Deployment. yaml. But it's important to carefully evaluate whether your database is a good fit for Kubernetes and how best to make it work in a Kubernetes environment. Overall, StatefulSets are a valuable resource in Kubernetes that can help you manage stateful applications with confidence and predictability. In conclusion, Deployment and StatefulSet are two powerful features of Kubernetes that allow you to manage the lifecycle of containerized applications. kind: Service metadata: name: redis labels: app: redis spec: type: ClusterIP ports: - name: redis port: 6379 targetPort. In this article we examined how StatefulSets work, and how they differ from a Deployment. To summarize, we changed db Deployment into a StatefulSet, we added a command that creates MongoDB. What then is the advantage of using StatefulSets?Pic from k8s. Ordering: Kubernetes StatefulSets ensure that each pod is created in a specific order, while Deployments do not. This is important because many stateful applications have data initialization routines to perform, masters to elect, and quorum to achieve. They each have their own sticky identity, which they keep between. StatefulSet is used to manage stateful applications: It manages the deployment and scaling of a set of Pods. Both Pod and Deployment are full-fledged objects in the Kubernetes API. StatefulSets. Background. Parallel pod management tells the StatefulSet controller to launch or terminate all Pods in parallel, and not to wait for Pods to become Running and Ready or completely terminated prior to launching or terminating another Pod. Common applications used with StatefulSets include ZooKeeper, Cassandra,. Welcome to a comprehensive journey into the heart of Kubernetes deployment strategies – StatefulSets and Stateless Deployments. You should delete the deployment and then create new statefulset. See StatefulSet vs. It can appear that StatefulSet is a way to solve at most one instance in a situation with a network partition , but that is mostly in case of a stateful replicated application like e. Kubernetes Replication Controller vs Deployment Deployments are intended to replace Replication Controllers. It is similar to Deployment, but Statefulsets requires a Service Name . Here, in this example we are deploying a standalone. The example topology has a single primary server and multiple replicas, using asynchronous row-based replication. Hint: It starts at FREE. 申请转载. Pods use a persistent volume claim as a request for storage that is matched to a persistent volume by the Kubernetes cluster. have the number of replicas in a text file (e. : Using StatefulSets. a cache or database cluster even though it may solve your specific situation as. StatefulSets with Amazon EFS. 🤝 - LinkedIn - - Threads - - Twitter - (K8s) is an open-source container orchestration system which provides deployments, statefulsets & daemonsets to deploy… 8 min read · Apr 18, 2019 12I want to give my application limited access to get the replicas of different statefulsets (and maybe deployment) and if necessary scale them up or down. It makes sense for Operators to rely on them and benefit from the pod volume mapping handled by Kubernetes. pod之间没有顺序 2. Today, we’ll take a look at some of the same YAML markup, but zero in on StatefulSets instead. When comparing a Deployment vs Replica Set, the former provides the same replication functions (through Replica Sets) and also the ability to rollout changes and roll them back if necessary. StatefulSet is the workload API object used to manage stateful applications. Deploying a MongoDB Database: Here is an example of how to deploy a MongoDB database using a StatefulSet in Kubernetes. Stable, persistent storage. What are StatefulSets and why are they needed? Deployments vs StatefulSets TL;DR. Kubernetes DaemonSet is a great way to manage and deploy applications in a clustered environment. We want to deploy service sets to machine "areas" so that services are running close to resources they manage. Here is a step by step tutorial on how to use StatefulSets and some basic operations on StatefulSets. Understanding ReplicaSet vs. In the last lesson, we skipped over the whys and wherefores of StatefulSets to focus on implementing Secrets. So we will create a headless service (service without endpoints) first. To demonstrate just how pervasive the problem is, one can compare the list of charts using a StatefulSet vs a Deployment. k8s. StatefulSetには以下のような特徴がある。. Whereas the Statefulsets maintain a unique. extensions/created. Create a stateful set. Using the Kubernetes Scheduler, the Deployment Controller runs replicas on any available node with available resources. Currently there are several API groups in use:A StatefulSets provides a persistent identity to the pods that they create and manage. Ordered, automated rolling updates. Ordered deployment, scaling and automated rolling updates. Manages the deployment and scaling of a set of Pods, and provides guarantees about the ordering and uniqueness of these Pods. There are other kinds of workload too, such as DaemonSets and StatefulSets. If you need to use deployment instead of statefulset, just add kind: Deployment to the nodeSpecs. DaemonSets are designed to run background services that are required by the other containers in the cluster, such as logging and monitoring agents, while StatefulSets are used to run stateful applications. Kubernetes provides StatefulSets, a type of controller or workload used to deploy and run stateful applications in a Kubernetes environment. . In order to understand how StatefulSet works, you first need to understand how database clusters work, as well concepts of Kubernets StatefulSet vs Deployment. You may notice two things here: (1) there is only one pod created while we asked for three, and (2) the pod name contains the StatefulSet name. Not all stateful applications scale nicely. As a result, running this example will require an environment based on Kubernetes 1. Apr 6, 2020 at 8:53. podManagementPolicy: "Parallel". Deployments use ReplicaSets as a mechanism to orchestrate Pod creation, deletion, and updates. To summarize, the master-slave pod deployment pattern and the concept of state in a StatefulSet are important for managing stateful applications, such as databases, in a distributed system. This allows you to easily replicate Pods and attach a storage volume to the Pods. in general you should refer to the "Using StatefulSets" in. StatefulSets are Kubernetes resources that allow us to deploy and manage the stateful application. StatefulSets: Orchestrating Stateful Applications. You could even make it a switch like what is done. Let's see a StatefulSet in action and see whether it beings any benefits. As opposed to the Deployment, the StatefulSet creates pods directly. Stable, persistent storage. In this article. com. g. yaml. 1 Answer. It allows you to define the Kubernetes Deployment or StatefulSet that you want KEDA to scale based on a scale trigger. com. Statefulsets are used for databases where the state of the application is the crucial part of the deployment. First sentence in the documentation: "The Horizontal Pod Autoscaler automatically scales the number of Pods in a replication controller, deployment, replica set or stateful set". Similarly, the deployment script. “Hay otro, el ReplicationController pero Kubernetes ahora apunta a Deployment que automáticamente crea ReplicaSets”. Reading Time: 4 minutes In Kubernetes we find different resources for deploying applications such as Deployment Statefulset daemonset In this blog, we will. Amazon DocumentDB (with MongoDB compatibility) is a scalable, highly durable, and fully managed database service for operating mission-critical MongoDB-compatible JSON based workloads. How PVC works in case of statefulsets. But some apps need a stable environment, where objects are created in a known order with fixed names. These can be used to make sure that a pod. support@dzone. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision. This can be done by updating the value of an annotation within the pod template. Some instructions on what kubeadm provides and how to deploy a Kubernetes cluster is. 3343 Perimeter Hill Drive. In summary, StatefulSets are great building blocks for running stateful workloads on Kubernetes. For a typical Kubernetes Pod, it will be managed by a higher-level controller like a Deployment. In practice, StatefulSets are most commonly used to deploy databases (e. StatefulSets - A StatefulSet is similar to a deployment in that one or more identical pods are created and managed. Published on Sep. 4. Pods (and, by extension, containers) are, nevertheless, short-lived entities. Here is a step by step tutorial on how to use StatefulSets and some basic operations on StatefulSets. A pod in a StatefulSet can fail, but the persistent pod identifier will enable. The database and Kubernetes itself run on the same machines. Stable, persistent storage. All three of these are defined via YAML configuration, are created as an object in the cluster, and are then managed on an ongoing basis by a Kubernetes controller. but there is a hick. It manages the deployment and scaling of a set of pods, and provides a guarantee of ordering and uniqueness of the pods. Connect your apps to Copilot. io/v1beta1 metadata: name: deployer. 💡Check out Kubernetes Deployments: The Ultimate Guide to understand more about how Deployments and ReplicaSets are used in a production setting. They function similarly to Deployments but assign a unique identifier to each Pod they encapsulate. For example, you define how many replicas ( pods) of your app you want to run in the. Skaffold is a command line tool from Google that brings automation to the deployment workflow of Kubernetes applications. Just to avoid data corruption if you are changing the replica to more then one. full vs. It should not be confused with vertical scaling, which means allocating. Pods created as part of a StatefulSet are given persistent identifiers that they retain even when they’re rescheduled. 1. If your application is stateless, you should use Deployment and not StatefulSet. If ordering may become important in the future, statefulsets become the obvious route; you can replicate deployment behavior with statefulsets, but not (as easily) in the other direction. Stateful Applications in Kubernetes. Roll back a deployment. 1 Like. Deployment is a resource to deploy a stateless application, if using a PVC, all replicas will be using the same Volume and none of it will have its own state. Kubernetes deployments manage stateless services running on your cluster (as opposed to for example StatefulSets which manage stateful services). warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. Instead you create Deployments and StatefulSets where a controller takes care of that. It dictates the needs of dedicated volumes, unique hostname records, and a specific order of deployment. We will create the “ redis ” namespace then apply the file. This article contains best practices and guidance for running SQL Server containers on Kubernetes with StatefulSets. 2. Now let’s talk about StatefulSets. Before we start discussing the details of this definition, notice that the file actually contains two definitions: the storage class that the StatefulSet is using and the. In addition to declarative scaling, StatefulSets also provide declarative updates, similar to Deployments. This tutorial shows you how to run Apache Cassandra on Kubernetes. In these circumstances you may have to reach for alternative deployment. . You cannot manage to use ReadWriteOnce with deployment because it cannot scale. Both are related to the limited control that deployments provide over how an application runs: Lack of granular control. $ kubectl apply -f secret. Through StatefulSets, each Pod receives a stable, unique identifier, maintaining predictable and orderly deployment, which is indispensable for the. What is the difference between StatefulSet and Deployment? Ans: A StatefulSet acts as a controller in Kubernetes that manages pods just like Deployments. com. 0 with new features and enhancements is available now. StatefulSet vs. be/ha3LjlD6g7g In this Kubernetes. g. Deployment is a resource to deploy a stateless application, if using a PVC, all replicas will be using the same Volume and none of it will have its own state. Then you will be able to set ingress and use it to redirect traffic based on path:. StatefulSets are intended to be used with stateful applications and distributed systems. In this video, we cover Kubernetes Statefulsets in detail. Nashville, TN 37211. A StatefulSet’s YAML manifest defines a template for its Pods. StatefulSetは状態を保持する (ステートフルな)アプリケーションを管理するためのKubernetesオブジェクトだ。. Best Practices for Running Stateful Applications on Kubernetes. StatefulSets + Operators. Download and install a kubectl greater than v1. When you have an app which requires persistence, you should create a stateful set instead of deployment. Identities are defined as: - Network: A single stable DNS and hostname. Read stories about Statefulsets on Medium. Related. For the node affinity we could use node selector. Hi keycloak community, the keycloak operator currently creates the workloads as deployment which means that the pods are replaced by a new ones when they are restarted. 2. 05, 2023 Image: Shutterstock / Built In Kubernetes is a powerful container orchestration tool that provides a variety of resources for managing. , where managing state is a crucial part of the application functionality. StatefulSets are beneficial for apps that need: Steady and persistent storage. My problem is that if I'm writing into Solr during a rolling update of the statefulset I get errors when I reach the deployment of the solr cluster leader. StatefulSets are created in a similar way to Deployment objects. The Deployment controller handles the disposing of pods if they become unhealthy or are no longer needed. Kubernetes. The problem is : a Pod will not be re-created after the Node failure (like a reboot). I have created a statefulset with 3 replicas with dynamic persistent volume claim with access mode as "Readwriteonce". Compare Kubernetes StatefulSet vs. Deployment is best suited for stateless applications while StatefulSet is best suited for stateful applications. Like. The database and Kubernetes itself run on the same machines. Kubernetes StatefulSet simply explained | Deployment vs StatefulSet. Kubernetes Deployments Vs StatefulSets. 1. Stable, persistent storage. To provision a static PV for a Deployment workload, the procedure is as follows: Note: The examples in this section. In statefulset pod`s names are in sequential order on the other hand in. StatefulSet. As far as a Deployment is concerned, Pods are interchangeable. To create the deployment, run the following command: $ kubectl apply -f deployment. Introduced in Kubernetes v1. In the last lesson, we skipped over the whys and wherefores of StatefulSets to focus on implementing Secrets. Author: Peter Schuurman (Google) Kubernetes v1. StatefulSetCondition describes the state of a statefulset at a certain point. e. So you will have a statefulset definition similar to this: apiVersion: apps/v1 kind: StatefulSet metadata: name: myset spec: replicas: 3. In case deployments is select,. yml service/redis-ss created. Deployments vs StatefulSets vs DaemonSets. They provide stable pod identity, persistent per pod storage and ordered graceful deployment, scaling and rolling updates. deployment vs. What is Statefulsets? A StatefulSet is a controller that helps you deploy and scale groups of Kubernetes pods. 喜欢. We will use Redis as Statefulsets for our Vote application. one replica pod will go down and the updated pod will come up. system (system) Closed March 11, 2022, 6:44am 3. Unlike in a standard Deployment, StatefulSets are aware that your application is stateful and will therefore treat it accordingly. There is confusion amongst Kubernetes users as to when one should make a Deployment with a PVC and when they should use a StatefulSet with a PVC. $ kubectl create ns redis $ kubectl apply -f redis-service. Statefulsets and Operators are not that similar. Manages the deployment and scaling of a set of Pods, and provides guarantees about the ordering and uniqueness of these Pods. Their purpose is to keep a set of identical pods running and upgrade them in a controlled way. Unlike in a standard Deployment, StatefulSets are aware that your application is stateful and will therefore treat it accordingly. References: The first referred URL (k8s SS) states explicitly: StatefulSets currently require a Headless Service to be responsible for the network identity of the Pods. These can be used to make sure that a pod. 2. ReplicaSet vs. We recommend deploying one SQL Server container (instance) per pod in Kubernetes. This is the expected behavior. There are many benefits. Using StatefulSets to run Stateful applications. StatefulSet is also a Controller but unlike Deployments, it doesn’t create ReplicaSet rather itself. When we scale down StatefulSets, the last pod gets deleted. By default, Kubernetes deployment rollout history remains in the system so that you can roll back at any time. To understand about Statefulset you need to know how generally database deployments. Stateful applications save data to persistent disk storage for use by the server, by clients, and by other applications. Pods hold the containers for an application. With Deployment, a failed pod will be migrated to other worker. What are some pros and cons of parallel podManagementPolicy over OrderedReady podManagementPolicy in StatefulSets? This totally depends on your application. Remember that the default. Restarting a Rollout. However, unlike a Deployment, a StatefulSet maintains a sticky identity (i. StatefulSets. Furthermore assigning more CPU requests to a pod does not automatically mean that the container/application will. Stateful vs. It has to match the labels assigned to the pods. Deployments use ReplicaSets as a mechanism to orchestrate Pod creation, deletion, and updates. While a StatefulSet keeps a unique identity for each Pod it manages. yaml file first, so that even if our pod restarts or gets deleted, our data won. Deployment. These rules allow you to configure that a set of workloads should be co-located in the same defined topology; for example, preferring to place two related Pods onto the same node. The helm docco provides a Job example run post-install via annotations. Using volumeClaimTemplates, each replica will get a unique PersistentVolumeClaim with statefulset whereas all replicas would share the PersistentVolumeClaim with a deployment. StatefulSet est l'objet de l'API de charge de travail utilisé pour gérer des applications avec état (stateful). This allows Pods to maintain individual state that's separate from their neighbors in the set. Kubernetes Statefulsets are used to deploy Stateful Applications. your state), so it cannot act as fast as Deployment (stateless) apps can. Example. This is useful in cases where the deployment process is stalled or requires adjustments. This binded volume is claiming ressources through the persistent volume claim. I didn't really talk about (3) and (4) but that can also help with clusters as you can tell the first one to deploy to become the master and the next one find the first and treat it as master, etc. Case of statefulsets: name of pod initially: mongo-0 name of pod after it gets deleted & recreated: mongo-0 Here, pod name remained the same. Kubernetes (K8s)is an open-source container orchestration system. [Sonarqube statefulset] Provide option to switch between statefulset vs deployment for sonarqube. You can also learn how to Deploy a stateful application. Both Deployment and StatefulSet try to maximize the availability - but StatefulSet cannot sacrifice data consistency (e. Kubernetes deployment persistent volumes are used to create a layer of abstraction between pods and their provisioned storage, allowing each to be managed separately. In general you cannot convert a StatefulSet into a Deployment unless you only plan on. There were no major changes to the API Object, other than the community selected name, but we added the semantics of “at most one. currently we scaled one of our statefulsets to have 11 replicas. Deployment is used to deploy stateless applications. When deployed with only 1 replica, the differences with a Deployment are small (but there are differences, for example a Deployment's Pod would eventually restart on another node if the node on which it was running stops working, a StatefulSet Pod will require manual intervention). Rolling Update Strategy. In this example, a custom Cassandra seed provider lets the database discover new Cassandra instances as they join the Cassandra cluster. io/pod-name: <POD_NAME>. Suppose you see the pods using the kubectl get pods command.