You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Kubernetes ServiceAccount Token传入容器环境变量?

可行,具体操作分两种情况:

情况1:Token来自Kubernetes自动生成的ServiceAccount Secret

Kubernetes会为你创建的test-sat-account自动生成一个包含Token的Secret(名称格式为test-sat-account-token-xxxx,可通过kubectl get secrets查看实际名称),你可以直接在Deployment的环境变量中引用这个Secret的token字段,无需额外挂载卷:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: your-dotnet-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dotnet-app
  template:
    metadata:
      labels:
        app: dotnet-app
    spec:
      serviceAccountName: test-sat-account
      containers:
      - name: dotnet-container
        image: your-dotnet-image:tag
        env:
        - name: SATToken
          valueFrom:
            secretKeyRef:
              name: test-sat-account-token-xxxx  # 替换为实际的Secret名称
              key: token

情况2:Token来自自定义的TokenProjection(已挂载到/var/run/secrets/tokens)

如果你的Token是通过tokenProjection方式挂载到指定路径的(比如设置了自定义过期时间),可以通过容器启动命令读取文件内容并注入环境变量:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: your-dotnet-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dotnet-app
  template:
    metadata:
      labels:
        app: dotnet-app
    spec:
      serviceAccountName: test-sat-account
      volumes:
      - name: sat-token
        projected:
          sources:
          - serviceAccountToken:
              path: token
              expirationSeconds: 7200  # 你的自定义过期时间
      containers:
      - name: dotnet-container
        image: your-dotnet-image:tag
        volumeMounts:
        - name: sat-token
          mountPath: /var/run/secrets/tokens
          readOnly: true
        command: ["/bin/sh", "-c"]
        args: ["export SATToken=$(cat /var/run/secrets/tokens/token) && exec dotnet YourService.dll"]

注意:这种方式需要容器镜像中包含/bin/sh和cat工具(大多数Linux镜像都自带),如果是极简镜像可能需要提前安装相关工具。

内容的提问来源于stack exchange,提问作者Abhijit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 11:22:11