【问题标题】:declaratively mount a service account secret in OpenShift在 OpenShift 中以声明方式挂载服务帐户密钥
【发布时间】:2019-06-20 06:46:14
【问题描述】:

我正在使用 helm 图表来部署一些 webhook 处理程序。处理程序需要连接到它们正在运行的集群才能在其中部署配置。它可以工作,但要进入 helm 图表有一个步骤很棘手。当图表创建服务帐户时,它会给它一个随机命名的秘密:

$ oc 描述 sa sa-build-webhook-realworld 名称:sa-build-webhook-realworld 命名空间:your-eng2 标签:app=sa-build-webhook-realworld 注释: 镜像拉取秘密:sa-build-webhook-realworld-dockercfg-4qz9g 可挂载的秘密:sa-build-webhook-realworld-token-bqtnw sa-build-webhook-realworld-dockercfg-4qz9g 代币:sa-build-webhook-realworld-token-bqtnw sa-build-webhook-realworld-token-k7lq8 事件:

我可以抓住它并将其设置在部署配置中:

#https://codereview.stackexchange.com/a/212095/75693
SECRET_NAME=$(
    oc describe sa sa-tag-realworld |
    awk -F': *' '
        $2  { KEY=$1 ; VALUE=$2;  }
        !$2 {          VALUE=$1; }
        KEY=="Mountable secrets" && VALUE !~ /docker/ { print VALUE }
    '
)
oc set volume dc/webhook-realworld \
  --add --name=sa-secret-volume \
  --mount-path=/sa-secret-volume \
  --secret-name=$SECRET_NAME

我正在尝试查看是否有一种方法可以在图表 yaml 中以声明方式执行此操作,同时创建 dcsa,即 here

有没有办法从图表中的部署配置中引用生成的服务帐户密码?

或者我应该尝试让 helm/helmfile 作为其工作的一部分进行命令行查找?

【问题讨论】:

  • 您可以使用 ServiceAccounts 来运行您的 pod,这可能值得探索:kubernetes.io/docs/tasks/configure-pod-container/…
  • great kubectl 显示 serviceAccountName: default,所以我会尝试将其放入图表中,然后查看自动挂载的密钥是否按照该文档工作。我会告诉你的。
  • 是的。 kubectl 提供了正确的服务帐户,并将其安装到默认位置,并且它希望我安装自己,如 diff diff /var/run/secrets/kubernetes.io/serviceaccount/token /sa-secret-volume/token 所确认
  • @WillGordon 如果您想发布答案,我会接受。干杯!

标签: openshift kubernetes-helm


【解决方案1】:

在您的 .spec.template.spec 中,您可以指定 serviceAccountName 以确保您的 pod 运行并作为所需的 ServiceAccount 进行身份验证。来源:https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

例子

kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
  name: deployment
spec:
    metadata:
      name: deployment-pod
    spec:
      serviceAccountName: sa-build-webhook-realworld
  ...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-08-31
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多