簡體   English   中英

訪問機密作為 Kubernetes 中的環境變量

[英]Access secrets as environment variables in Kubernetes

我使用 Secrets 作為環境變量,我想知道您將如何在我的應用程序的客戶端調用密鑰? 我正在運行 Node.js 應用程序並希望使用 Secrets 環境變量。 我通常會通過在本地執行process.env.VARIABLE_NAME來調用我的環境變量,因為我有一個 env 文件,但我知道當部署到 Kubernetes 時,它與環境變量的秘密不同。

有人可以幫我嗎? 謝謝!

secret 創建的環境變量將讀取為傳遞給 pod 的任何其他環境變量。

因此,如果您創建一個秘密,例如:

kubectl create secret generic user --from-literal=username=xyz

並將其傳遞給 pod:

env:
- name: USERNAME
  valueFrom:
    secretKeyRef:
      name: user
      key: username

它將作為環境變量傳遞給 pod。 您可以通過在 pod 中執行printenv USERNAME來檢查它,output 將與此類似:

kubectl exec -it secret-env -- printenv USERNAME
xyz

多個秘密可以作為環境變量傳遞給 pod。

在弄清楚如何使用 Secrets 作為環境變量幾天之后,我想出了如何在我的 nodejs 應用程序中引用它!

在我以正常方式調用環境變量之前, process.env.VARIABLE_NAME ,但是當我將 Secrets 作為環境變量時,這對我不起作用。 為了獲得變量的值,我必須在我的 Javascript 文件中執行process.env.ENVIRONMENTAL_VARIABLES_USERNAME ,這對我有用! 其中ENVIRONMENTAL_VARIABLESname ,而USERNAMEkey :請參閱我的其他問題以進行澄清: Environmental variables returned undefined for Kubernetes deployment

不確定這是否對其他人有幫助,但這就是我設法在我的 nodejs 應用程序中訪問我的秘密的方式!

暫無
暫無

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

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