
k8s ConfigMap 配置中心
ConfigMap 简介
ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。ConfigMap跟secret很类似,但它可以更方便地处理不包含敏感信息的字符串。
注意
- ConfigMap必须在Pod引用它之前创建
- 使用envFrom时,将会自动忽略无效的键
- Pod只能使用同一个命名空间内的ConfigMap
ConfigMap的yaml定义
示例
apiVersion: v1
kind: ConfigMap
metadata:
name: appsettings.name-api
namespace: netcore
data:
appsettings.json: |
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
相信大伙都看得出来这是一个ConfigMap关于appsetting.json的配置
通过ConfigMap达到配置中心的作用
主要流程
查看当前pod上的目录信息
控制application.json的配置
修改yaml文件
- 添加上述的yaml放到最前面
- 添加volme
volumes:
- name: appsettings
ConfigMap:
name: appsettings.name-api
- 添加volumeMounts
volumeMounts:
- name: appsettings
mountPath: /app/appsettings.json
subPath: appsettings.json
完整的yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: appsettings.name-api
namespace: netcore
data:
appsettings.json: |
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: name-api
namespace: netcore
labels:
name: name-api
spec:
replicas: 3
selector:
matchLabels:
name: name-api
template:
metadata:
labels:
name: name-api
spec:
containers:
- name: name-api
env:
- name: HOSTNAME_COMMAND
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: appsettings
mountPath: /app/appsettings.json
subPath: appsettings.json
image: ccr.ccs.tencentyun.com/hbtest/name-api:v2
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: tenxunyunregistrykey
volumes:
- name: appsettings
configMap:
name: appsettings.name-api
---
kind: Service
apiVersion: v1
metadata:
name: name-api
namespace: netcore
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
selector:
name: name-api
查看结果
修改并再次发布
修改 Infomaction 为 Trace
apiVersion: v1
kind: ConfigMap
metadata:
name: appsettings.name-api
namespace: netcore
data:
appsettings.json: |
{
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: name-api
namespace: netcore
labels:
name: name-api
spec:
replicas: 3
selector:
matchLabels:
name: name-api
template:
metadata:
labels:
name: name-api
spec:
containers:
- name: name-api
env:
- name: HOSTNAME_COMMAND
valueFrom:
fieldRef:
fieldPath: metadata.name
volumeMounts:
- name: appsettings
mountPath: /app/appsettings.json
subPath: appsettings.json
image: ccr.ccs.tencentyun.com/hbtest/name-api:v2
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: tenxunyunregistrykey
volumes:
- name: appsettings
configMap:
name: appsettings.name-api
---
kind: Service
apiVersion: v1
metadata:
name: name-api
namespace: netcore
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
selector:
name: name-api
再次发布
查看相关pod
我们会发现它并没有改变。
删除副本集并再次查看结果
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 :
好是好,这个对效率影响大不大哇,效率高不高
一个bug让程序员走上法庭 索赔金额达400亿日元
剑轩 : 有点可怕
ASP.NET Core 服务注册生命周期
剑轩 :
http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术