Arghya Roy
Arghya Roy

Reputation: 569

--record has been deprecated, then what is the alternative

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

Answers (2)

Harsh Manvar
Harsh Manvar

Reputation: 30110

Not sure if it's deprecated or will be fully.

You can use the annotate to manage the history same way.

  1. Create the deployment

    kubectl create deployment nginx --image=nginx:1.16.0 --replicas 1
    
  2. check the history

    kubectl rollout history deployment nginx
    
  3. update the image on deployment

    kubectl set image deployment nginx nginx=nginx:latest
    
  4. 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
    
  5. Check the history

    kubectl rollout history deployment nginx
    

Upvotes: 23

Manfredovik
Manfredovik

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.

enter image description here

You can also find the information in the documentation under Workloads -> Resources -> Resources -> Checking Rollout History of a Deployment.

Kubernetes Documentation

Upvotes: 8

Related Questions