3 min read
On Kubernetes, when we update objects such as a deployment or a daemonset we can check it's rollout history using kubectl rollout history:
$ kubectl rollout history deploy pet2cattle
deployment.apps/pet2cattle
REVISION CHANGE-CAUSE
21 <none>
22 <none>
23 <none>
24 <none>
26 <none>
28 <none>
29 <none>
30 <none>
32 <none>
33 <none>
34 <none>
By default we won't be able to see a change cause, but we can fill this gap by setting the command that triggered the update adding the --record flag as follows:
$ kubectl scale deployment/pet2cattle --replicas 2 --record
deployment.apps/pet2cattle scaled
18/05/2021
Read more...2 min read
There are several strategies available for updating a deployment on Kubernetes, by default it will trigger a rolling update: It will deploy the new version before tearing down the old one so there's no downtime associated to it.
Let's see how we can see this process by applying an update to a deployment:
$ kubectl apply -f deployment.yaml
17/05/2021
Read more...2 min read
To change a container's image we can:
Let's check how to use kubectl set image
14/05/2021
Read more...2 min read
When we want to access services that run inside a kubernetes cluster that are not supposed to be normally accessed we can temporally run kubectl port-forward to forward traffic to our workstation. To be able to use it, the node must have socat installed.
13/05/2021
Read more...3 min read
With terraform taint we are telling terraform that a particular object has become degraded so it will propose to replace it in the next plan. This command is going to be deprecated on terraform v1.0 since now we have the -replace flag on the apply command
$ terraform taint kubernetes_namespace.pet2cattle_namespace
Acquiring state lock. This may take a few moments...
Resource instance kubernetes_namespace.pet2cattle_namespace has been marked as tainted.
Releasing state lock. This may take a few moments...
12/05/2021
Read more...