k8s-configmap 创建
2017-06-21 17:39
148 查看
在一个pod里面使用ConfigMap大致有三种方式:
1. 命令行参数
2. 环境变量
3. 数据卷文件
创建configmap有两种方式
1. yaml文件创建
2. 通过kubectl命令行创建
最佳实践是通过yaml文件创建,这样能够达到svc、rc、configmap创建的统一,如果是文件,我们可以先通过命令行创建configmap,然后通过
ConfigMap API资源提供了将配置数据注入容器的方式,同时保持容器是不知道Kubernetes的。
ConfigMap可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。
从目录创建
当
查看创建的configmap
生成yaml文件
我们可以看到文件名对应的是一个key,value是文件内容
查看
1. 创建
2. 查看
1. 命令行参数
2. 环境变量
3. 数据卷文件
创建configmap有两种方式
1. yaml文件创建
2. 通过kubectl命令行创建
最佳实践是通过yaml文件创建,这样能够达到svc、rc、configmap创建的统一,如果是文件,我们可以先通过命令行创建configmap,然后通过
kubectl get configmap nginx-conf -o yaml导出yaml文件。
创建configmap
很多应用程序的配置需要通过配置文件,命令行参数和环境变量的组合配置来完成。这些配置应该从image内容中解耦,以此来保持容器化应用程序的便携性。ConfigMap API资源提供了将配置数据注入容器的方式,同时保持容器是不知道Kubernetes的。
ConfigMap可以被用来保存单个属性,也可以用来保存整个配置文件或者JSON二进制大对象。
目录创建configmap
目录结果[root@controller01 deployment]# ls confmap/ test1 test2 [root@controller01 deployment]# cat confmap/test2 key=456 [root@controller01 deployment]# cat confmap/test1 key=123
从目录创建
[root@controller01 deployment]# kubectl create configmap test-conf001 --from-file=confmap configmap "test-conf001" created
当
--from-file指向目录的时候,每个在目录底下的所有文件会被用在ConfigMap里面创建一个键值对,键的名字就是文件名,值就是文件的内容。
查看创建的configmap
[root@controller01 deployment]# kubectl describe configmap test-conf001 Name: test-conf001 Namespace: default Labels: <none> Annotations: <none> Data `====` test1: 8 bytes test2: 8 bytes
生成yaml文件
[root@controller01 deployment]# kubectl get configmap test-conf001 -o yaml apiVersion: v1 data: test1: | key=123 test2: | key=456 kind: ConfigMap metadata: creationTimestamp: 2017-06-21T08:52:02Z name: test-conf001 namespace: default resourceVersion: "2460831" selfLink: /api/v1/namespaces/default/configmaps/test-conf001 uid: e4ddf77f-565e-11e7-901f-6c92bf2e6e88
我们可以看到文件名对应的是一个key,value是文件内容
通过文件创建
创建[root@controller01 deployment]# kubectl create configmap test-conf002 --from-file=keyone=confmap/test1 --from-file=keytwo=confmap/test2 configmap "test-conf002" created
查看
[root@controller01 deployment]# kubectl get configmap test-conf002 -o yaml apiVersion: v1 data: keyone: | key=123 keytwo: | key=456 kind: ConfigMap metadata: creationTimestamp: 2017-06-21T09:23:53Z name: test-conf002 namespace: default resourceVersion: "2464278" selfLink: /api/v1/namespaces/default/configmaps/test-conf002 uid: 57c5470e-5663-11e7-901f-6c92bf2e6e88
通过命令行创建
--from-literal选项采用了子面值 语法,这个语法允许字面值被直接运用到命令行。
1. 创建
[root@controller01 deployment]# kubectl create configmap test-conf003 --from-literal=aa=1 --from-literal=bb=2 configmap "test-conf003" created You have new mail in /var/spool/mail/root
2. 查看
[root@controller01 deployment]# kubectl get configmap test-conf003 -o yaml apiVersion: v1 data: aa: "1" bb: "2" kind: ConfigMap metadata: creationTimestamp: 2017-06-21T09:36:26Z name: test-conf003 namespace: default resourceVersion: "2465633" selfLink: /api/v1/namespaces/default/configmaps/test-conf003 uid: 1900baf0-5665-11e7-901f-6c92bf2e6e88
相关文章推荐
- Kubernetes1.91(K8s)安装部署过程(三)--创建高可用etcd集群
- k8s对接OpenStack创建pod流程
- k8s-configmap 在pod中使用
- k8s创建资源的两种方式
- 【Kubernetes】在K8s中创建StatefulSet
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
- 记linux使用minikube创建k8s集群步骤及部分坑。。。(不用翻墙)
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
- k8s创建pod
- k8s 通过kubeadm 创建高可用集群
- Kubernetes--学习笔记-7 在k8s集群中创建pod
- k8s-configmap
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
- 创建k8s集群(仅限于理论,无实践)
- k8s第一个实例创建redis集群服务
- 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)
- k8s-1.9.1-步骤二(创建服务)