寫(xiě)在前面
今天重構(gòu)前人開(kāi)發(fā)的一個(gè)系統(tǒng),有個(gè)組件是跑在裸機(jī)上的,通過(guò)systemd來(lái)管理,現(xiàn)在將其改到k8s中。
第一步,要把一些硬編碼的參數(shù)寫(xiě)到配置文件中,改為每次啟動(dòng)從配置文件中讀,由此產(chǎn)生了這篇筆記,即將configmap mount成pod中的配置文件,這樣每次改參數(shù)就可以直接改configmap就好了,后續(xù)可以改成configmap發(fā)生變化時(shí)自動(dòng)重建pod重新load配置文件。
創(chuàng)建configmap
apiVersion: v1
kind: ConfigMap
metadata:
name: busybox-config
namespace: default
data:
minipoppy.conf: |
fileserverip:1.1.1.1
user:root
password:abcd
創(chuàng)建POD引用這個(gè)config
apiVersion: apps/v1
kind: Deployment
metadata:
name: busybox
labels:
app: busybox
spec:
replicas: 1
selector:
matchLabels:
app: busybox
template:
metadata:
labels:
app: busybox
spec:
containers:
- name: busybox
image: 172.18.141.128:5000/busybox:latest
command:
- sleep
- "3600"
volumeMounts:
- name: config-volume
mountPath: /etc/minipoppy/minipoppy.conf
subPath: minipoppy.conf
volumes:
- name: config-volume
configMap:
name: busybox-config
暫時(shí)沒(méi)搞懂這個(gè)mountPath和subPath的關(guān)系,做個(gè)遺留問(wèn)題后面解決。
mountPath: /etc/minipoppy/minipoppy.conf
subPath: minipoppy.conf