59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: game-demo
|
|
data:
|
|
# property-like keys; each key maps to a simple value
|
|
player_initial_lives: "3"
|
|
ui_properties_file_name: "user-interface.properties"
|
|
|
|
# file-like keys
|
|
game.properties: |
|
|
enemy.types=aliens,monsters
|
|
player.maximum-lives=5
|
|
user-interface.properties: |
|
|
color.good=purple
|
|
color.bad=yellow
|
|
allow.textmode=true
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Pod
|
|
metadata:
|
|
name: configmap-demo-pod
|
|
spec:
|
|
containers:
|
|
- name: demo
|
|
image: alpine
|
|
command: ["sleep", "3600"]
|
|
env:
|
|
# Define the environment variable
|
|
- name: PLAYER_INITIAL_LIVES # Notice that the case is different here
|
|
# from the key name in the ConfigMap.
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: game-demo # The ConfigMap this value comes from.
|
|
key: player_initial_lives # The key to fetch.
|
|
- name: UI_PROPERTIES_FILE_NAME
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: game-demo
|
|
key: ui_properties_file_name
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: "/config"
|
|
readOnly: true
|
|
volumes:
|
|
# You set volumes at the Pod level, then mount them into containers inside that Pod
|
|
- name: config
|
|
configMap:
|
|
# Provide the name of the ConfigMap you want to mount.
|
|
name: game-demo
|
|
# An array of keys from the ConfigMap to create as files
|
|
items:
|
|
- key: "game.properties"
|
|
path: "game.properties"
|
|
- key: "user-interface.properties"
|
|
path: "user-interface.properties"
|