6 min read
The basic idea behind a StatefulSet is to be able to manage stateful workloads on Kubernetes, unlike Deployments, creating a unique identity for each Pod using a common spec.
With this in mind we might just copy the Pod's template from a Deployment to a StatefulSet object to make it stateful, but it's not always quite that simple.
21/02/2022
Read more...2 min read
Maybe the most common object used for deploying applications on Kubernetes is the Deployment object. It is intended to provide declarative updates for Pods at a controlled rate.
With a Deployment we are setting the desired state of a ReplicaSet. The Deployment controller will take the appropriate actions to adjust the ReplicaSet so it has the correct amount of Pods
09/08/2021
Read more...2 min read
To update a Deployment objects we can choose between two built-in strategies used to replace old Pods by new ones: Recreate and RollingUpdate
Let's see the differences between them
04/08/2021
Read more...3 min read
On Kubernetes, scaling an application is just a matter of defining how many replicas we want:
$ kubectl scale deployment/demo --replicas=5
deployment.apps/demo scaled
Having to manually adjust the number of replicas is not really practical. Here's where the HorizontalPodAutoscaler (HPA) comes into play
01/07/2021
Read more...2 min read
When performing rolling updates we can see it's history using kubectl rollout history:
$ kubectl rollout history deploy pet2cattle
deployment.apps/pet2cattle
REVISION CHANGE-CAUSE
100 <none>
101 <none>
102 <none>
103 <none>
104 <none>
105 <none>
106 <none>
107 <none>
109 kubectl scale deployment/pet2cattle --replicas=2 --record=true
110 kubectl scale deployment/pet2cattle --replicas=5 --record=true
111 kubectl scale deployment/pet2cattle --replicas=1 --record=true
If have any problem with the update we can undo and update using kubectl rollout undo
25/05/2021
Read more...