如何为kubernetes Pod env变量应用补丁/放置rest api

如何为kubernetes Pod env变量应用补丁/放置rest api,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我试图使用补丁和Put API来修改podspec,我能够用补丁和Put API更新容器图像版本。 但是我无法修改pod的环境变量,我想更新环境变量,请在这里提供帮助。随附的是图像配线架不得更改除规格容器[*]以外的字段。图像,规格初始容器[*]。图像,规格活动死线秒数或规格容差(仅对现有容差进行添加) 对于pod,Env变量是不可变的,因为此信息是在创建pod时设置的。因此,您需要的只是使用部署而不是Pod来实现 在部署中更新env变量时,将重新创建所有POD以进行更改 设置/更改变量的一个更

我试图使用补丁和Put API来修改podspec,我能够用补丁和Put API更新容器图像版本。
但是我无法修改pod的环境变量,我想更新环境变量,请在这里提供帮助。随附的是图像

配线架不得更改除
规格容器[*]以外的字段。图像
规格初始容器[*]。图像
规格活动死线秒数
规格容差
(仅对现有容差进行添加)

对于pod,Env变量是不可变的,因为此信息是在创建pod时设置的。因此,您需要的只是使用部署而不是Pod来实现

在部署中更新env变量时,将重新创建所有POD以进行更改

设置/更改变量的一个更简单的方法是使用


如果没有代码、日志和/或错误消息,很难判断您正在尝试做什么以及实际发生了什么。请考虑添加它们。在大多数情况下,您不能编辑POD,只删除和重新创建它们。你通常不应该直接使用豆荚;更高级别的对象(如部署)通常是更好的选择。如何通过修补程序和放置更新容器映像版本?kubectl set env pod/test LOG_level=ERROR这不起作用。我们不能更改pod env变量吗?我更新了我的答案,解释了为什么它不适用于pod。我得到以下错误:错误:未能将env更新修补到pod模板:pod“测试”无效:规范:禁止:pod更新不能更改除
spec.containers[*]以外的字段。image
spec.initContainers[*]。image
spec.activeDeadlineSeconds
spec.tolerations
(仅对现有的容差进行添加)是的,发生这种情况是因为您正在尝试修补一个pod,正如我在回答中解释的,您需要使用一个替代pod。好的,kubectl replace-f testPod.yaml——强制此命令工作并替换Pod的所有修改内容。对于Replace,使用PUT-restapi。我需要传递什么参数来执行PUT restapi的强制替换
kubectl set env deployment/test LOG_LEVEL=ERROR