卷“kube-api-access-cvwdt”的 MountVolume.SetUp 失败:对象“default”/“kube-root-ca.crt”未注册

MP3*_*P32 6 kubernetes amazon-eks

我只是尝试运行一个简单的批处理作业并收到此错误“卷“kube-api-access-cvwdt”的 MountVolume.SetUp 失败:对象“default”/“kube-root-ca.crt”未注册”

这是我在该 pod 上运行描述 pod 时的日志

  Normal   Scheduled    59s                default-scheduler  Successfully assigned default/stock-api to ip-192-168-63-5.us-west-2.compute.internal
  Normal   Pulling      58s                kubelet            Pulling image "mpriv32/stockapi:latest"
  Normal   Pulled       38s                kubelet            Successfully pulled image "mpriv32/stockapi:latest" in 19.862095063s
  Normal   Created      35s                kubelet            Created container stock-api
  Normal   Started      35s                kubelet            Started container stock-api
  Warning  FailedMount  33s (x3 over 34s)  kubelet            MountVolume.SetUp failed for volume "kube-api-access-cvwdt" : object "default"/"kube-root-ca.crt" not registered
Run Code Online (Sandbox Code Playgroud)

我的 job.yaml 文件用于创建 pod

apiVersion: v1
kind: Pod
metadata:
  name: stock-api
  labels:
    app: stock-api

spec:
  containers:
  - name: stock-api
    image: mpriv32/stock-api:latest
    envFrom:
    - secretRef:
        name: api-credentials
  restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)

以防万一它有所作为,我尝试在 EKS 上运行它

Fri*_*rdt 9

您可能会遇到 kubelet 上的一个错误,该错误已在此处讨论并已在 K8s 1.23.6 中修复。

失败应该是偶发的,因此对 Pod 进行简单的重新创建可能就可以修复它。更可靠的是,您可以升级 K8s 或禁用automountServiceAccountToken。这会阻止有问题的 CA 挂载到您的 Pod 中。由于仅需要 CA,因此如果您的 Pod 需要与 Kube API 服务器通信,那么无论如何,这都是一个明智的安全措施。