How to add external yml config file into Kubernetes config map

7/2/2019

I have a config file inside a config folder i.e console-service.yml. I am trying to load at runtime using configMap, below is my deployment yml:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: consoleservice
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: consoleservice
    spec:
      containers:
      - name: consoleservice
        image: docker.example.com/app:1
        volumeMounts:
        - name: console-config-volume
          mountPath: /config/console-server.yml
          subPath: console-server.yml
          readOnly: true
      volumes:
      - name: console-config-volume
        configMap:
          name: console-config



kind: ConfigMap
apiVersion: v1
metadata:
  name: consoleservice
data:
  pool.size.core: 1
  pool.size.max: 16

I am new to configMap. How I can read .yml configuration from config/ location?

-- Chintamani
kubernetes

1 Answer

7/2/2019

There are two possible solutions for your problem.

1. Embedd your File directly into the ConfigMap
This coul look similar to this:

kind: ConfigMap
apiVersion: v1
metadata:
  name: some-yaml
file.yaml: |
  pool:
    size:
      core: 1
      max: 16

2. Create a ConfigMap from your YAML-File
Would be done by using kubectl:

kubectl create configmap some-yaml \
  --from-file=./some-yaml-file.yaml

This would create a ConfigMap containg the selected file. You can add multiple files to a single ConfigMap.

You can find more informations in the Documentation.

-- Alex
Source: StackOverflow