[英]Application Config file using Kubernetes ConfigMaps
我想問一下,在以下場景下,為我的應用程序傳遞Config文件的首選方式或最佳方式是什么。
我的應用程序是在NodeJS上開發的,我有一個名為“config.json”的JSON文件,其中包含我的應用程序的所有配置參數,即AD,SMTP,DB等。文件的一瞥就像。
{
"slackIncomingHook": [
{"HookUrl": "<<HookUrl>>"}
],
"wikiPage": {
"url": "<<url>>",
"timeFrame" : "week"
},
"database": {
"dbName": "DBNAME",
"dbHostName": "mongodb://username:password@<<IP Address>>:27017/"
}
}
現在我想使用Kubernetes部署這個項目,我想在運行時傳遞這些信息,或者在使用configMaps構建集群時以某種方式合並。
我的這個項目的DockerFile包括復制兩個獨立/依賴項目,設置ENV,NPM安裝和暴露PORTS。
PS - Docker Image被推送到我的私人存儲庫。
專家建議將受到高度贊賞。
你可以創建一個ConfigMap或一個秘密例如
apiVersion: v1
kind: ConfigMap
metadata:
name: test-config
namespace: default
data:
AppConfig.json: |-
{
"slackIncomingHook": [
{"HookUrl": "<<HookUrl>>"}
],
"wikiPage": {
"url": "<<url>>",
"timeFrame" : "week"
},
"database": {
"dbName": "DBNAME",
"dbHostName": "mongodb://username:password@<<IP Address>>:27017/"
}
}
您也可以創建機密,因為它們是base64編碼的
apiVersion: v1
kind: Secret
metadata:
name: test-secret
namespace: default
type: Opaque
data:
AppConfig.json: |-
BASE_64_ENCODED_JSON
在部署中,將secret / config添加到卷節點並將卷裝入和mountPath設置為config.json的路徑。
volumeMounts:
- name: test-secretm
mountPath: PATH_OF_YOUR_CONFIG_JSON
volumes:
- name: test-secretm
secret:
secretName: test-secret
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.