将两个不同的配置映射用于与卷装入相同的容器

时间:2018-03-09 19:32:17

标签: deployment kubernetes

我正在尝试为k8s pod编写部署。 我在deploy.yaml文件中有以下内容

apiVersion: apps/v1beta1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
 name: __DEPLOY_NAME__-__ENV__
 namespace: __RG_NAME__
spec:
 replicas: 1
 template:
metadata:
  labels:
    app: __DEPLOY_NAME__-__ENV__
  containers:
  - name: __DEPLOY_NAME__-__ENV__
    image: __CONTAINER_REGISTRY__/__IMAGE_NAME__
    env:
    - name: NODE_ENV
      value: __ENV__
    imagePullPolicy: Always
    volumeMounts:
    - name: config-volume
      mountPath: /etc/config
    ports:
    - containerPort: __PORT__
    volumes:
    - name: config-volume
      configMap:
        name: config
      configMap:
        name: oauth

我尝试使用名为' config'的两个不同的配置映射。和' oauth'当卷安装在同一个pod中时。当我尝试上面的代码时,我收到了以下错误。

  

验证数据时出错:找到v1.Container的无效字段卷;如果您选择忽略这些错误,请使用--validate = false

关闭验证

我不确定我想要达到的目标是否可行,如果没有,那么我应该如何进行音量调整。

1 个答案:

答案 0 :(得分:1)

首先:修复你的卷块上的缩进,它应该少两个空格(不是containers:的孩子,而是它的兄弟。

第二:你应该创建两个具有不同名称的不同卷,然后为每一个卷安装一个卷

第三:如果你需要合并它们中的文件,你可能想尝试使用subPath

安装特定文件