为什么/var/run/secrets/kubernetes.io/serviceaccount/token是Pod中的空文件?

时间:2017-12-08 20:24:09

标签: kubernetes minikube

我正在使用香草迷你盒环境。

我没有在我简单的Pod .yaml文件中指定任何与服务帐户相关的说明。

在已部署的Pod中,/var/run/secrets/kubernetes.io/serviceaccount/token为空。造成这种情况的可能原因是什么?

2 个答案:

答案 0 :(得分:1)

如上所述in the docs

  

在版本1.6+中,您可以通过在服务帐户上设置automountServiceAccountToken:false来选择停用服务帐户的自动挂载API凭据:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: build-robot
automountServiceAccountToken: false
  

在版本1.6+中,您还可以选择退出特定广告连播的自动挂载API凭据:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  serviceAccountName: build-robot
  automountServiceAccountToken: false

因此请仔细检查您的pod文件并检查您的ServiceAccount配置 kubectl describe serviceaccount build-robot以查看您是否停用了自动挂载功能。

答案 1 :(得分:0)

我在Ubuntu 18.04上的minikube v1.13.1上遇到了这个问题,使用“无”驱动程序在Docker 19.03.6上运行Kubernetes v1.19.2。

我看到在Kubernetes中正确填充了serviceaccount令牌密钥,并且已将其作为每个Pod的卷装入,但是目录(在Pod中和在节点本身上)都是空的。

我发现问题是由禁用“存储供应商”插件引起的,并通过重新启用它来解决。