如何用自己电脑做网站页面,苏州浒关网站建设,找工作哪个网站好2022,oss挂载到wordpress配置存储#xff1a;ConfigMap、Secret 前言ConfigMapSecret 前言 前面介绍过的各种存储主要都是做数据的持久化#xff0c;本节介绍的ConfigMap和Secret主要用于配置文件存储#xff0c;或者环境变量的配置。 ConfigMap
创建ConfigMap后#xff0c;数据实际会存储在K8s中… 配置存储ConfigMap、Secret 前言ConfigMapSecret 前言 前面介绍过的各种存储主要都是做数据的持久化本节介绍的ConfigMap和Secret主要用于配置文件存储或者环境变量的配置。 ConfigMap
创建ConfigMap后数据实际会存储在K8s中EtcdEtcd然后通过创建Pod时引用该数据。
应用场景应用程序配置
Pod使用configmap数据有两种方式
变量注入数据卷挂载
# cat configmap.yamlapiVersion: v1
kind: ConfigMap
metadata:name: configmap-demo
data:# 类属性键每一个键都映射到一个简单的值abcd: 1234cdef: 5678# 类文件键redis.properties: |port: 6379host: 192.168.31.10#configmap pod引用#
apiVersion: v1
kind: Pod
metadata:name: configmap-demo-pod
spec:containers:- name: configmap-podimage: nginxenv:- name: ABCD # pod中环境变量 - echo $ABCDvalueFrom:configMapKeyRef:name: configmap-demo # 与configmap.name一致key: abcd # 取值的key- name: CDEF # pod中环境变量 - echo $CDEFvalueFrom:configMapKeyRef:name: configmap-demo # 与configmap.name一致key: cdef # 取值的keyvolumeMounts:- name: configmountPath: /configreadOnly: truevolumes:- name: configconfigMap:name: configmap-demo # 与configmap.name一致# 来自 ConfigMap 的一组键将被创建为文件items:- key: redis.properties # 对用configmap的key名称path: redis.properties # 文件名字/config/redis.properties# kubectl apply -f configmap.yaml
configmap/configmap-demo created# kubectl get configmap
NAME DATA AGE
configmap-demo 3 5s# kubectl apply -f configmap-pod.yaml
pod/configmap-demo-pod configured# kubectl exec -it configmap-demo-pod -- bash
rootconfigmap-demo-pod:/# ls /config
redis.properties
rootconfigmap-demo-pod:/# echo $ABCD
1234
rootconfigmap-demo-pod:/# echo $CDEF
5678
rootconfigmap-demo-pod:/# cat /config/redis.properties
port: 6379
host: 192.168.31.10这里使用了两种挂载方式环境变量和配置文件。
被挂载的 ConfigMap 内容会被自动更新当卷中使用的 ConfigMap 被更新时所投射的键最终也会被更新。 Kubelet 组件会在每次周期性同步时检查所挂载的 ConfigMap 是否为最新。Kubelet 使用的是其本地的高速缓存来获得 ConfigMap 的当前值。高速缓存的类型可以通过 KubeletConfiguration 结构ConfigMapAndSecretChangeDetectionStrategy 字段来配置。
Secret
与ConfigMap类似区别在于Secret主要存储敏感数据所有的数据要经过base64编码。 应用场景凭据
kubectl create secret 支持三种数据类型
docker-registry存储镜像仓库认证信息generic从文件、目录或者字符串创建例如存储用户名密码tls存储证书例如HTTPS证书
# echo -n admin | base64
YWRtaW4# echo -n 1f2d1e2e67df | base64
MWYyZDFlMmU2N2Rm# cat secret.yamlapiVersion: v1
kind: Secret
metadata:name: db-user-pass
type: Opaque
data:username: YWRtaW4password: MWYyZDFlMmU2N2Rm# cat secret-pod.yamlapiVersion: v1
kind: Pod
metadata:name: secret-demo-pod
spec:containers:- name: secret-demoimage: nginxenv:- name: USERvalueFrom:secretKeyRef:name: db-user-passkey: username- name: PASSvalueFrom:secretKeyRef:name: db-user-passkey: passwordvolumeMounts:- name: configmountPath: /configreadOnly: truevolumes:- name: configsecret:secretName: db-user-passitems:- key: usernamepath: my-dbusername# kubectl exec -it secret-demo-pod -- bashrootsecret-demo-pod:/# echo $USER $PASS
admin 1f2d1e2e67df
rootsecret-demo-pod:/# cat /config/my-dbusername
admin这里也是使用了两种挂载方式一种是环境变量一种是作为文件挂载