k8s-configmap 创建
来源:互联网 发布:喜马拉雅网络加载失败 编辑:程序博客网 时间:2024/05/23 18:31
在一个pod里面使用ConfigMap大致有三种方式:
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/test2key=456[root@controller01 deployment]# cat confmap/test1key=123
从目录创建
[root@controller01 deployment]# kubectl create configmap test-conf001 --from-file=confmapconfigmap "test-conf001" created
当
--from-file
指向目录的时候,每个在目录底下的所有文件会被用在ConfigMap里面创建一个键值对,键的名字就是文件名,值就是文件的内容 。查看创建的configmap
[root@controller01 deployment]# kubectl describe configmap test-conf001Name: test-conf001Namespace: defaultLabels: <none>Annotations: <none>Data`====`test1: 8 bytestest2: 8 bytes
生成yaml文件
[root@controller01 deployment]# kubectl get configmap test-conf001 -o yamlapiVersion: v1data:test1: |key=123test2: |key=456kind: ConfigMapmetadata:creationTimestamp: 2017-06-21T08:52:02Zname: test-conf001namespace: defaultresourceVersion: "2460831"selfLink: /api/v1/namespaces/default/configmaps/test-conf001uid: 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
- k8s-configmap 创建
- k8s-configmap 在pod中使用
- k8s创建pod
- 在K8s中创建StatefulSet
- k8s
- kubernetes资源对象--ConfigMap
- 创建k8s集群(仅限于理论,无实践)
- Kubernetes 1.2 新功能介绍:ConfigMap
- [k8s]k8s rbac语法
- [k8s]k8s架构图解
- Kubernetes Configuration Configuring Redis using a ConfigMap
- 《kubernetes-1.8.0》18-examples-configmap
- 在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序
- k8s 部署
- k8s Deployment
- k8s swap
- k8s安装
- k8s网络
- 高德地图,百度地图坐标系GPS的转化
- Koltin简明学习,解构声明
- OpenCV代码提取:remap函数的实现
- EditText
- ADG swicthover操作(主备切换)
- k8s-configmap 创建
- JAVA源码解析(11)-java.beans.XMLEncoder、java.beans.XMLDecoder(一)
- Mybatis Generator 使用(Maven插件)
- centos7在线lvm扩容
- 系列:iOS开发-从扩展UIButton到自定义控件
- electron安装设置代理的坑
- 使用DWR框架实现服务器推送Demo
- MAC下,使用brew安装软件时总提示更新问题
- shell脚本基础知识