Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如果在部署后更改ConfigMap键值,是否需要重新启动使用ConfigMap值的应用程序的部署?_Kubernetes - Fatal编程技术网

Kubernetes 如果在部署后更改ConfigMap键值,是否需要重新启动使用ConfigMap值的应用程序的部署?

Kubernetes 如果在部署后更改ConfigMap键值,是否需要重新启动使用ConfigMap值的应用程序的部署?,kubernetes,Kubernetes,我有一个使用envVar环境变量的示例nodejs应用程序,我已经在kubernetes集群上部署了它。我通过配置映射传递env变量 一旦部署完毕,当pods全部运行时,如果我用新值更改配置映射。在此之后是否需要重新部署我的nodejs应用程序 configmap.yaml kind: ConfigMap apiVersion: v1 metadata: name: app1-config namespace: default data: envVal: '12345' # init

我有一个使用envVar环境变量的示例nodejs应用程序,我已经在kubernetes集群上部署了它。我通过配置映射传递env变量

一旦部署完毕,当pods全部运行时,如果我用新值更改配置映射。在此之后是否需要重新部署我的nodejs应用程序

configmap.yaml

kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '12345' # initial value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4
kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '56789' # changed value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4
更新configmap.yaml后

kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '12345' # initial value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4
kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '56789' # changed value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4
configmap.yaml

kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '12345' # initial value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4
kind: ConfigMap
apiVersion: v1
metadata:
  name: app1-config
  namespace: default
data:
  envVal: '56789' # changed value
  apiUrl: http://a4235a7ee247011e8aa6f0213eb6eb14-1392003683.us-west-2.elb.amazonaws.com/myapp4

当您将ConfigMap中的密钥作为环境变量装载时,需要重新启动pod才能使更改生效


当您将其作为卷装入系统时,卷中的文件将自动更新。更新不是立即进行的,在检查更改/执行更新之前,
kubelet
中配置了一些TTL。但它通常相当快。但是,这仍然取决于应用程序如何从文件中加载数据——当文件更改时,应用程序是否能够动态更新自身,或者这些数据是否在启动时仅加载一次。

您是否知道如何将密钥装载为卷,以便nodejs客户端使用它来获取服务器的url(服务网址),提前感谢