问题标签 [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.
go - 更新配置映射时如何在 kubernetes 中的应用程序内获取通知
我有一个正在运行的应用程序,kubernetes
其中有一个通过configmaps
. kubectl update configmaps xyz
现在,从应用程序内部,当这个文件(来自 configmap)被更新(让我们说通过命令)时,我想执行一些操作。
假设我使用以下命令创建了一个 configmap:
我的部署是这样创建的:
现在,如果我这样做,kubectl exec -it <pod> sh
我可以看到该文件。如果我使用编辑配置映射kubectl edit configmap my-config
并更改内容,则在我的 pod 中运行的应用程序不会收到文件更改通知。我正在为应用程序使用 GO Lang,它没有收到文件上的 fsnotify,/myapp/config/config.json
即使我可以看到在编辑后文件已更改。
如果我在笔记本电脑上运行相同的应用程序,当然,代码会获取 fsnotify 并且我的应用程序会更新它的配置。来自 kubernetes 的相同代码与来自 configmap 的文件相同,但它不起作用。我已经阅读了类似这样的其他 SOF 问题以及其他各种问题,但没有针对我所面临的问题提供专门的解决方案。
我知道该文件(来自 configmap)是一个符号链接,实际文件位于名为..data/config.json
. 我也尝试添加该文件,但仍然没有收到 fsnotify 信号。是否可以为来自应用程序中的 configmap(以及机密)的文件获取 fsnotify 信号?如果是这样,有人可以帮助我并展示如何做到这一点(最好在 GO lang 中)?
kubernetes - 是否可以使用空/空白键创建配置映射?如果是,关于 pod 的预期行为应该是什么?
想了解是否可以使用空白或空键创建配置映射。该值不是空的。
deployment - 覆盖容器规范中定义的环境值
我有一个 configmap,我在该部分中定义了以下键值映射data
:
然后在我的容器的定义中(在部署/有状态集清单中)我有以下内容:
执行此操作时,我期望 configmap (TEST="CONFIGMAP_VALUE") 中的值将覆盖容器规范 (TEST="ANOTHER_VALUE") 中指定的(默认)值,但事实并非如此(TEST 总是得到容器规范中的值)。我找不到任何相关文档 - 是否有可能实现这样的环境变量值覆盖?
kubernetes - 如何在 Kubernetes 中修补 ConfigMap
Kubernetes 附带一个ConfigMap
调用coredns
,可让您指定 DNS 设置。我想通过添加以下内容来修改或修补此配置的一小部分:
我知道我可以kubectrl edit
用来编辑coredns
ConfigMap
是否有某种方法可以获取仅包含我要插入或更新的设置的上述文件,并将其合并到现有的之上或修补ConfigMap
?
这样做的原因是我希望我的部署可以使用 CI/CD 重复。因此,即使我在全新的 Kubernetes 集群上运行 Helm 图表,也会应用上述设置。
kubernetes - configmap 上的 helm upgrade 是否会自动将新数据注入正在运行的 Pod 中?
在正在运行的 pod 上发布 helm upgrade 时,我的 configmap 会更新,但是 pod 会自动知道 configmap 更新的值,还是我需要采取其他步骤将新的 configmap 值注入 pod?
我的总体目标是避免与正在运行的 pod 交互,例如删除或重新启动/重新安装。
我已经看到很多关于更改 sha1sum 和做一些变通方法的信息,但我的问题更基本 - pod 会自动意识到新的 configmap 项目吗?
---- 更新 --- 所以我们最终做的是:
helm upgrade -n release -f release/values.yaml --recreate-pods
尽管这会终止现有的 pod,但在发出命令后会立即启动另一个 pod,这意味着“接近零”的停机时间。
kubernetes - 我们可以为不同的卷安装使用相同的 Configmap 吗?
两个 pod 正在运行并且具有不同的卷挂载,但是需要在 2 个正在运行的 pod 中使用相同的 configmap。
kubernetes - kubernetes:如何从多个文件创建和使用 configmap
我有关于 configmap 的文档:
据我了解,我可以使用两个文件(game.properties 和 ui.properties)创建一个配置图(game-config-2)
现在我看到了配置图
我如何使用该配置映射?我试过这样:
但这不起作用,env 变量没有从 configmap 中选择。或者我可以在 envFrom 下有两个 configMapRef 吗?
configmap - 来自 yml 文件的 Helm Chart 配置图
我在 helm 中创建了 ConfigMap
当我运行 kubectl get configmaps 时,yml 文件格式更改为在 yml 文件中添加“\”的不同文件格式。如何防止 helm 更改文件格式?
kubernetes - 我们可以在配置映射中使用“数据”作为 yaml 文件而不是 Json 文件吗
让我们以配置映射为例
出现无法将 yaml 解析为 Json 之类的错误。
java - 在 Kubernetes ConfigMap 上托管 jar 文件
当我们想要扩展 JVM 类路径时,在 ConfigMap 上托管 java jar 文件是个好主意吗?
通常应用程序本身被烘焙到 docker 映像中,但扩展它(通过插件 jar 等)需要附加卷、将 jar 文件复制到卷并重新启动 pod,但您需要一个卷来执行此操作。另一种选择是将 jar 作为二进制对象直接放入 ConfigMap 并重新启动 pod。后者似乎更容易和更快,它应该适用于小尺寸的jar 文件。