首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Kubernetes ConfigMaps的应用程序控制文件

使用Kubernetes ConfigMaps的应用程序控制文件
EN

Stack Overflow用户
提问于 2018-10-12 20:12:03
回答 1查看 1.9K关注 0票数 3

我想问,在下面的场景中,为我的应用程序传递Config文件的首选方法或最佳方式是什么。

我的应用程序是在NodeJS上开发的,我有一个名为"config.json“的JSON文件,它包含应用程序的所有配置参数,即AD、SMTP、DB等等。

代码语言:javascript
运行
复制
{
  "slackIncomingHook": [
    {"HookUrl": "<<HookUrl>>"}
  ],
  "wikiPage": {
    "url": "<<url>>",
    "timeFrame" : "week"
  },
  "database": {
    "dbName": "DBNAME",
    "dbHostName": "mongodb://username:password@<<IP Address>>:27017/"
  }
}

现在,我想使用Kubernetes来部署这个项目,我希望在运行时将这些信息传递给它,或者在使用configMaps构建集群时以某种方式合并。

此项目的DockerFile包括复制两个独立/依赖的项目、设置ENV、NPM安装和公开端口。

PS -码头形象被推到我的私人仓库。

专家建议将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-13 02:41:12

你可以创建一个ConfigMap,也可以创建一个秘密。

代码语言:javascript
运行
复制
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编码的

代码语言:javascript
运行
复制
apiVersion: v1
kind: Secret
metadata:
  name: test-secret
  namespace: default
type: Opaque
data:
  AppConfig.json: |-
     BASE_64_ENCODED_JSON

在部署中,将机密/配置添加到卷节点,并将卷挂载和mountPath设置为config.json路径。

代码语言:javascript
运行
复制
volumeMounts:
    - name: test-secretm
      mountPath: PATH_OF_YOUR_CONFIG_JSON

volumes:
      - name: test-secretm
        secret:
            secretName: test-secret
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52786405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档