问题标签 [configmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - ConfigMap 不适用于 application.properties 但适用于 application.yml
k8s 新手。
我在配置映射中有多个配置文件,并希望我的应用程序根据 spring.profiles.active 获取属性。
情况1:-
我的 ConfigMap 看起来像,
我的部署文件看起来像,
我在 Spring Boot 中的配置文件看起来像,
我的 application.properties 看起来像,
应用程序启动良好,它从配置映射中获取了值。但它是从错误的配置文件中挑选出来的。一些值是从 qa 配置文件中获取的。
我得到的最终结果是:-
案例2:-
但是,当我将配置映射与 yaml 一起使用时,如下所示,
我得到了预期的结果。它按预期从产品配置文件中挑选。
案例 2 按预期工作,但案例 1 没有。
我对配置图有任何错误/误解吗?有人可以在这里提出建议吗?
谢谢。
kubernetes - 在 GKE 中使用 Ingress 为 sftp 服务器公开 UDP 和 TCP 端口
我正在尝试建立一个多集群部署,其中有多个集群,一个入口是负载平衡它们之间的请求。
HTTP 服务与设置工作良好,这里的问题是sftp
服务器。
参考这个答案和这个文档,我正在尝试访问sftp
服务的端口 22。
sftp 的部署在端口 22 上公开。下面是清单:
这是使用 NodePort 服务的 sftp-service 的简单清单:
ConfigMap 创建参考上述文档和答案如下所示:
最后入口清单如下所示:
我觉得,我还没有理解使用 ingress 在 kubernetes 上为 sftp 服务器公开 TCP/UDP 端口的方法。我在这里做错了什么?
有没有其他方法可以sftp
在多集群部署中简单设置使用入口和 NodePort 服务?
这是我指的是进行设置的官方文档。
json - 如何修复未在 .json 文件中提取的环境变量
我正在通过configMap
. 还创建一个generate.json
文件并通过configMap
也安装它。这一切都很好。问题是环境变量没有被文件拾取generate.json
。
我正在尝试将 configMap 传递的环境变量传递给通过 configMapgenerate.json
挂载的环境变量。我的猜测是,该文件generate.json
将读取通过 configMap 传递的容器 env vars 并在必要时插入那些。
这是2个配置图
ConfigMap to create the env variables
预期的结果是文件generate.json
应该从环境变量填充/插值到变量。
prometheus - 有状态集的 RollingUpdate 不会重新启动 pod,并且来自更新的 ConfigMap 的更改不会反映
我正在使用 Prometheus 和 Prometheus Alertmanager 发送警报。
我已经在 GKE 上运行了 Kubernetes 状态集。我更新了 Prometheus 和 Prometheus AlertManager 的 ConfigMap,并对有状态集进行了 RollingUpdate,但是 pod 没有重新启动,而且它似乎仍在使用旧的 ConfigMap。
我使用了更新 ConfigMaps 的命令
kubectl create configmap prometheus-alertmanager-config --from-file alertmanager.yml -n mynamespace -o yaml --dry-run | kubectl replace -f -
同样,我也为 Prometheus 进行了更新。
对于 RollingUpdate,我使用了以下命令:
kubectl patch statefulset prometheus-alertmanager -p '{"spec":{"updateStrategy":{"type":"RollingUpdate"}}}' -n mynamespace
另外,当我做 rollingUpdate 它显示
statefulset.apps/prometheus-alertmanager patched (no change)
我不知道发生了什么,是否无法通过 RollingUpdate 使有状态集中的 pod 适应更新的 ConfigMap?或者我在这里遗漏了什么?
kubernetes - 如何处理 ConfigMaps 中的秘密?
我想使用 a Secret
inside a ConfigMap
。这可能吗?
例子:
如果您想从Fluentd 写入 S3 ,则可能需要这样做的一个示例。在配置中,您必须添加您的 AWS 凭证。
备择方案:
在集群本身上使用环境变量。我不喜欢这个想法,因为该变量仍将包含纯文本形式的秘密。
在设置过程中传递密码。如果您使用部署工具,则可能会在应用程序部署期间传递秘密。这也不是一个好的解决方案,因为您仍然将秘密作为纯文本传递给部署工具。这种方法的一个优点是您不会意外地将您的秘密签入 git。
kubernetes - 将 YAML 转换为 JSON 时出错:yaml:没有找到预期的密钥
我从在线教程中复制粘贴了一个 configMap 文件,并在尝试应用它时弹出错误。这是文件:
这是错误:第 28 行:没有找到预期的密钥
docker - elasticsearch.yml 在使用 Kubernetes ConfigMap 加载时是只读的
我正在尝试在使用 Kubernetes 安装 ElasticSearch时加载elasticsearch.yml
文件。ConfigMap
该文件以其所有者和只读权限(https://github.com/kubernetes/kubernetes/issues/62099elasticsearch.yml
)加载到容器中。由于 ElasticSearch 不会以所有权开始,因此 pod 会崩溃。root
root
作为一种解决方法,我尝试将其挂载ConfigMap
到不同的文件,然后config
使用initContainer
. 但是,目录中的文件config
似乎没有更新。有什么我遗漏的东西还是有其他方法可以做到这一点?
ElasticSearch Kubernetes StatefulSet:
kubernetes - Terraform kubernetes_config_map --from-env-file
我正在使用“--from-env-file”选项创建一个 kubernetes configMap,以将文件内容存储为环境变量。
当我如下创建一个 terraform 资源时,创建的 configMap 包含一个文件,而不是环境变量。
如何使用 terraform-kubernetes-provider 资源创建将文件内容作为环境变量的 configMap?
kubernetes - 如何在不使用卷的情况下将 ConfigMap 挂载为文件
这个问题背后的目的是知道如何在 Pod 中有一个文件,如果我们使用 ConfigMap,如果 configMap 会改变,我不想应用更改
谢谢
kubernetes - 如何在 Kubernetes 中合并 ConfigMaps 的内容
我们在以下文件中指定了我们的应用程序特定属性
在 kubernetes 中创建 configmap 时,我想将内容合并到一个文件中。可以合并内容吗?
我知道我们可以通过 kustomize 实现。但是,我们使用的是 Helm Charts,我们没有使用 kustomize。
https://github.com/kubernetes-sigs/kustomize/blob/master/examples/combineConfigs.md