我在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文件未引发任何错误。它工作成功。这次我尝试使用文件测试kubernetes configmap。
== configmap.properties
mysql_root_password=password
mysql_password=password
mysql_database=test
但是我坚持这部分。大多数configmap示例都将kubectl命令与--from-file选项一起使用,如下所示,
kubectl create configmap simple-config --from-file=configmap.properties
但是我不知道如何使用清单yaml文件语法来挂载属性文件。有什么建议吗?
答案 0 :(得分:2)
在未先从属性文件创建ConfigMap的情况下,不能直接在Pod中挂载属性文件。可以从如下的env文件创建ConfigMap
kubectl create configmap simple-config \
--from-env-file=configmap.properties