k8s通过configmap管理应用配置信息

Secret 可以为 Pod 提供密码、Token、私钥等敏感数据;对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap。

ConfigMap 的创建和使用方式与 Secret 非常类似,主要的不同是数据以明文的形式存放。

1.configMap的创建

与 Secret 一样,ConfigMap 也支持四种创建方式:

1.1通过 --from-literal

kubectl create configmap myconfigmap --from-literal=config1=xxx --from-literal=config2=yyy

每个 --from-literal 对应一个信息条目。

1.2通过 --from-file

echo -n xxx > ./config1
echo -n yyy > ./config2
kubectl create configmap myconfigmap --from-file=./config1 --from-file=./config2

每个文件内容对应一个信息条目。

1.3通过 --from-env-file

cat << EOF > env.txt
config1=xxx
config2=yyy
EOF
kubectl create configmap myconfigmap --from-env-file=env.txt

文件 env.txt 中每行 Key=Value 对应一个信息条目。

1.4通过 YAML 配置文件:

文件中的数据直接以明文输入。

2.Volumes方式的configmap使用

与 Secret 一样,Pod 也可以通过 Volume 或者环境变量的方式使用 Secret。

大多数情况下,配置信息都以文件形式提供,所以在创建 ConfigMap 时通常采用 --from-file 或 YAML 方式,读取 ConfigMap 时通常采用 Volume 方式。

比如给 Pod 传递如何记录日志的配置信息:

可以采用 --from-file 形式,则将其保存在文件 logging.conf 中,然后执行命令:

kubectl create configmap myconfigmap --from-file=./logging.conf

如果采用 YAML 配置文件,其内容则为:

注意别漏写了 Key logging.conf 后面的 | 符号。

创建并查看 ConfigMap:

在 Pod 中使用此 ConfigMap,配置文件为:

① 在 volume 中指定存放配置信息的文件相对路径为 myapp/logging.conf

② 将 volume mount 到容器的 /etc 目录。

创建 Pod 并读取配置信息:

配置信息已经保存到 /etc/myapp/logging.conf 文件中。与 Secret 一样,Volume 形式的 ConfigMap 也支持动态更新

原文地址:https://www.cnblogs.com/benjamin77/p/9961127.html

时间: 2024-07-31 07:46:19

k8s通过configmap管理应用配置信息的相关文章

k8s用 ConfigMap 管理配置(13)

一.ConfigMap介绍 Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap ConfigMap 的创建和使用方式与 Secret 非常类似,主要的不同是数据以明文的形式存放. 与 Secret 一样,ConfigMap 也支持四种创建方式: 1. 通过 --from-literal: kubectl create configmap myconfigmap --from-literal=config1=xx

k8s的configMap基本概念及案例

pod中两种特殊类型的存储卷:secret,configMap  pod.spec.volumes.secret  pod.spec.volumes.configMap多数情况下,这两个存储卷不是给pod做存储空间来用的,而是给我们的管理员或者用户提供了从集群外部向pod内部的应用注入配置信息的方式. configMap里放的是配置信息configMap的主要作用是:让配置信息与镜像文件结藕,配置信息可以通过configMap注入.简单来讲,一个configMap就是一系列配置数据的集合,而这些

k8s之安全信息(secret)及配置信息(configmap)管理

应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret. Secret 会以密文的方式存储数据,避免了直接在配置文件中保存敏感信息.Secret 会以 Volume 的形式被 mount 到 Pod,容器可通过文件的方式使用 Secret 中的敏感数据:此外,容器也可以环境变量的方式使用这些数据. Secret 可通过命令行或 YAML 创建.比如希望 Secret 中包含如下信息: 用

k8s之安全信息(Secret)及配置信息(ConfigMap)

Secret secret也是k8s中的一个资源对象,主要用于保存轻量的敏感信息,比如数据库用户名和密码,令牌,认证密钥等. 我们可以将这类敏感信息放在secret对象中,如果把它们暴露到镜像或者pod spec中稍显不妥,将其放在secret对象中可以更好地控制及使用,并降低意外暴露的风险.Secret可以使用volume或者环境变量的方式来使用这些轻量级数据. Secret有三种类型: Service Account:用来访问kubernetes API,由k8s自动创建,并且会自动挂载到p

用 ConfigMap 管理配置 - 每天5分钟玩转 Docker 容器技术(159)

Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap. ConfigMap 的创建和使用方式与 Secret 非常类似,主要的不同是数据以明文的形式存放. 与 Secret 一样,ConfigMap 也支持四种创建方式: 1. 通过 --from-literal: kubectl create configmap myconfigmap --from-literal=config1=xxx --from-lite

Global Azure上创建、配置、管理SQL Server信息

近期写了很多关于Azure的相关的文档,今天忙完介绍一下,如何在Windows Azure上配置和管理SQL Server信息:我们今天的实验还是以Global Azure来操作:其实在Windows Azure上的SQL Server结构跟本地差不多,只是在Azure上创建的SQL Server数据不会具有系统默认的管理员权限:比如创建数据库的时候需要指定数据库的管理员信息:不能使用sa做为管理员账户:具体就不多介绍了,具体见下: 我们首先单击SQL 数据库---添加 因为我们环境内没有创建过

k8s使用ConfigMap配置mysql和nginx (13)

configmap:是实现给容器内应用程序传递参数.原因:就是为了让镜像 和 配置文件解耦,以便实现镜像的可移植性和可复用性举个例子,比如我有一个pod,既要运行在正式环境,又要运行在测试环境,还有预发三个环境,但是当中的配置,是不一样的,那么我们需要准备三个不同的pod进行测试使用.configmap就是解决这个问题的,我们只需要准备不同的configmap即可,然后把不同的configmap挂载到同一个pod当中,就可以实现不同环境的pod运行,减少pod的复杂度,实现程序和pod的分离.

k8s的包管理

1.Helm的概念和架构 每个成功的软件平台都有一个优秀的打包系统,比如 Debian.Ubuntu 的 apt,Redhat.Centos 的 yum.而 Helm 则是 Kubernetes 上的包管理器. 思考??Helm 到底解决了什么问题?为什么 Kubernetes 需要 Helm? Kubernetes 能够很好地组织和编排容器,但它缺少一个更高层次的应用打包工具,而 Helm 就是来干这件事的. 举个例子,我们需要部署一个MySQL服务,Kubernetes则需要部署以下对象:

SharePoint管理中心配置资源限制(大型列表)

SharePoint管理中心配置资源限制(大型列表) 列表是SharePoint的核心.SharePoint中所有东西都是一个列表.可以说SharePoint内容就是列表驱动的. 之前版本的SharePoint有个缺点就是当列表项目超过2000项时,性能会降级.这并不意味着如果列表有2001项,性能降级就很明显.一个SharePoint列表可以有上百万的记录.让我们分解一下当用户请求列表信息时到底发生了什么吧. 当用户点击链接查看列表项的时候,它调用了查询返回到SQL抽取这些项目并呈现他们.查询