我有一个使用 envVar 环境变量的示例 nodejs 应用程序,我已将它部署在 kubernetes 集群上。我正在通过配置映射传递 env 变量。
一旦部署并且当 Pod 全部运行时,如果我使用新值更改我的配置映射。在此之后是否需要重新部署我的 nodejs 应用程序?
配置映射文件
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
Run Code Online (Sandbox Code Playgroud)
更新 configmap.yaml 后
配置映射文件
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
Run Code Online (Sandbox Code Playgroud)
当您从 ConfigMap 挂载密钥作为环境变量时,您需要重新启动 pod 以使更改生效。
当您将它作为卷挂载到系统中时,卷中的文件将自动更新。更新不是即时的,在kubelet检查更改/执行更新之前配置了一些 TTL 。但它通常很快。然而,它仍然取决于您的应用程序如何从文件中加载数据 -当文件更改时它是否能够即时更新自己,或者这些数据是否仅在启动时加载一次。
| 归档时间: |
|
| 查看次数: |
2284 次 |
| 最近记录: |