我这样设置我的秘密:
$ kubectl create secret generic aws-region VAL=eu-west-1
> -o yaml --dry-run | kubectl replace -f -
secret "aws-region" replaced
似乎已设置:
kubectl get secret | ack region
aws-region Opaque 0 20m
我试着这样读:
76 - name: AWS_REGION
77 valueFrom:
78 secretKeyRef:
79 name: aws-region
80 key: VAL
但当我运行kubectl apply -f service.yml
时,会出现一个CreateContainerConfigError我做错了什么?
由于您只向我们展示了service.yaml
的一小部分,因此无法判断错误来自何处,但我可以确认以下工作(使用我在此处创建的测试吊舱(:
$ kubectl create secret generic aws-region --from-literal=VAL=eu-west-1
$ kubectl apply -f pod.yaml
$ kubectl describe po/envfromsecret
Name: envfromsecret
Namespace: default
...
Environment:
AWS_REGION: <set to the key 'VAL' in secret 'aws-region'> Optional: false
UPDATE:我现在注意到kubectl get secret
命令输出中的DATA
列实际上是0,也就是说,它是空的。考虑使用我上面使用的表单(与--from-literal=
一起(来创建机密。