When I create this Pod from http://kubernetes.io/docs/user-guide/secrets/:
apiVersion: v1
kind: Pod
metadata:
name: secret-env-pod
spec:
containers:
- name: mycontainer
image: redis
env:
- name: SECRET_USERNAME
valueFrom:
secretKeyRef:
name: mysecret
key: username
- name: SECRET_PASSWORD
valueFrom:
secretKeyRef:
name: mysecret
key: password
restartPolicy: Never
The I get this error:
error validating "rc.yml": error validating data: [field fieldRef: is required, found invalid field secretKeyRef for v1.EnvVarSource]; if you choose to ignore these errors, turn validation off with --validate=false
I am using version 1.2 latest release by Atomic Host RHEL:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.0", GitCommit:"738b7603b042dcda7a5ba419ab0e7f40a617080c", GitTreeState:"clean"}
Server Version: version.Info{Major:"1", Minor:"2", GitVersion:"v1.2.0", GitCommit:"738b7603b042dcda7a5ba419ab0e7f40a617080c", GitTreeState:"clean"}
Is there something wrong with the RHEL's Kubernetes distribution in Atomic Host?
It turns out that Kubernetes caches api version stuff in ~/.kube and we recently upgraded to stable V1.2. This solved the issue:
rm -rf ~/.kube