Reputation: 569
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 records the change cause but shows 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 does not record the change cause.
So my question is if the --record
has been deprecated and with be removed in the future then what is the easy alternative of that to record change? ( I mean to record the command using which I have done rollout ).
Thanks in advance.
Upvotes: 22
Views: 9280
Reputation: 30110
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
Upvotes: 23
Reputation: 138
The best way to keep a clean documented history of your rollouts is using:
kubectl annotate --help
You can use for example:
kubectl annotate deployment/nginx-deployment kubernetes.io/change-cause="image updated to 1.16.1"
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.
Upvotes: 8