Hi , are we not allowed to set/change the env variables on running pod using imp . . .

Mayur Sharma:
Hi , are we not allowed to set/change the env variables on running pod using imperative commands?

In configMap practice lab, Question 5, I am trying to change the environment variable on running pod using below command and getting the error,

root@controlplane:~# kubectl set env pod/webapp-color APP_COLOR=green
error: failed to patch env update to pod template: Pod “webapp-color” is invalid: spec: Forbidden: pod updates may not change fields other than spec.containers[*].image, spec.initContainers[*].image, spec.activeDeadlineSeconds or spec.tolerations (only additions to existing tolerations)

As per the Kubectl command reference, I see examples for deployment but not for pods

I think you can not edit running pod definition. You have to recreate it. I will also watch out for other’s response.

Mayur Sharma:
@Mayank AS of now, I have saved the output of get, update yaml, delete existing, create new one.

thats correct. I do the same.

Himanshu Sharma:
It’s by design you can not edit a running pod.

Edit a POD
Remember, you CANNOT edit specifications of an existing POD other than the below.
• spec.containers[].image
• spec.initContainers[
• spec.activeDeadlineSeconds
• spec.tolerations

Source: lecture 39

Mayur Sharma:
Thanks all for the comments.

I asked this doubt as there is a kubernetes documentation to set the env variables for deployments and RS,

May be the reason is that these high level objects always restart the pod in case of change.
It’s feed in my mind now :slight_smile: