如何使用 manifest yaml 在 Kubernetes configmap 中挂载属性文件
How to mount the properties file in Kubernetes configmap using manifest yaml
我在 windows 10 上使用 minikube 并尝试使用文字类型和外部文件类型测试 Kubernetes ConfigMap。首先我制作下面的清单 yaml 文件来制作 ConfigMap。
apiVersion: v1
kind: ConfigMap
metadata:
name: simple-config
data:
mysql_root_password: password
mysql_password: password
mysql_database: test
---
apiVersion: v1
kind: Pod
metadata:
name: blog-db
labels:
app: blog-mysql
spec:
containers:
- name: blog-mysql
image: mysql:latest
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_root_password
- name: MYSQL_PASSWORD
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_password
- name: MYSQL_DATABASE
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_database
ports:
- containerPort: 3306
上面的 configmap yaml 文件没有抛出任何错误。它成功地工作。这次尝试用file.
测试kubernetes configmap
== configmap.properties
mysql_root_password=password
mysql_password=password
mysql_database=test
但是我坚持这部分。大多数 configmap 示例使用带有 --from-file 选项的 kubectl 命令,如下所示,
kubectl create configmap simple-config --from-file=configmap.properties
但我不知道如何使用清单 yaml 文件语法挂载属性文件。有什么建议吗?
如果不先从属性创建 ConfigMap,就不能直接在 pod 中挂载属性文件 file.You 可以从 env 文件创建 configMap,如下所示
kubectl create configmap simple-config \
--from-env-file=configmap.properties
我在 windows 10 上使用 minikube 并尝试使用文字类型和外部文件类型测试 Kubernetes ConfigMap。首先我制作下面的清单 yaml 文件来制作 ConfigMap。
apiVersion: v1
kind: ConfigMap
metadata:
name: simple-config
data:
mysql_root_password: password
mysql_password: password
mysql_database: test
---
apiVersion: v1
kind: Pod
metadata:
name: blog-db
labels:
app: blog-mysql
spec:
containers:
- name: blog-mysql
image: mysql:latest
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_root_password
- name: MYSQL_PASSWORD
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_password
- name: MYSQL_DATABASE
valueFrom:
configMapKeyRef:
name: simple-config
key: mysql_database
ports:
- containerPort: 3306
上面的 configmap yaml 文件没有抛出任何错误。它成功地工作。这次尝试用file.
测试kubernetes configmap== configmap.properties
mysql_root_password=password
mysql_password=password
mysql_database=test
但是我坚持这部分。大多数 configmap 示例使用带有 --from-file 选项的 kubectl 命令,如下所示,
kubectl create configmap simple-config --from-file=configmap.properties
但我不知道如何使用清单 yaml 文件语法挂载属性文件。有什么建议吗?
如果不先从属性创建 ConfigMap,就不能直接在 pod 中挂载属性文件 file.You 可以从 env 文件创建 configMap,如下所示
kubectl create configmap simple-config \
--from-env-file=configmap.properties