Openshift / Kubernetes:使用Yaml文件中的服务帐户中的令牌

时间:2019-02-08 15:52:59

标签: templates kubernetes yaml openshift environment

我目前有以下问题。我正在创建一个模板,在其中指定ServiceAccount和RoleBinding。 Openshift会自己创建一个令牌,并将其存储在名称为[service-account-name]-[a-z,1-9 {5}]的秘密中。现在,我想将该秘密传递给一个env变量(因为它将被该容器中可以处理env变量的另一个配置使用)

现在,您可以轻松使用env变量,例如

env:
- name: something
  valueFrom:
    secretKeyRef:
      name: someKey
      key: someValue

但是,现在我有了一个问题,那就是秘密,但是我不知道确切的名称是随机的。现在我的问题是

是否可以在模板中使用服务帐户的机密内容?

1 个答案:

答案 0 :(得分:0)

您可以通过运行以下命令来检查您的机密 kubectl get secret,然后通过运行kubectl describe secret mysecret进行查看。您需要decode进行查看(我没有使用OpenShift的经验)。您还可以按照here的说明将它们用作环境变量。
至于ServiceAccount和令牌,您可以在OpenShift documentation

中指定的容器内使用它
  

包含用于pod服务帐户的API令牌的文件为   自动安装在   /var/run/secrets/kubernetes.io/serviceaccount/token。

我认为您可以将文档中的命令添加到Pod模板中的command:部分中,类似于此example。另外,您还可以找到有关使用机密here的更多信息。