templates - Openshift/Kubernetes:在 yaml 文件中使用服务帐户中的令牌
问题描述
我目前有以下问题。我正在创建一个模板,我在其中指定一个 ServiceAccount 和一个 RoleBinding。Openshift 自行创建一个 Token 并将其存储在名为 [service-account-name]-[az,1-9{5}] 的密钥中。现在我想将该秘密传递给一个环境变量(因为它将被该容器中可以处理环境变量的另一个配置消耗)
现在您可以轻松地使用环境变量,例如
env:
- name: something
valueFrom:
secretKeyRef:
name: someKey
key: someValue
但现在我遇到了问题,有一个秘密,但我不知道确切的名称,因为它的一部分是随机的。现在我的问题是
有没有办法在模板中使用服务帐户的秘密内容?
解决方案
您可以通过运行检查您的秘密
kubectl get secret
,然后通过运行查看更多信息。kubectl describe secret mysecret
您需要对其进行解码才能查看它(我没有使用 OpenShift 的经验)。您还可以将它们用作环境变量,如此处所述。
至于 ServiceAccount 和令牌,您可以在 OpenShift文档中指定的容器内使用它
包含 pod 服务帐户的 API 令牌的文件会自动挂载到 /var/run/secrets/kubernetes.io/serviceaccount/token。
我认为您可以将文档中的命令添加到 Pod 模板中command:
类似于此示例的部分。您还可以在此处找到有关使用机密的更多信息。
推荐阅读
- django - POST请求后如何在Django中返回重定向到上一页
- azure - RBAC 访问 Azure 存储 - 预览角色未按预期运行
- python - 在金字塔python框架中修改源代码时如何重启应用程序?
- amazon-web-services - Codestar 管道成功,但我的文件都不在我的 ec2 实例中
- django - Django-rest-frame 工作获取 oneToOne Filed 的详细信息
- java - 使用按钮 onClick() 为自定义视图设置动画
- c# - 将绑定参数传递给 PL SQL 更新语句
- node.js - 节点 js 生成过程挂起
- php - 在 Web 应用程序的有效页面之间获取带参数的路径?
- angular - 使用 Angular HttpClient 过滤结果