When I am running the below command to record the change cause –
kubectl set image deployment.v1.apps/deploy1 nginx=nginx:1.16.0 --record
Then it is recording the change cause but showing that –record has been deprecated.
Flag --record has been deprecated, --record will be removed in the future
deployment.apps/deploy1 image updated
And when I run the command kubectl set image deployment.v1.apps/deploy1 nginx=nginx:1.16.0
without –record then it is not recording the change cause.
So my question is if the --record
has been deprecated and with be removed in the future then what is easy alternative of that to record change? ( I mean to record the command using which I have done rollout ).
Thanks in advance.
2
Answers
Not sure if it’s deprecated or will be fully.
You can use the annotate to manage the history same way.
Create the deployment
kubectl create deployment nginx –image=nginx:1.16.0 –replicas 1
check the history
kubectl rollout history deployment nginx
update the image on deployment
kubectl set image deployment nginx nginx=nginx:latest
Annotate the deployment now and create the history
kubectl annotate deployment nginx kubernetes.io/change-cause="version change to 1.16.0 to latest" –overwrite=true
Check the history
kubectl rollout history deployment nginx
The best way to keep a clean documented history of your rollouts is using:
You can use for example:
CHANGE-CAUSE is copied from the Deployment annotation kubernetes.io/change-cause to its revisions upon creation.
Then you would get a message like this when revisiting the history.
You can also find the information in the documentation under Workloads -> Resources -> Resources -> Checking Rollout History of a Deployment.
Kubernetes Documentation