我正在嘗試將 JSON 格式的 configMap 映射到 Kubernetes 中的 docker 映像我正在使用 config npm 包來獲取配置。
我的想法是我將在 /config 目錄中有一個檔案 development.json ,配置包將從那里獲取它。這一切都在本地主機中作業。組態檔的名稱與 NODE_ENV 變數相同,我也在 deployment.yaml 中設定
我正在使用默認命名空間
這是 configMap 的開始(我可以看到它是在 google kubernetes 中創建的)
我正在運行 ls 是配置目錄,以查看 development.json 檔案是否已掛載但不是。我希望 /config 被替換并且只包含 development.json 檔案
我也嘗試過使用 subPath 引數,但結果相同
我究竟做錯了什么 ?我是否應該在安裝了 configMap 的事件中看到。除了我洗掉 configMap 并嘗試進行掛載外,沒有任何日志,所以我認為掛載正在發生
apiVersion: v1
kind: ConfigMap
metadata:
name: config-development
namespace: default
data:
development.json: |
{
"production": false,
這是坐騎:
volumes:
- name: config-volume
configMap:
name: config-development
containers:
- name: salesforce-compare-api
image: XXXX
command: ["ls"]
args: ["config", "-la"]
imagePullPolicy: Always
env:
- name: NODE_ENV
value: "development"
volumeMounts:
- name: config-volume
mountPath: /config/development.json
uj5u.com熱心網友回復:
通常,當 configmap 無法掛載時,pod 甚至都不會啟動。因此,它啟動的事實表明它已安裝。
無論如何,您的 volumeMounts 看起來都有問題。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
這導致完整的 configmap 被掛載到名為 development.json 的檔案夾中,而您實際上只想掛載一個檔案。
為此使用子路徑。
volumeMounts:
- name: config-volume
mountPath: /config/development.json
subPath: development.json
也就是說,如果容器內的 config 檔案夾為空,您還可以洗掉子路徑并將 configmap 掛載到 /config 目錄,因為它不會覆寫任何重要的東西。
volumeMounts:
- name: config-volume
mountPath: /config
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/457705.html
標籤:Kubernetes 配置图
上一篇:無法讓kubectl在minikube中運行燒瓶應用程式
下一篇:按命名空間查找資源
