我们希望在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板上。
答案 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中读取。