ConfigMap
创建ConfigMap
bash
#--from-file= 一行一个的kv存储
kubectl create configmap my-configmap --from-file=config.propertiesbash
kubectl create configmap my-configmap --from-literal=key1=value1,key2=value2使用configmap变量
configmap.yaml
yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap-user
data:
name: zly
age: "21"
---
apiVersion: v1
kind: ConfigMap
metadata:
name: my-configmap-log
data:
log_level: INFOpod.yaml
yaml
apiVersion: v1
kind: Pod
metadata:
name: my-env-pod
spec:
containers:
- name: test-container
image: nginx
command: [ "sh", "-c", "env" ]
env:
- name: NAME
valueFrom:
configMapKeyRef:
name: my-configmap-user
key: name
- name: AGE
valueFrom:
configMapKeyRef:
name: my-configmap-user
key: age
envFrom:
- configMapRef:
name: my-configmap-log
restartPolicy: Neverconfigmap的文件卷使用
pod-volume.yaml
yaml
apiVersion: v1
kind: Pod
metadata:
name: my-env-pod-volume
spec:
containers:
- name: test-container
image: nginx
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: my-configmap-user
restartPolicy: Neverconfigmap热更新
index.html
html
CONFIG_MAPconfigmap.yaml
yaml
kubectl create configmap nginx-index-config --from-file=index.htmldeployment.yaml
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: hotupdate-deployment
name: hotupdate-deployment
spec:
replicas: 5
selector:
matchLabels:
app: hotupdate-deployment
template:
metadata:
labels:
app: hotupdate-deployment
spec:
containers:
- image: nginx
name: nginx
volumeMounts:
- name: config-volume
mountPath: /usr/share/nginx/html
volumes:
- name: config-volume
configMap:
name: nginx-index-config不可改变
yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-index-config
data:
index.html: |
CONFIG_MAP
# 配置文件不可改变
immutable: true