- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想问一下,在以下情况下,为我的应用传递配置文件的首选方式或最佳方式是什么。
我的应用程序是在 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 镜像被推送到我的私有(private)存储库。
非常感谢专家的建议。
最佳答案
您可以创建 ConfigMap 或 Secret,例如
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/"
}
}
你也可以创建 secret ,因为它们是 base64 编码的,所以
apiVersion: v1
kind: Secret
metadata:
name: test-secret
namespace: default
type: Opaque
data:
AppConfig.json: |-
BASE_64_ENCODED_JSON
在部署中,将 secret/config 添加到 volumes 节点,并将 volume mounts 和 mountPath 设置为您的 config.json 的路径。
volumeMounts:
- name: test-secretm
mountPath: PATH_OF_YOUR_CONFIG_JSON
volumes:
- name: test-secretm
secret:
secretName: test-secret
关于docker - 使用 Kubernetes ConfigMaps 的应用程序配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52786405/
我有一个示例 Nodejs 应用程序,它使用 envVar 环境变量,我已将其部署在 kubernetes 集群上。我通过配置映射传递环境变量。 一旦部署并且当 Pod 全部运行时,如果我用新值更改我
部署 spring 应用程序仅适用于默认命名空间。将相同的应用程序部署到其他命名空间失败,并显示以下错误: 我注意到这与默认命名空间中的服务(名为:Kubernetes)有关,该命名空间的 clust
每 this spec在 github 和这些 helm instructions我正在尝试使用以下语法升级 Datadog 的 Helm 安装: helm upgrade datadog-monit
有谁知道如何让 Kubernetes 部署在 configMap 更改时自动更新? 最佳答案 不幸的是,没有为此内置任何东西。您使用了 helm 标签,因此对于 Helm,您可以通过将呈现的 conf
如何在不创建的情况下从目录生成 ConfigMap? 如果我使用: $ kubectl create configmap my-config --from-file=configuration/ -o
我的 kubernetes 版本是 1.10.4。 我正在尝试为 java keystore 文件创建一个 ConfigMap: kubectl create configmap key-config
我正在尝试使用 Kube-Prometheus-Stack helm chart https://github.com/prometheus-community/helm-charts/tree/ma
k8s 1.2 部署 locally, single-node docker 难道我做错了什么?这对其他人有用还是在我的 k8s 部署中出现问题? 按照 ConfigMaps 指南中的示例,/etc/
我们在 AKS 群集中部署了一个镜像,我们需要在部署期间使用 configmaps 更新其配置条目。 配置文件有以下键,我们试图在不替换整个文件的情况下替换“ChildKey”的值 - { "Pa
我有一个从文件创建的configMap: kubectl create configmap ssportal-apache-conf --from-file=ssportal.conf=ssporta
我们有一个旧的Java应用程序,几乎没有属性文件。我们正在做一个POC,以使用Helm图表将其部署到Kubernetes集群中。到目前为止,我们通过复制属性文件中的内容来手动创建configmap。如
我有一个 Kubernetes 部署,它使用 ConfigMap 和一些经常更新的配置。目前我必须手动更新这个配置,通过在我的本地机器上运行一个脚本来更新 ConfigMap kubectl . 有没
是否可以将 configMap 值用于诸如 containerPort 或 targetPort 之类的端口值? 这是它如何工作的可能示例: apiVersion: extensions/v1beta
所以我有一个configmap config.json { "apiUrl": "http://application.cloudapp.net/", "test": "1232" } 称为“连续部署
我使用 kubectl 创建了 ConfigMap,我也可以使用以下命令查看它: kubectl get cm 我只是好奇 kubernetes 在集群中存储这些数据/信息的位置?它是否存储在等中?如
我有关于 configmap 的文档: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap
虽然 resourceQuotas可能会限制命名空间中配置映射的数量,是否有任何此类选项可以限制单个配置映射的大小? 我不希望某些用户开始将大型文本文件作为配置映射上传。 ConfigMap etcd
我有一个 Spring Boot 服务,目前使用 .properties 文件使用 spring @Value 注释来使用变量。最近我们一直在将Spring Boot服务迁移到K8集群。这意味着,我们
我创建了使用非 root 用户运行的镜像,但是当我对卷使用 configmap 时,卷附带的文件是 root 用户。我想更改用户,但我不知道如何更改用户。 我通过 google 和 stackover
有谁知道什么是 configmap 缓存? 尝试在此处调试 failed to sync configmap cache 错误。 最佳答案 来自文档 here The kubelet uses its
我是一名优秀的程序员,十分优秀!