Kubernetes 1.2中如何使用ConfigMap

介绍

这篇文章主要介绍Kubernetes 1.2中如何使用ConfigMap,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

使用ConfigMap

很多应用程序的配置需要通过配置文件,命令行参数和环境变量的组合配置来完成。这些配置应该从图像内容中解耦,以此来保持容器化应用程序的便携性.ConfigMap API资源提供了将配置数据注入容器的方式,同时保持容器是不知道Kubernetes的.ConfigMap可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。

ConfigMap总览

ConfigMap API资源保持键-值对配置数据,这个数据可以在豆荚里使用,或者被用来为像控制器一样的系统组件存储配置数据。虽然ConfigMap跟秘密类似,但是ConfigMap可以更方便的处理不包含敏感信息的字符串

让我们来看看完成的例子吧:

 Kubernetes 1.2中如何使用ConfigMap

,<强>数据一栏包括了配置数据。就如同你们看到的那样,ConfigMap可以被用来保存单个属性,也可以用来保存一个配置文件。

配置数据可以通过很多种方式在豆荚里被使用.ConfigMaps可以被用来:

1,,, 设置环境变量的值

2、     在容器里设置命令行参数

3、     在数据卷里面创建config文件

用户和系统组件两者都可以在ConfigMap里面存储配置数据。

创建ConfigMaps

你可以使用 kubectl create configmap 命令轻松从文字值、文件或者目录来创建ConfigMaps。

让我们来看一看创建ConfigMap的很多不同的方法吧:

1、从文件创建

现在我们已经有一个包含一些文件的目录,它已经包含了我们想要设置ConfigMaps的数据:

Kubernetes 1.2中如何使用ConfigMap

kubectl create configmap命令可以被用来创建ConfigMap来存储这个目录里面每个文件的内容:

Kubernetes 1.2中如何使用ConfigMap

--from-file指向目录的时候,每个在目录底下的所有文件会被用在ConfigMap里面创建一个键值对,键的名字就是文件名,值就是文件的内容。

让我们来看一下这个命令创建的ConfigMap:

Kubernetes 1.2中如何使用ConfigMap

你可以看到在映射里面的两个是从kubectl指定的目录中创建的文件名。这些键的内容可能会很大,所以在kubectl describe的输出中,你只能够看到键的名字和他们的大小。

如果我们想要看到键的值的话,我们可以仅仅只是kubectl get资源:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

2、从文件创建

我们也可以传递给--from-file一个特定文件,并且多次传递到kubectl。以下命令跟上文例子中的结果是一样的:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

我们也可以用 --from-file 通过传递 key=value为个别文件设置键来使用:

--from-file=game-special-key=docs/user-guide/configmap/kubectl/game.null

Kubernetes 1.2中如何使用ConfigMap