写在前面
今天重构前人开发的一个系统,有个组件是跑在裸机上的,通过systemd来管理,现在将其改到k8s中。
第一步,要把一些硬编码的参数写到配置文件中,改为每次启动从配置文件中读,由此产生了这篇笔记,即将configmap mount成pod中的配置文件,这样每次改参数就可以直接改configmap就好了,后续可以改成configmap发生变化时自动重建pod重新load配置文件。
创建configmap
apiVersion: v1
kind: ConfigMap
metadata:
name: busybox-config
namespace: default
data:
minipoppy.conf: |
fileserverip:1.1.1.1
user:root
password:abcd
创建POD引用这个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
暂时没搞懂这个mountPath和subPath的关系,做个遗留问题后面解决。
mountPath: /etc/minipoppy/minipoppy.conf
subPath: minipoppy.conf
网友评论