Search code examples
kuberneteskubectl

kubectl delete pod vs set env


I can see that both kubectl delete pod and kubectl set env will restart. I would like to know the best practice to be followed, is there any advantage of using set env

Other than these two options, is there any other better option to restart a pod?


Solution

  • Although your question is not really clear, I believe that you are now using deployment or other types of replica set to spawn the pods.

    So, neither kubectl delete pod nor kubectl set env are the correct one to restart all the replicas in the Kubernetes. The proper way to restart all the pod under a replica set is kubectl rollout restart <type-of-replica-set>/<name>.

    But kubectl delete pod and kubectl set env still work by seeing the conclusion only. Here are the reasons.

    kubectl delete pod will reduce the number of desired pods for your replica set. The replica set controller will reconcile and spawn a new pod in order to fulfill your desired number defined.

    kubectl set env is used for updating the environment variable in the specification. So, once you run the command, the whole version in the replica set is bumped. The controller will reconcile and try to spawn a new set of pods for you.

    Eventually, both of the commands can lead you to the restart of the pods. But the commands are not designed for restart.