问题标签 [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.
kubernetes - 如何在 configmap yaml 中提供服务名称和端口?
我有一个像下面这样的服务(CusterIP),它暴露了后端 POD 的端口。
前端 POD 应该能够使用服务连接到后端 POD。我们应该用服务名称替换主机名以从 Frontend POD 连接到 Backend POD 吗?
我必须通过环境变量将服务名称和端口提供给 Frontend POD 容器。使用 configMap 设置环境变量。
将服务名称 fsimulator 作为主机名来连接就足够了吗?如果在命名空间内创建,如何提供服务?
谢谢
kubernetes - Kubernetes - 使用 Configmap 设置环境变量组
我目前正在做一个需要设置更多(大约 20 个)环境变量的项目。
现在这些变量应该与 pod 内的多个容器共享。我正在使用 Configmap 来定义值。现在我的问题是这个。我必须单独设置每个环境变量,并且还必须为每个容器都这样做,这非常丑陋并且有很多不必要的代码。基本上它看起来像这样
我想要的是自动将我的 configMap 中的所有值和环境变量添加到容器中。我的第一种方法是将 configMap 挂载为卷,然后在启动时运行 shell 脚本。与此类似
配置映射
荚
不幸的是,当我在容器中手动运行导出命令但运行 shell 脚本或运行 /bin/sh /etc/pod-config/envCat.sh 时,导出命令工作得很好。
有什么建议可以实现我想做的吗?
kubernetes - Kubernetes:使用自定义资源更新 configMap
我们有一个应用程序需要从文件中读取初始化参数。现在使用 configMap 将这些存储为数据并安装为卷。
但是更新 configMap 不会触发 Pod 的推出更新。因此,我正在考虑创建一个自定义资源来存储参数并在创建或更新时创建一个 configMap,以及一个自定义控制器来触发 Pod 的推出或以某种方式将自定义资源安装为卷。
谁能给我举个例子?另一个问题是,我应该更进一步,将整个应用程序定义为自定义资源吗?这种方法还存在使用自定义资源创建 configMap 的问题。谢谢。
kubernetes - 如何在 pod 之间共享单个可写文件,与不可共享文件位于同一目录中(可写 configmap)
我正在尝试在我的 Kubernetes pod 中挂载一个共享的读/写文件。此文件在所有 pod 中必须相同。但是,在同一个目录中,我需要每个 pod 都有一个不同的只读文件。这就是为什么我不能在目录中挂载 PVC 并收工的原因。
知道如何将可共享的读/写文件放在与所有其他 pod 相同的目录中,但在该目录中有另一个文件,每个 pod 都不同吗?
简单来说,这个想法是一个读/写配置映射,我知道它是不存在的。任何解决方法的想法?
kubernetes - Kubernetes 上的热 pod 重新配置
我已经在 Kubernetes 上部署了 Prometheus,并将prometheus.yml
配置文件作为配置映射资源提供。该文件作为卷挂载在 Prometheus pod 中。
在集群中更改配置映射后,我使用空 POST 请求访问 Prometheus 服务器端点,以便重新加载它(如文档中所述)
但是,当我对配置映射进行更改并重新部署它时,我会经历大约 30 秒的“滞后”,直到prometheus.yml
文件在 pod 内更新。
我在这里读到这是预期的。
但是,有些项目试图解决这个问题,例如
- https://github.com/pusher/wave
- https://github.com/stakater/Reloader
- https://github.com/jimmidyson/configmap-reload
据我了解,这些会杀死 pod 并替换它们以更新配置。
我的问题是,有没有办法进行“热”重新配置?
基本上可以按需加速 Pod 内的卷更新,而无需杀死任何 Pod。
kubernetes - 如何使用由等号 (=) 分隔的键/值的 ConfigMap 中的值?
鉴于我已经创建了一个带有这样的文件的 ConfigMap:
有没有办法在 Kubernetes 中访问这些值,还是必须采用 YAML 格式?
kubernetes - Kubernetes 中 Configmap 的持久化
我有一个 Kubernetes pod(我们称之为POD-A),我希望它使用某个配置文件来使用 k8s API 执行一些操作。配置文件将是 YAML 或 JSON,将由 pod 内的应用程序解析。
配置文件由云上的应用程序服务器托管,可以根据触发器拉取最新版本。配置文件包含 k8s 集群中所有部署的配置详细信息,并将用于使用POD-A中的 k8s API 更新部署。
现在我在想的是将此配置文件保存在配置映射中,每次拉取新配置文件时,使用 k8s API 的 pod 都会创建一个新配置映射。
我想要做的是用某个标志(一个键和一个值)更新以前的配置映射,这基本上可以帮助应用程序知道哪个是当前的部署版本。因此,假设我有一个正在运行的 k8s 集群,其中包含多个 pod,那里有一个配置映射,其中包含针对这些 pod 的所有配置详细信息(映像版本、命名空间等)和一个标志,通知这是当前部署和POD-A中的应用程序将通过加载配置映射来知道这一点。现在,当拉取一个新的配置文件时,会创建一个新的配置映射,并且当前部署的标志对于先前的配置映射设置为 false,对于最新创建的配置映射设置为 true。然后该配置映射用于更新集群中的所有 pod。
我知道有很多细节,但我不得不解释它们以提出以下问题:
1)可以configmaps
用于此目的吗?
2)我可以更新configmaps
还是必须完全重写它们?我正在考虑在其中编写一个文件,configmap
因为那样会简单得多。
3) 我知道configmaps
它们存储在 etcd 中,但它们是保存在磁盘上还是保存在内存中?
4) 假设POD-A出现故障,它会对configmaps
吗?它们是否以任何方式与 pod 的生命周期相关联?
5) 如果 k8s 集群本身出现故障,`configmaps 会发生什么?由于它们在etcd中,并且如果它们被持久化,那么它们会再次可用吗?
注意:configmap 的大小也有限制,所以我必须牢记这一点。虽然我猜测 1MB 的大小足以保存配置文件,因为它通常只有几个字节。
kubernetes - 在部署期间将秘密值注入 configmap,而不使用环境变量
我有一个像这样的配置图
app.conf 部分作为配置文件安装在容器内,使用
读取该文件的应用程序无法读取环境变量,我无法更改该行为,它是第三方应用程序。
我想知道如何在 pod 部署期间将密码中的密码注入密码字段
kubernetes - 有没有办法在命名空间之间共享 kubernetes 中的 configMap?
我们将一个命名空间用于开发环境,一个用于暂存环境。在每个命名空间中,我们都有几个 configMaps 和 secrets,但是两个环境之间有很多共享变量,所以我们希望有一个公共文件。
有没有办法让一个基本的 configMap 进入默认命名空间并使用类似的东西来引用它:
如果这是不可能的,除了通过命名空间复制变量之外没有其他方法吗?
kubernetes - Kubernetes configmap 删除现有目录的所有内容
我创建了一个 configmap 和一个 pod yaml 文件。
我尝试了多种解决方案,但没有一个对我有用。
pod yaml 文件
这应该替换现有的 index.html 文件,但不知何故,它删除了 SampleWebApp 的所有内容并仅放置 index.html。我不知道是否以正确的方式完成,我只想替换 index.html 的内容。我不知道安装可能会以这种方式工作。