docker - 在 Kubernetes Pod 上,ConfigMap 目录位置是什么?

标签 docker kubernetes configuration-files minikube

许多应用程序需要通过配置文件、命令行参数和环境变量的某种组合进行配置。这些配置工件应该与图像内容解耦,以保持容器化应用程序的可移植性。 ConfigMap API 资源提供了向容器注入(inject)配置数据的机制,同时保持容器与 Kubernetes 无关。 ConfigMap 可用于存储细粒度信息(如单个属性)或粗粒度信息(如整个配置文件或 JSON blob)。

我无法找到配置映射的保存位置。我知道它们是创建的,但我只能通过 minikube 仪表板读取它们。

最佳答案

ConfigMaps Kubernetes 中的使用方式可以有多种不同的方式,将其安装为卷就是其中一种方式。

您可以选择将 ConfigMap 安装在 Pod 上的位置。 K8s 文档中的示例:

配置映射:

apiVersion: v1
kind: ConfigMap
metadata:
  name: special-config
  namespace: default
data:
  special.how: very
  special.type: charm

pods

apiVersion: v1
kind: Pod
metadata:
  name: dapi-test-pod
spec:
  containers:
    - name: test-container
      image: gcr.io/google_containers/busybox
      command: [ "/bin/sh", "-c", "cat /etc/config/special.how" ]
      volumeMounts:
      - name: config-volume
        mountPath: /etc/config
  volumes:
    - name: config-volume
      configMap:
        name: special-config
  restartPolicy: Never

注意卷定义和相应的volumeMount。

其他方式包括:

  • 通过环境变量进行消费
  • 通过命令行参数进行消费

请参阅documentation获取完整示例。

关于docker - 在 Kubernetes Pod 上,ConfigMap 目录位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41626730/

相关文章:

linux - telnet:无法连接到远程主机:没有到主机的路由 - 安装了 docker

kubernetes - Kubernetes Ingress无法解析后端服务

linux - 如何一次获得您对配置文件所做的所有更改(自系统安装以来)?

php - 索纳塔管理员 : How to remove "Add New" button from dashboard only?

c# - 使用 App.config 设置强类型变量

symfony - 如何通过 docker-composer 运行 symfony

python - Docker-Compose HAProxy缺少前端

docker - 使用选项/参数覆盖从主机运行的默认Docker运行

go - 由未知机构签署的证书 Kubernetes Engine

kubernetes - 将数据从一个 Kubernetes 容器共享到同一 pod 内的另一个容器