Kubernetes仅通过更改环境变量进行滚动更新
我想在Kubernetes中仅通过更改env变量来执行滚动更新。类似于将env变量从Kubernetes仅通过更改环境变量进行滚动更新,kubernetes,Kubernetes,我想在Kubernetes中仅通过更改env变量来执行滚动更新。类似于将env变量从CACHE_SIZE=10更改为 CACHE_SIZE=100 而基础图像是相同的 问题:我不想删除pod和服务。只想用新的env变量重新启动所有的pod 更新:要通过kubernetes API更改env变量部署系统对提供的整个pod模板进行校验,触发对任何更改、env var或其他内容的滚动更新。部署系统对提供的整个pod模板进行校验,触发对任何更改的滚动更新,env var或其他命令。您可以使用以下命令
CACHE_SIZE=10
更改为
CACHE_SIZE=100
而基础图像是相同的
问题:我不想删除pod和服务。只想用新的env变量重新启动所有的pod
更新:要通过kubernetes API更改env变量部署系统对提供的整个pod模板进行校验,触发对任何更改、env var或其他内容的滚动更新。部署系统对提供的整个pod模板进行校验,触发对任何更改的滚动更新,env var或其他命令。您可以使用以下命令重新启动部署
kubectl-n您的名称空间卷展栏重新启动部署/您的部署
这将继续使用相同的图像标记,但将使用新的ENV变量重新启动/重新创建pod,前提是您正在从
Secrets
或ConfigMaps
读取pod。您可以使用以下命令重新启动部署:
kubectl-n您的名称空间卷展栏重新启动部署/您的部署
这将继续使用相同的图像标记,但将使用新的环境变量重新启动/重新创建pod,前提是您正在从Secrets
或ConfigMaps
读取pod
问题:我不想删除pod和服务。只是想重新开始
所有具有新env变量的POD
首先,从字面意义上讲,Pod重启是不存在的。这听起来可能很混乱,因为您经常听到/阅读Pod重启的相关信息,例如在Pod
restartPolicy
的上下文中。Pod被设计成相对短暂的一次性实体,重新启动Pod
基本上意味着重新创建它
无论您如何提供env变量,无论是使用您的Pod
读取的ConfigMap,还是直接在Deployment
定义中的Pod
模板中,都需要重新创建Pod
。它们在技术上是相同的Pods
,基于相同的模板、相同的图像等。但它们将是具有自己独特名称的全新实例
至于服务
您不必删除它。在Pod
模板规范中所做的更改和重新创建不会影响服务
。当重新创建pod
以重新读取更改的机密
或ConfigMaps
时,情况相同
问题:我不想删除pod和服务。只是想重新开始
所有具有新env变量的POD
首先,从字面意义上讲,Pod重启是不存在的。这听起来可能很混乱,因为您经常听到/阅读Pod重启的相关信息,例如在Pod
restartPolicy
的上下文中。Pod被设计成相对短暂的一次性实体,重新启动Pod
基本上意味着重新创建它
无论您如何提供env变量,无论是使用您的Pod
读取的ConfigMap,还是直接在Deployment
定义中的Pod
模板中,都需要重新创建Pod
。它们在技术上是相同的Pods
,基于相同的模板、相同的图像等。但它们将是具有自己独特名称的全新实例
至于
服务
您不必删除它。在Pod
模板规范中所做的更改和重新创建不会影响服务
。当重新创建pod
以重新读取更改的机密
或ConfigMaps
时,情况相同。您面临的问题是什么?请详细说明。您如何更改此环境变量?它是部署模板的一部分吗?或者阅读配置图或机密?从kubernetes API“从kubernetes API”是什么意思。基本上,每次执行kubectl
命令都会对kubernetes API进行某种调用。kubernetes rest API调用问题是什么?您面临的问题是什么?请详细说明。您如何更改此环境变量?它是部署模板的一部分吗?或者阅读配置图或机密?从kubernetes API“从kubernetes API”是什么意思。基本上,kubectl
命令的每次执行都会对kubernetesapi.kubernetesrestapi调用进行某种调用