簡體   English   中英

如何在 kube.netes 中設置/更新運行 pod 的環境變量

[英]how to set/update enviroment variable for running pods in kubernetes

有沒有辦法為部署中所有正在運行的env更新環境變量? 我遇到了這篇文章,但仍然找不到解決方案。 我嘗試為kubectl set env deployment/<deployment-name> -n <namespace> foo=bar之類的部署設置一些環境變量,但執行printenv | grep foo printenv | grep foo在容器內什么也沒有。 有提到使用configmap做同樣的事情,但我找不到一個例子,我可以在其中為配置 map 創建一個鍵值並在 pod 中訪問該表單?

不,無法更新 Pod 上的環境變量。 一旦創建了 pod,該部分就是不可變的。

您應該考慮使用 ReplicaSets、Deployments 或 StatefulSets,而不是直接創建 Pod。 上層對象旨在控制 Pod 生命周期,可能會為您簡化事情。

正如 MZM 所建議的那樣,您可以使用 ConfigMaps,盡管我不確定新密鑰是否會實際顯示在您的環境中以啟動新進程(在舊的 k8s 版本中,對 configmaps/secrets 的任何更改都需要重新啟動 pod),即使現在新的進程環境會反映這些變化,假設最近的 k8s 運行時:可以肯定的是任何正在運行的進程都不會采用這些,你仍然需要重新啟動它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM