首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes K8S之存储ConfigMap详解 通过目录创建通过文件创建通过命令行创建通过yaml文件创建当前存在的ConfigMap使用ConfigMap

备注:ConfigMap 并不提供保密或者加密功能。如果你想存储的数据是机密的,请使用 Secret;或者使用其他第三方工具来保证数据的私密性,不是ConfigMap。...ConfigMap创建方式 通过目录创建 配置文件目录 1 [root@k8s-master storage]# pwd 2 /root/k8s_practice/storage 3 [root@...k8s-master storage]# ll /root/k8s_practice/storage/configmap # 配置文件存在哪个目录下 4 total 8 5 -rw-r--r-...2 MYAPP_SVC_PORT_80_TCP_ADDR=10.98.57.156 3 KUBERNETES_SERVICE_PORT=443 4 KUBERNETES_PORT=tcp://...2 ===very===charm=== 通过数据卷插件使用ConfigMap【推荐】 在数据卷里面使用ConfigMap,最基本的就是将文件填入数据卷,在这个文件中,键就是文件名【第一层级的键】,键值就是文件内容

3.7K20

小提示: K8S中如何使用Subpath

概述 Kubernetes中什么是Subpath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。...volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,不是其根路径。 什么时候应该使用 Subpath 场景一: 一个共享卷, 挂载多个路径....场景二: ConfigMap或Secret挂载到特定目录的特定路径, 目录下已经有其他文件且不希望被覆盖掉 如何使用Subpath 场景一示例: 一个共享卷, 挂载多个路径....或Secret挂载到特定目录的特定路径 例如, 我希望将setenv.sh这样的一个初始化配置环境变量的脚本挂载到tomcat的bin目录: /opt/tomcat/bin下....如果我不使用subpath, 直接将该ConfigMap 挂载到/opt/tomcat/bin目录下, 那么该目录下已有的文件全部被覆盖.

3.8K12
您找到你想要的搜索结果了吗?
是的
没有找到

深入探究 K8S ConfigMap 和 Secret

,此书这部分是基于 Kubernetes 1.6 进行编撰,而我使用的是 kubernetes 1.14,不清楚是不是因为 Kubernetes 已经改进的原因,还是其他原因,我有两点不解的地方。...5、挂载 volume 这种方式则是通过 volume 形式映射到容器内部指定目录上,容器内部进程直接读取该目录下特定文件,这种方式是我们常用的一种方式,具体使用时如下所示: ........可以直接挂载一个目录到容器内部,当宿主机通过如下方式修改 configmap 那么容器内部配置将随之改变,一次性修改所有文件。...,不允许覆盖原有文件,可以挂载到指定文件,通过 subPath 配合指定文件。...但是单个文件挂载这种方式不能实现热更新,即宿主机 ConfigMap 文件发生变化,容器内部不会自动重载。

2.7K61

Kubernetes中的Configmap和Secret

ConfigMap有三种用法: 生成为容器内的环境变量 设置容器启动命令的参数 挂载为容器内部的文件目录 ConfigMap的缺点 ConfigMap必须在Pod之前创建 ConfigMap属于某个NameSpace...,只有处于相同NameSpace的Pod才可以应用它 ConfigMap中的配额管理还未实现 如果是volume的形式挂载到容器内部,只能挂载到某个目录下,该目录下原有的文件会被覆盖掉 静态Pod不能用...这是因为原来文件夹下的内容无法进入,所以显示不出来。为了避免这种挂载方式影响应用的正常运行,可以将configmap挂载为一个配置文件。...即便是重启容器内的应用,也要注意configmap的更新和容器内挂载文件的更新不是同步的,可能会有延时,因此一定要确保容器内的配置也已经更新为最新版本后再重新加载应用。...当Secret挂载到Pod上时,是以tmpfs的形式挂载,即这些内容都是保存在节点的内存中,不是写入磁盘,通过这种方式来确保信息的安全性。

1.8K30

Kubernetes subPath | 容器原目录下的文件全被覆盖了,什么鬼?

前言 docker 中的 volume 可以 mount 文件到特定目录,同时保留原有目录不变;同样的 mount 放到 Kubernetes 却变成了:只是把 mount 的几个文件直接放到了根目录,...在很多场景下,我们会希望只是挂载一个文件到容器内部某个目录不影响原有目录,常见使用场景有以下两种: 我需要把一个特定文件放置到 linux 特定目录下,且需要依赖 linux 底层 lib 库,该目录下已经存在其它文件...项目在没有容器化之前,证书和配置通常放到一个目录中,现在容器化之后依然如此,这就有个问题,当把证书放到 Secret、配置放到 ConfigMap中,之后 mount 到容器特定目录时互相覆盖,影响服务正常运行...当然解决方式也非常简单,大致如下两种: 首先我可以通过曲线救国的方式把这些文件挂载到其它目录,不影响原有文件夹。...fmt.Errorf("error creating file %s: %s", bindPathTarget, err) } } 总结 本文主要介绍了通过使用 volume subPath 解决把文件挂载到容器已存在文件目录且不覆盖原有目录的方法

9.7K10

k8s的数据存储

ConfigMap高级 从一个目录中创建ConfigMap 从一个文件中创建ConfigMap 从一个文件中创建ConfigMap,并自定义ConfigMap中key的名称 从环境变量文件创建ConfigMap...● Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里面的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储...访问模式(accessModes): 用来描述用户应用对存储资源的访问权限,访问权限包括下面几种方式: - ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载。...注意事项: ● ConfigMap 在设计上不是用来保存大量数据的。在 ConfigMap 中保存的数据不可超过 1 MiB。...- ConfigMap&&Secret使用SubPath解决目录覆盖问题 ConfigMap和Secret在进行目录挂载的时候会覆盖目录,我们可以使用SubPath解决这个问题。

1.6K30

Kubernetes | 存储 - Storage

ConfigMap 描述信息 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。...ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象。...,键的名字就是文件名,值就是文件的内容 使用文件创建 只要指定为一个文件就可以从单个文件中创建 ConfigMap $ kubectl create configmap game-config-2...Kubernetes 自动创建,并且会自动挂载到 Pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中 $ kubectl run nginx --image...当 Kubernetes 按照计划添加资源感知调度时,将无法考虑 hostPath 使用的资源。 在底层主机上创建的文件目录只能由 root 写入。

81430

Kubernetes 存储概念之Volumes介绍

Docker的卷只是磁盘、其它容器中的一个目录,功能也比较有限。 Kubernetes支持多种类型的卷。pod可以同时使用任意数量、类型的卷。...如果通过许可策略限制Hostpath对特定目录的访问,则必须要求volumeMounts使用readOnly装载才能使策略生效 hostPath 卷将主机节点的文件系统中的文件目录挂载到Pod中。...如果待挂载文件的父目录不存在,pod将无法启动。...您可以将 secret 存储在Kubernetes API中,并将其作为文件装载,以供pods使用,而无需直接耦合到Kubernetes。...volumeMounts.subPath属性指定引用卷内的子路径,不是其根路径,默认的,挂载卷到容器内指定路径,会导致挂载该路径所在根路径下所有文件都消失,即根路径下的内容会被被挂载卷的内容覆盖。

1.9K30

kubernetes系列之ConfigMap使用方式

容器能够直接读取并使用预先配置好的配置文件(不是使用容器中默认自带的配置文件).这就是configMap的功能。...ConfigMap 用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件ConfigMap 跟 secret 很类似,但它可以更方便地处理不包含敏感信息的字符串。...configmap 挂载文件时,会先覆盖掉挂载目录,然后再将 congfigmap 中的内容作为文件挂载进行。...如果想不对原来的文件夹下的文件造成覆盖,只是将 configmap 中的每个 key,按照文件的方式挂载目录下,可以使用 subpath 参数。...,这个目录其实很重要,你要使用个容器的应用,需熟悉这个应用的配置文件存放目录并且挂载到正确目录.挂载目录错了容器应用无法读取到配置文件

2.9K00

Kubernetes 之数据存储

ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。...ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者 JSON 二进制大对象 ConfigMap 的创建 使用目录创建...--from-file 指定在目录下的所有文件都会被用在 ConfigMap 里面创建一个键值对,键的名字就是文件名,值就是文件的内容。...$ kubectl describe configmap game-config $ kubectl get configmap game-config -o yaml 使用文件创建 只要指定为一个文件就可以从单个文件中创建...Secret 有三种类型,分别是: Service Account 用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的特点目录中。

2.2K20

kubernetes 磁盘、PV、PVC

6.1.介绍卷 6.1.1.卷的类型 emptyDir-用于存储临时数据的简单空目录 hostPath-用于将目录从工作节点的文件系统挂载到pod nfs-挂载到pod中的NFS共享卷。...emptyDir: {} 6.3.访问工作节点文件系统上的文件 6.3.1.hostPath卷 hostPath是持久性存储,emptyDir卷的内容随着pod的删除删除。...ConfigMap定义了Pod的配置信息,可以以存储卷的形式挂载至Pod中的应用程序配置文件目录,从configmap中读取配置信息;也可以基于环境变量的形式,从ConfigMap中获取变量注入到Pod...: - name: my-cm-www mountPath: /etc/nginx/conf.d/ # 将名为my-www的configmap挂载至Pod容器的这个目录下.../nfsdata文件中的文件被删除了 因为 PV 的回收策略设置为 Recycle,所以数据会被清除,但这可能不是我们想要的结果。如果我们希望保留数据,可以将策略设置为 Retain。

1.7K50

在TKE集群中通过configmap管理nginx.conf

许多容器会从配置文件、命令行参数或环境变量中读取配置信息,这些配置信息可以通过configmap达到解耦目的,同一配置管理 在K8S中ConfigMap可以被用来保存单个属性(给容器配置环境变量),也可以用来保存整个配置文件...1.点击配置管理,选择configmap,新建configmap image.png 填写configmap内容,变量名此框对应的yaml格式为: image.png 变量值填写配置文件主体内容 image.png...2.创建workload,并且数据卷选中刚创建的configmap,并且在容器内设置挂载点 image.png 3.创建完成后进入容器 image.png 4....查看挂载目录下的配置文件 image.png 详细资料可查看 KubernetesConfigMap解析 ConfigMap 管理

1.4K30

Kubernetes 的基本概念和术语

hostPath 为在 Pod 上挂载宿主机上的文件目录,通常用于以下几个方面: 容器应用程序生成的日志文件需要永久保存时,可以使用宿主机的高速文件系统进行存储 需要访问宿主机上 Docker 引擎内部数据结构的容器应用时...上具有相同配置的 Pod,可能会因为宿主机上的目录文件不同导致 Volume 上目录文件的访问结果不一致 如果使用了资源配额管理,则 Kubernetes 无法将 hostPath 在宿主机上使用的资源纳入管理...其他类型的 Volume iscsi: 使用 iSCSI 存储设备上的目录挂载到 Pod 中 flocker: 使用 Flocker 管理存储卷 glusterfs: 使用开源 GlusterFS 网络文件系统的目录挂载到...接下来,Kubernetes 提供了一种内建机制,将存储在 etcd 中的 ConfigMap 通过 Volume 映射的方式变成目标 Pod 内的配置文件,不管 Pod 被调度到哪台服务器上,都会完成自动映射...进一步地,如果 ConfigMap 中的 key-value 数据被修改,则映射到 Pod 中的“配置文件”也会随之更新。 ---- 附录 整理自 《Kubernetes 权威指南(第4版)》

69220

ConfigMap 补充 和 Secret

对于上一篇文章我们分享了为什么要使用 ConfigMap ,我们创建 ConfigMap 的时候可以传入单个或者多个键值对,也可以传入文件,还分享了如何简单的传入 ConfigMap 里面的数据作为环境变量...兄弟你很聪明,确实是这样的,我们来查看任意一个 pod ,看看详情 我们可以看到 这个目录/var/run/secrets/kubernetes.io/serviceaccount 是作为 k8s 的...secrets 挂载,那么我们看看里面有啥吧 果然猜测没错,该目录下有 3 个文件,是包含权限信息的 那么我们来创建 secret 并使用他来玩玩吧 如何创建并使用 secret 创建证书 openssl...,不是使用环境变量的方式,因为 secret 传递的是敏感信息,若直接体现在 yaml 清单中的环境变量,这样还是不太可取 写 yaml 清单,引用 secret mysecret.yaml...pod 里面的文件是明文的且挂进再进去了,pod 里面自己需要如何时候,看自己的需求了 此处记得挂载的名字需要是一样的,另外是使用 secret.secretName 关键字 如果是 ConfigMap

16730

kubernetes—数据存储

Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储...EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,当Pod销毁时, EmptyDir中的数据也会被永久删除...不过未来可能会加入IOPS、吞吐量等指标的配置 访问模式(accessModes) 用于描述用户应用对存储资源的访问权限,访问权限包括下面几种方式: ReadWriteOnce(RWO):读写权限,但是只能被单个节点挂载...containers: - name: nginx image: nginx:1.17.1 volumeMounts: # 将configmap挂载目录 - name:...:admin password:123456 # 可以看到映射已经成功,每个configmap都映射成了一个目录 # key--->文件 value---->文件中的内容 # 此时如果更新configmap

2.6K30

基于 KubernetesConfigMap 实现的腾讯云配置文件管理功能介绍

每一个环境都要定义其独立的各种配置。如何对配置文件进行管理,是应用程序管理的重要内容。 Kubernetes中通过ConfigMap资源管理应用程序的配置信息。...基于Kubenertes的ConfigMap实现了通过配置文件设置容器的环境变量和将key中的内容挂载到容器的某个目录。...Kubernetes将配置文件内容挂载到指定目录 apiVersion: v1 kind: Pod metadata: name: dapi-test-pod spec: containers...在使用上支持配置文件设置成容器的环境变量以及将配置文件的内容作为文件挂载到指定目录。...腾讯云容器服务基于Kubenertes中ConfigMap的功能,支持配置文件设置成容器的环境变量和支持挂载到制定目录。在UI界面直接进行操作,更加方便。同时支持配置文件的版本管理,便于回滚和追溯。

3.3K20
领券