volumeMounts:
- name: cfg-volmountPath: /etc/grafana/provisioning/datasources
- name: cfg-inimountPath: /usr/share/grafana/conf/sample.inisubPath: sample.ini
- name: cfg-tempmountPath: /usr/share/grafana/conf/test.jsonsubPath: test.json
volumes:- name: cfg-volconfigMap:name: cm-grafana-yaml- name: cfg-iniconfigMap:name: cm-grafana-ini- name: cfg-tempconfigMap:name: cm-grafana-temp
需求
将一个configmap 内的两个文件挂载在一个pod的不同目录下
- /app/conf/grafanaoracle.properties
- /app/start-timeshift.sh
创建一个configmap
kind: ConfigMap
apiVersion: v1
metadata:labels:app.kubernetes.io/managed-by: Helmname: test-config
data:grafanaoracle.properties: |name=kevinnage=19start-timeshift.sh: |#!/bin/shcd /app/influxdb-timeshift-proxyINFLUXDB=nms-influxdb:8086 /usr/bin/npm run start
创建一个deploy
apiVersion: apps/v1
kind: Deployment
metadata:labels:zcm-app: test-configmapname: test-configmap
spec:replicas: 1selector:matchLabels:zcm-app: test-configmaptemplate:metadata:labels:zcm-app: test-configmapspec:containers:- env:- name: CLOUD_APP_NAMEvalue: paas_test-configmapimage: nginximagePullPolicy: IfNotPresentname: test-configmapports:- containerPort: 9999name: http-oracleprotocol: TCPvolumeMounts: # 关键代码 开始- mountPath: /app/start-timeshift.shname: propertiesreadOnly: truesubPath: start-timeshift.sh- mountPath: /app/conf/grafanaoracle.propertiesname: propertiesreadOnly: truesubPath: grafanaoracle.propertiesdnsPolicy: ClusterFirstrestartPolicy: Alwaysvolumes:- configMap:defaultMode: 420items:- key: grafanaoracle.properties # key 和 path 同名即可path: grafanaoracle.properties- key: start-timeshift.shpath: start-timeshift.shname: test-configmapname: properties # 关键代码 结束