# K8s ConfigMap 設置


# 前言

在 K8s 當中我們去 Deploy 一個 Deployment,其中的 Container 或是 K8s 上的環境我們可能會希望能夠透過一些設置來進行調整,那這時候開發人員就可以透過設計 ConfigMap 與你需要得 K8s Resource 進行綁定並且給予環境變數。


# 設置 ConfigMap 透過 yml

1
2
3
4
5
6
apiVersion: v1
kind: ConfigMap
metadata:
name: django-config # Configmap 名稱
data:
DEBUG : True # 各種你需要的參數

# 設置 ConfigMap 透過檔案

1
kubectl create configmap (configmap名稱) --from-env-file="檔案名稱"

# K8s Resource 取用 Configmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
apiVersion: apps/v1
kind: Deployment
metadata:
name: XXX-backend-service
spec:
replicas: 1
selector:
matchLabels:
app: XXX-backend-service
template:
metadata:
labels:
app: XXX-backend-service
spec:
containers:
- name: XXX-backend-service
image: XXX:latest
ports:
- containerPort: 8000
envFrom:
- configMapRef:
name: django-config # 在這裡設定就好