无法读取我新创建的Kubernetes机密



我这样设置我的秘密:

$ 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=一起(来创建机密。

最新更新