代码之家  ›  专栏  ›  技术社区  ›  martins

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

  •  1
  • martins  · 技术社区  · 6 年前

    我把我的秘密设成这样:

    $ 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 我做错什么了?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Michael Hausenblas    6 年前

    因为你只给我们展示了 service.yaml 不可能知道错误来自何处,但我可以确认以下工作(使用我创建的测试盒 here ):

    $ 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
    

    更新 :我现在注意到 DATA 列在您的 kubectl get secret 命令实际上是0,也就是说,它是空的。考虑使用我上面使用的形式(与 --from-literal= )创造秘密。