部署

时间:2018-01-23 10:54:52

标签: kubernetes

我们希望在Deployment的Pod模板中使用envFrom,如下所示:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mydeployment
spec:
  replicas: 3
  template:
    spec:
      containers:
      - name: myservice
        image: myimage:latest
        envFrom:
          - configMapRef:
            name: myconfigmap

错误消息:

  

错误:验证“k8s / deployment.yaml”时出错:验证数据时出错:找到v1.EnvFromSource的无效字段名称

使用K8s 1.7

编辑: ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: myconfigmap
data:
  TEST1: Hello world
  TEST2: test

配置图也显示在k8s仪表板的ConfigMaps板上。

3 个答案:

答案 0 :(得分:0)

您的部署中缺少标签的字段,并确保正确的Yaml语法(空格)。 更新了部署配置

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mydeployment
  labels:
    app: mydeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myservice
        image: httpd:latest
        envFrom:
        - configMapRef:
       name: myconfigmapenter code here

答案 1 :(得分:0)

yaml文件存在缩进问题。 试试这个

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mydeployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myservice
        image: myimage:latest
        envFrom:
        - configMapRef:
          name: myconfigmap

答案 2 :(得分:0)

请确保配置映射具有适当的键和值对以及缩进。 键:“值” 这是一个很小的错误,它将创建configmap,但是pod无法从configmap中读取。

相关问题