一般情况下服务env是直接通过yaml文件导入的类似 当时当我们多个服务同时需要这个配置的时候 如果单一配置 后面修改的话就比较麻烦
env:
- name: LOG_DIR
value: /var/log/nginx
我们可以使用configmap
的方法先声明配置 然后通过env传入pod
中
kind: ConfigMap
apiVersion: v1
metadata:
name: test
data:
mysql.db.name: test
mysql.host: 192.168.0.10
mysql.password: test
mysql.port: '3306'
mysql.user: test
然后我们在yaml
文件中指定
- name: MYSQL_SERVICE_DB_NAME
valueFrom:
configMapKeyRef:
name: test
key: mysql.db.name
- name: MYSQL_SERVICE_HOST
valueFrom:
configMapKeyRef:
name: test
key: mysql.host
- name: MYSQL_SERVICE_PORT
valueFrom:
configMapKeyRef:
name: test
key: mysql.port
- name: MYSQL_SERVICE_USER
valueFrom:
configMapKeyRef:
name: test
key: mysql.user
- name: MYSQL_SERVICE_PASSWORD
valueFrom:
configMapKeyRef:
name: test
key: mysql.password
这样后面就算修改我们只需要修改configmap
就可以 服务会自己读配置文件中的内容