问题标签 [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.

0 投票
3 回答
55717 浏览

kubernetes - Kubernetes - 如何定义使用 yaml 中的文件构建的 ConfigMap?

目前我正在通过执行以下命令从文件 config.json 创建一个配置映射:

我希望将 ConfigMap作为部署的一部分创建并尝试这样做:

但似乎不起作用。什么应该进入 configmap.yaml 以便创建相同的 configmap?

- -更新 - -

当我进行 helm install 试运行时:

注意:我使用 minikube 作为我的 kubernetes 集群

0 投票
0 回答
752 浏览

nginx - Kubernetes Nginx 反向代理在 configmap 中包含路径

我有一个运行多个负载平衡器的 GKE 集群和数十个站点,每个站点都在自己的部署中作为 clusterip 运行。

我想做的是注入一个包含路径,以包含每个负载均衡器(nginx 入口控制器)的各种站点配置。我没有使用 kubernetes 入口,而是使用各种负载均衡器。我有已安装的共享数据路径,其中包含所有服务器 {} nginx 配置。

我无法弄清楚的是如何让负载均衡器看到它们。我很确定它涉及一个 configmap 条目,但我相信我的语法是错误的。

只是为了确认我知道如果我能得到这个,那么我的解决方案将像我登录到负载均衡器并使用不同的配置重新加载 nginx 一样工作。

我只需要根据每个 nginx 入口控制器配置的不同路径自行发生。我在这样的每个 nginx-ingress-controllers 中使用不同的类

并在各自的配置中,我试图找出让它看到这些不同配置的语法

nginx.ingress.kubernetes.io/configuration-snippet: '{"http": "{include /data/nginx/sites-enabled/*;}"}'

我什至尝试为 nginx 包含一个更高级别的配置文件,其中包含 http 包含行。

我使用的安装是 helm from

https://kubernetes.github.io/ingress-nginx/deploy/

这是我尝试过的配置示例

我也试过把它放在数据部分。

感谢您的任何帮助

更新:

这不是一个答案,但允许我继续并在单个 kubernetes 集群上使用这些多个 nginx 入口。希望这可以帮助其他人在我的鞋子..

执行上述操作确实会修改 nginx.conf 并且更好的是它会自动刷新我相信的配置而无需关闭控制器。

所以看起来入口类注释确实适用于多个 nginx-ingress-controllers。最后我需要

  • nginx-ingress-controller 工作负载(它还创建默认后端工作负载和负载均衡器服务)
  • asp.net 核心部署工作负载(或任何您的服务)
  • Cluster IP 服务(你的内部部署的暴露)
  • 将 nginx.conf 条目关联到相应的入口控制器的入口服务
0 投票
1 回答
4329 浏览

kubernetes - 无法为 volumeMount 准备 subPath

收到此错误。

Error: failed to prepare subPath for volumeMount "solr-collection-config" of container "upload-config-container"

使用 Kubernetes 1.10.11

- name: upload-config-container image: solr:7.4.0-alpine imagePullPolicy: Always resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m" volumeMounts: - name: solr-collection-config mountPath: /tell/carbon/conf subPath: conf

solr-collection-config是一个表示 ConfigMap 的卷

volumes: - name: solr-collection-config configMap: name: solr-collection-resources items: - key: stopwords_en.txt path: "conf/lang/stopwords_en.txt" - key: _rest_managed.json path: "conf/_rest_managed.json" - key: currency.xml path: "conf/currency.xml" - key: protwords.txt path: "conf/protwords.txt" - key: schema.xml path: "conf/schema.xml" - key: solrconfig.xml path: "conf/solrconfig.xml" - key: stopwords.txt path: "conf/stopwords.txt" - key: synonyms.txt path: "conf/synonyms.txt" restartPolicy: Never

非常感谢您的帮助。谢谢

0 投票
1 回答
4789 浏览

join - 无法加入 Kubernetes 集群

我有一个 kubeadm 部署的主节点(v1.10.12),我正在尝试向集群添加一个新节点:

我做的主人:

然后在新节点上,我运行:

在主上:

帮助!?干杯。

0 投票
1 回答
4364 浏览

kubernetes - ConfigMap 数据存储在哪里?

我使用 kubectl 创建了 ConfigMap,我也可以使用:

我只是好奇 kubernetes 将这些数据/信息存储在集群中的什么位置?它存储在etc中吗?如果它存储在 etcd 中,我如何查看它?

它是否存储在任何文件/文件夹位置或其他任何地方?

我的意思是 kubernetes 在内部将它存储在哪里?

0 投票
2 回答
3448 浏览

spring - Spring Cloud Kubernetes - Spring Boot 不读取配置图

我有一个 Spring Boot Web 应用程序,它只打印一个在 Kubernetes 的 ConfigMap 中传递的属性。

这是我的主要课程:

MyConfig课程是:

基本上,通过调用根资源,我总是得到:

可以实时更改的消息

调用 /services 我实际上得到了 Kubernetes 服务的列表。

kubectl create -f configmap-demo.yml正在使用内容创建 ConfigMap:

部署kubecetl create -f deploy-demo.yml和内容是:

问题是当访问根资源时,/我总是得到默认的硬编码值,而不是 Kubernetes 的 ConfigMap 中定义的值。

示例项目还包含 yaml 文件和 Docker 文件,可在https://drive.google.com/open?id=107IcwnYIbVpmwVgdgi8Dhx4nHEFAVxV8获得。

还检查了启动调试日志,我没有看到任何错误或线索为什么它不应该工作。

0 投票
1 回答
1019 浏览

kubernetes - 如果一个 configMap(/secret) 挂载为一个正在运行的 pod 中的卷,在 master 上被删除会发生什么?

假设我有一个带有 configMap(或秘密)卷的 pod。ConfigMap(或机密)对象在 Pod 创建期间存在,但我在 pod 运行时删除了主服务器上的 configMap(或机密)对象。预期的行为是什么?它在任何地方都有记录吗?

正在运行的 pod 是否已终止?configMap(或秘密)文件是否已删除并且 pod 是否继续运行?

这是我能找到的关于更新的文档,没有提到任何关于删除的内容。

当卷中已经使用的 ConfigMap 被更新时,预计的键最终也会被更新。Kubelet 会在每次定期同步时检查挂载的 ConfigMap 是否新鲜。但是,它使用本地基于 ttl 的缓存来获取 ConfigMap 的当前值。这样一来,从 ConfigMap 更新到新的 key 投射到 pod 的总延迟可以达到 kubelet 同步周期 + kubelet 中 ConfigMaps 缓存的 ttl 时间。

0 投票
0 回答
313 浏览

kubernetes - kubernetes:如何为 ConfigMap 文件导出现有的环境变量

当尝试从我的 configMap 文件中的 env 变量中导出一个值 (CONSUL_DNS_SERVICE_HOST) 时,我收到一个错误 - PSB

我找不到办法检索 CONSUL_DNS_SERVICE_HOST 的 IP

谢谢

0 投票
1 回答
4598 浏览

file - 使大型静态数据文件可用于 kubernetes pod

我有一些相当大的 UTF-8 数据文件,pod 需要在启动时加载到内存中 - 从几百 KB 到大约 50 MB。

该项目(包括舵图)是开源的,但其中一些文件不是 - 否则我可能只会将它们包含在图像中。我最初的想法是创建 configmap,但我的理解是 50 MB 超出了 configmap 的预期用途,因此在某些情况下这可能会成为问题。我认为秘密也太过分了——它们不是秘密,只是不应该放在开放的互联网上。

出于性能原因,我宁愿在每个 pod 的内存中都有一个副本,而不是去共享缓存,但我可能错了。至少,这可能会增加比其价值更多的复杂性。

配置映射是要走的路吗?

0 投票
1 回答
2822 浏览

kubernetes - How to convert YAML to JSON when saving files into container using Kubernetes Configmap

We are going to write Helm chart and providing configuration file using configmap.

For some reasons our app is using JSON format configuration file. Currently we provide configuration file in Helm chart's values.yaml like this.

And to make it easy to modify, in values.yaml we use YAML format and in configmap's template we did conversion using "toJson",

So in values.yaml it's YAML, and in configmap it will be JSON, then in container it will be stored into JSON file.

Our question is,

  • Is there a way to convert YAML to JSON when saving files into container? That is, we hope those configuration content could be 1) YAML in values.yaml 2) YAML in configmap 3) JSON file in container

Thank in advance.