我正在编写一个helm图表,其中我需要为ConfigMap
(efs-url)的卷挂载提供nfs.server
值。
文档中有关于如何将ConfigMap
的值传递给环境变量甚至挂载ConfigMaps
的示例。我理解如何从values.yaml
传递此值,但我只是找不到关于如何使用ConfigMap
完成的示例。
我可以控制这个ConfigMap
,所以我可以根据需要重新格式化。
- 我是否错过了一些非常明显的东西?
- 这是可能的吗?
- 如果没有,有什么可能的解决方案?
---
apiVersion: v1
kind: ConfigMap
metadata:
name: efs-url
data:
url: yourEFSsystemID.efs.yourEFSregion.amazonaws.com
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: efs-provisioner
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: efs-provisioner
spec:
containers:
- name: efs-provisioner
image: quay.io/external_storage/efs-provisioner:latest
env:
- name: FILE_SYSTEM_ID
valueFrom:
configMapKeyRef:
name: efs-provisioner
key: file.system.id
- name: AWS_REGION
valueFrom:
configMapKeyRef:
name: efs-provisioner
key: aws.region
- name: PROVISIONER_NAME
valueFrom:
configMapKeyRef:
name: efs-provisioner
key: provisioner.name
volumeMounts:
- name: pv-volume
mountPath: /persistentvolumes
volumes:
- name: pv-volume
nfs:
server: <<< VALUE SHOULD COME FROM THE CONFIG MAP >>>
path: /
分析了这些注释后,看起来使用ConfigMap方法不适合这个例子,因为ConfigMap
是一个API对象,用于在键值对中存储非机密数据。Pods可以将configmap作为环境变量、命令行参数或卷中的配置文件使用。
要了解更多关于configmap和如何使用它们的信息,可以访问" configmap "节和"配置一个Pod使用configmap"部分。